Android 利用xUtils框架实现对sqllite的增删改查

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 利用xUtils框架实现对sqllite的增删改查相关的知识,希望对你有一定的参考价值。

首先下载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();
        }
    }
}

 

以上是关于Android 利用xUtils框架实现对sqllite的增删改查的主要内容,如果未能解决你的问题,请参考以下文章

Android 最火开发框架 xUtils

android-----XUtils框架之BitmapUtils源码分析

Xutils3框架使用

Android框架之高速开发框架xUtil

Android 开源框架 ( 五 ) xUtils --- Android 里的 ORM IOC聚合型框架

修复android 5.0 Xutils的框架问题retry error, curr request is null