Android 操作数据库并不是一键容易的事情,麻烦的SQL语句,复杂的流程,但是,在编程中,我们只要记住,你觉得麻烦的时候,别人一样也会觉得麻烦,你不会封装总有人会,总会有一个你用的舒心的,andBase框架就是一个很好用的框架,里面封装了很多常用的功能,使用简单,而且你拿到源码后哪一项不想要了直接删除,重新编译都不会出问题,因为代码耦合性很低,话不多少了,我们来说一下如何使用andBase框架的DB功能,最后附上AndBase框架的源码和Jar包。
我们拿一个地址实体为例子:
首先创建实体类:
/**
* 数据库Address的实体类
*
* @author wkl
*
*/
@Table(name = "t_address")
public class Address implements Serializable {
private static final long serialVersionUID = 15616151L;
// 地址ID
@Id
@Column(name = "id")
private int id;
// 大致地址
@Column(name = "address_city")
private String address_city;
// 详细地址
@Column(name = "address_detail")
private String address_detail;
//get....set....
}
@Table : 数据库表明
@Id : 数据库Id字段,默认自增长
@Column 数据库字段名称
接下来我们来看一下如何创建DBHelper
/**
* 负责相关实体与表的操作
*
* @author wkl
*
*/
public class DBHelper extends AbSDDBHelper {
// 数据库名称
private static final String DBNAME = "address.db";
// 数据库 存放路径
private static final String DBPATH = "/data/data/com.wkl.beavers";
// 当前数据库的版本
private static final int DBVERSION = 2;
// 要初始化的表
private static final Class<?>[] clazz = { <span style="color:#FF6666;">Address.class </span>};
public DBHelper(Context context) {
super(context, DBPATH, DBNAME, null, DBVERSION, clazz);
}
}
只需要这样,数据库表自己就创建好了,那我们如何使用它的,我们往下看,首先写一个Dao层
/**
* 服务地址操作数据库
*
* @author wkl
*
*/
public class AddressDao extends AbDBDaoImpl<Address> {
public AddressDao(Context context) {
super(new DBHelper(context), Address.class);
}
}
这样就够了,里面自己有封装好了增删改查等常用方法包括下面图片所示:
方法这么多,够你用了的,这块也不多唠叨了,最后一个。如何使用呢?以查询地址为例
/**
* 查询地址集合
*/
@Override
public List<Address> queryAddressList(Context context) {
AddressDao addressDao = null;
try {
addressDao = new AddressDao(context);
addressDao.startReadableDatabase();
return addressDao.queryList();
} catch (Exception e) {
} finally {
if (addressDao != null) {
addressDao.closeDatabase();
}
}
return null;
}
那么我们的AndBase框架的db已经介绍完毕,下面是AndBase源码的地址,和本次案例源码的地址,本次案例框架使用的是Android中的MVP
程序案例地址:
点击打开链接:SqLite的增删改查,其中集成了百度定位,侧滑删除
AndBase框架源码: