zoukankan      html  css  js  c++  java
  • 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","272958293@qq.com"); //这里需要注意的是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("272958293@qq.com");
            
            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();
            }
        }
    }
  • 相关阅读:
    【转】虚拟机 NAT网络设置
    [转载]应用 Valgrind 发现 Linux 程序的内存问题
    Visual Studio 代码格式化插件(等号自动对齐、注释自动对齐等)
    【转】链接任意目录下库文件(解决错误“/usr/bin/ld: cannot find -lxxx”
    C语言实现封装、继承和多态
    美国专利搜索网站
    【转】基于OCS实现高速缓存
    【转】防止网页被搜索引擎、爬虫和网页采集器收录或克隆复制的方法汇总
    [转]机器学习和计算机视觉----数学基础
    [转]机器学习与数据挖掘的学习路线图
  • 原文地址:https://www.cnblogs.com/hyyweb/p/5220743.html
Copyright © 2011-2022 走看看