Android 利用xUtils框架實現對sqllite的增刪改查

来源:http://www.cnblogs.com/hyyweb/archive/2016/02/26/5220743.html
-Advertisement-
Play Games

首先下載xUtils,下載地址:https://github.com/wyouflf/xUtils 把下載好的文件壓縮,把裡面的jar包拷進項目中如圖所示: 這裡新建一個User類進行測試增刪改查 package com.example.xutilsdemo; public class User {


首先下載xUtils,下載地址:https://github.com/wyouflf/xUtils  把下載好的文件壓縮,把裡面的jar包拷進項目中如圖所示:

這裡新建一個User類進行測試增刪改查

package com.example.xutilsdemo;

public class User {
    private int id;
    private String name;
    private String email;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public User(String name, String email) {
        this.name = name;
        this.email = email;
    }
    public User(){
        
    }
    @Override
    public String toString() {
        return "User [id=" + id + ", name=" + name + ", email=" + email + "]";
    }
     
}

核心代碼:

package com.example.xutilsdemo;

import java.util.List;

import com.lidroid.xutils.DbUtils;
import com.lidroid.xutils.db.sqlite.Selector;
import com.lidroid.xutils.db.sqlite.WhereBuilder;
import com.lidroid.xutils.exception.DbException;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends Activity {

    //直接使用Dbutils,如果不能使用這個類,說明包沒有導入成功
    DbUtils db ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //創建資料庫,名稱為mydb
        db= DbUtils.create(this,"mydb");
    }

    //保存數據事件
    public void saveClick(View v){
        DbUtils db = DbUtils.create(this,"mydb");
        User user = new User("hyy","[email protected]"); //這裡需要註意的是User對象必須有id屬性,或者有通過@ID註解的屬性
        try {
            db.save(user);
            Toast.makeText(this, "ok",Toast.LENGTH_SHORT).show();
        } catch (DbException e) {
            // TODO 自動生成的 catch 塊
            e.printStackTrace();
        } // 使用saveBindingId保存實體時會為實體的id賦值
    }
    
    //查詢數據事件
    public void queryClick(View v){
        try {
            List<User> list=db.findAll(User.class);
            for (User user : list) {
                System.out.println(user);
            }
        } catch (DbException e) {
            // TODO 自動生成的 catch 塊
            e.printStackTrace();
        }
    }
    
    //根據條件查詢事件
    public void queryByClick(View v){
        try {
            User user=db.findFirst(Selector.from(User.class).where("name","=","hyy"));
            Toast.makeText(this,user.toString(), Toast.LENGTH_SHORT).show();
        } catch (DbException e) {
            // TODO 自動生成的 catch 塊
            e.printStackTrace();
        }
    }
    
    //更新數據事件
    public void updateClick(View v){
        User user=new User();
        user.setId(1);
        user.setName("huyuan");
        user.setEmail("[email protected]");
        
        try {
            db.update(user,"name","email");
        } catch (DbException e) {
            // TODO 自動生成的 catch 塊
            e.printStackTrace();
        }
    }
    //刪除事件
    public void deleteClick(View v){
        try {
            db.delete(User.class,WhereBuilder.b("id", "=", "1"));
        } catch (DbException e) {
            // TODO 自動生成的 catch 塊
            e.printStackTrace();
        }
    }
}

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 單例模式 單例模式幾乎是設計模式中最簡單的形式了。在使用單例時,單例對象的類必須保證只有一個勢力存在。許多時候整個系統只需要擁有一個全局對象。保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。經常用於設計約束或者為了控制對有限資源的訪問。 單例模式的實現思路:一個類只能創建一個實例(永遠是同一個
  • 開源中國android端版本號:2.4 啟動界面: 在AndroidManifest.xml中找到程式的入口, 屏幕方向設置為豎屏,主題為AppStartLoad,關於它的定義如下: welcome.png就是啟動頁顯示的圖片,填充了整個屏幕。 AppS...
  • 1 在ViewPager的適配器中的getCount()長度設置無限大Integer.MAX_VALUE 2 明白當前currentIten 為position % images.length; 3 設置一開始ViewPager的位置 viewPager.setCurrentItem((images
  • 學習筆記 compileDebugJavaWithJavac,缺少插件,在module app gradle文件最上面添加一段 apply plugin: 'me.tatarka.retrolambda'(插件根據需要添加,此處為支持lambda表達式的插件)添加好以後還得在priject app
  • Print Description of "string":把 string 的信息輸出到控制台。Copy:複製 string 的信息,包含變數名,類名和值。View Value As:以什麼類型的格式來查看變數,預設情況下會自動推斷類型。Edit Value:可以直接修改變數的值。在 Swift中
  • 前情提要:我的測試機是華為榮耀6,我裝過一個16G的記憶體卡 因為要面試的需要,我的一個演示項目用的是android本地的WebService。然而寫好的webService部署到本地上,應用怎麼獲取數據都報錯了,只有幾個返回的僅僅是字元串的沒有問題。查看了代碼,正常的部分都是直接返回字元串的。不正常
  • pulltorefresh插件可以輕鬆實現上拉下拉刷新,github.com上直接搜索進行下載。 佈局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ptr="http://sc
  • 這篇文章解釋了Java 虛擬機(JVM)的內部架構。下圖顯示了遵守 Java SE 7 規範的典型的 JVM 核心內部組件。 上圖顯示的組件分兩個章節解釋。第一章討論針對每個線程創建的組件,第二章節討論了線程無關組件。 線程 JVM 系統線程 每個線程相關的 程式計數器 棧 本地棧 棧限制 棧幀 局
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...