网络连接之——xUtils 介绍(三)

前面的文章,我们介绍了ViewUtils和HttpUtils,这里我们来再来介绍一下剩下的两个组件:DbUtils和BitmapUtils。
可以参考大神博客哈:
http://blog.csdn.net/lanyeming2012/article/details/14147975

DbUtils

大家都知道,在Android里面如果要存储一个对象,我们需要创建一个SQLiteOpenHelper,然后还得创建一张对应对象各个属性的表,还得继续把我们的对象转换成ContentValues,进而去存储。真心是麻烦的不能再麻烦了,我们现在介绍的DbUtils就能让你轻松解脱麻绳一样的代码。DbUtils在进行save操作的时候,会根据java反射反射出对象的各个字段,然后去查询数据库中是否存在这个对象类型对应的表,如果表已经存在,直接进行插入操作;如果不存在,就先动态的创建的一张对应我们对象的表,再进行插入处理。
这里插入一个小知识点:由于我们使用xUtils时需要导包,而使用studio时导包很容易,直接从Dependences处搜索,下载即可,而它存到了哪里很多人却并不知道。楼主废了九牛二虎之力终于找到了它在项目下的路径哈:项目路径\app\build\intermediates\exploded-aar.

补充:

注意:并不是所有的实体对象都快可以通过这种方式去存储,一定要保证对象的类型中有int类型的id或者_id的属性,这就对应数据库表中的主键字段。如果类型中没有id字段,可以通过@Id注解去指定一个int类型的字段作为主键。如果表中的又字段不想被存储在数据库中,也可以通过@Transient去实现忽略。如果直接存储一个对象的列表,这样也是被允许的,达到批量存储的目的。

数据类model的注解设置:

@Table(name="user")    //注解数据表名
public class User {
    @Id(column="id") //或者使用@Column(column="id")
    private String id;
    private String name;//由于name和password和数据库表中的列名一致,可以不进行注释,否则必须注释
    private String password;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }



}


解析:使用@Table(name=”user”)来注解表名,使用@Id(column=”id”)来注解id,其他属性如果名字和数据表中的列名一致,可以不用进行注解。

使用DbUtils进行数据的操作:

DbUtils dbUtils = DbUtils.create()//创建数据库

  • 插入:
    这里写图片描述
  • 查找:
DbUtils dbUtils = DbUtils.create(this,"MY_FIRST_DB.db");
            try {
                List<User> users = dbUtils.findAll(Selector.from(User.class));//2.获得所有数据,从User类中,根据注解
                for(User user:users){
                    Log.d("cursor", "用户名"+user.getName()+"密码"+user.getPassword());
                }
            } catch (DbException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }


解析:先利用DbUtils中的create()方法创建数据库,然后使用其findAll()方法进行查找。

  • 修改:
    这里写图片描述
  • 删除:
    这里写图片描述
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值