Android数据库 之 开源LitePal
2016-03-29 18:39
549 查看
LitePal简介
LitePal是一款开源的Android数据库框架,它采用了对象关系映射(ORM)的模式,并将我们平时开发时最常用到的一些数据库功能进行了封装,使得不用编写一行SQL语句就可以完成各种建表、増删改查的操作。并且LitePal很“轻”,jar包只有100k不到,而且近乎零配置,这一点和Hibernate这类的框架有很大区别。目前LitePal的源码已经托管到了GitHub上,地址是 https://github.com/LitePalFramework/LitePal 。
LitePal配置
1.添加LitePal支持,下载jar,放入工程中,这里是Android Studio加载了jar包后再build文件中的配置显示 compile files(‘libs/litepal-1.3.1-src.jar’)
2.新建assets文件夹,并新建一个litelpal.xml文件,添加如下内容
3.创建数据模型,下面提供BookBean的代码,创建的数据模型格式代码如下:
3.Application继承LitePalApplication,或者通过下面方式
完成以上的步骤,那么数据库的基本配置就完成了,下面我们看下,LitelPal是如何操作数据库的增删改查操作的,当然,这里只给出部分功能的代码,其他的API,大家可以根据给出的示例,自行研究。
LitePal使用
1.数据库的插入操作
在这里提醒大家一句:使用litePal创建的不管是数据库的库还是数据库的表名,都是小写的名字,同时创建的数据库的表名是根据java bean的名字的所有小写格式创建的,所有数据表中的列名是根据实体类中属性的所有小写格式创建的。比如实体类名字是Bean ,则数据库的名字是bean;如果列名是timeStamp,则实际的列名是timestamp,即没有大写格式。
2.数据库查询功能
3.数据库删除功能
4数据库更新功能
好了,经过上述的代码呢,基本讲解了对LitePal的使用增删改查功能,当然,LitePal还有其他的一些统计,计数,获取最大最小值,获取首行数据,最后一行数据等功能,大家可以自己尝试着去使用一下,相对来说,litePal的API使用起来还是很简单的。
LitePal是一款开源的Android数据库框架,它采用了对象关系映射(ORM)的模式,并将我们平时开发时最常用到的一些数据库功能进行了封装,使得不用编写一行SQL语句就可以完成各种建表、増删改查的操作。并且LitePal很“轻”,jar包只有100k不到,而且近乎零配置,这一点和Hibernate这类的框架有很大区别。目前LitePal的源码已经托管到了GitHub上,地址是 https://github.com/LitePalFramework/LitePal 。
LitePal配置
1.添加LitePal支持,下载jar,放入工程中,这里是Android Studio加载了jar包后再build文件中的配置显示 compile files(‘libs/litepal-1.3.1-src.jar’)
2.新建assets文件夹,并新建一个litelpal.xml文件,添加如下内容
<?xml version="1.0" encoding="utf-8"?> <litepal> //数据库名称 <dbname value="sample" ></dbname> //数据库版本 <version value="1" ></version> <list> //添加的对应的java bean 模型 ,即创建的你要存储在数据库中的数据的模型 <mapping class="com.bean.BookBean"></mapping> </list> </litepal>
3.创建数据模型,下面提供BookBean的代码,创建的数据模型格式代码如下:
package com.bean; //首先创建的bean需要继承DataSupport,后面所有的数据库操作基本都是基于这个类进行操作的 public class BookBean extends DataSupport{ private long id; private String url; private String urlTitle; private String imageUrl; private long timeStamp; public long getTimeStamp() { return timeStamp; } public void setTimeStamp(long timeStamp) { this.timeStamp = timeStamp; } public long getId() { return id; } public void setId(long id) { this.id = id; } @Override public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getUrlTitle() { return urlTitle; } public void setUrlTitle(String urlTitle) { this.urlTitle = urlTitle; } public String getImageUrl() { return imageUrl; } public void setImageUrl(String imageUrl) { this.imageUrl = imageUrl; } @Override public String toString() { return "BookmarksBean{" + "id=" + id + ", url='" + url + '\'' + ", urlTitle='" + urlTitle + '\'' + ", imageUrl='" + imageUrl + '\'' + ", timeStamp=" + timeStamp + '}'; } }
3.Application继承LitePalApplication,或者通过下面方式
public class MyApplication extends Application { private static MyApplication instance; @Override public void onCreate() { super.onCreate(); instance = this; //初始化LitePalApplication LitePalApplication.initialize(this); } public static MyApplication getInstance() { return instance; } }
完成以上的步骤,那么数据库的基本配置就完成了,下面我们看下,LitelPal是如何操作数据库的增删改查操作的,当然,这里只给出部分功能的代码,其他的API,大家可以根据给出的示例,自行研究。
LitePal使用
1.数据库的插入操作
在这里提醒大家一句:使用litePal创建的不管是数据库的库还是数据库的表名,都是小写的名字,同时创建的数据库的表名是根据java bean的名字的所有小写格式创建的,所有数据表中的列名是根据实体类中属性的所有小写格式创建的。比如实体类名字是Bean ,则数据库的名字是bean;如果列名是timeStamp,则实际的列名是timestamp,即没有大写格式。
//完成以下代码,则会在数据表 bean 中创建一条下面所设置的信息的数据库语句。 Bean bean = new Bean(); bean.setUrl("baidu"); bean.setImageUrl("baidu.img"); bean.setTimeStamp(DateUtils.getCurrentTimestamp()-100000000+""); bean.setTitle("百度"); bean.save();
2.数据库查询功能
//查询数据库中的第二行数据 DataSupport.find(Bean.class,1);
//查询数据库中所有数据 DataSupport.findAll(Bean.class);
//通过数据库语句进行数据查询 Cursor cursor = DataSupport.findBySQL("select * from historybean where timestamp between " + 条件1+ " and " + 条件2);
//offset偏移20,即从第20行开始进行查询 //limit 限制查询20条数据 List<Bean> beans = DataSupport.order("id desc").offset(20).limit(20).find(Bean.class);
3.数据库删除功能
//下面的语句是删除所有数据,返回值为删除的数据库的行数 int i = DataSupport.deleteAll(Bean.class, "");
4数据库更新功能
ContentValues values = new ContentValues(); values.put("title", "微信"); DataSupport.update(Bean.class, values, 2);
好了,经过上述的代码呢,基本讲解了对LitePal的使用增删改查功能,当然,LitePal还有其他的一些统计,计数,获取最大最小值,获取首行数据,最后一行数据等功能,大家可以自己尝试着去使用一下,相对来说,litePal的API使用起来还是很简单的。
相关文章推荐
- android 中的内存泄露检测方案LEAKCANARY远离OOM
- Android Studio 2.0代码热更新
- Android命名规范
- android spanner下拉列表内容居中
- Android下打印调试堆栈方法
- android Shape全解析——再也不担心包size了
- 解决android方法数量超过65536
- EditText 键盘弹出后马上又退出问题
- Android Studio 离线安装 NDK
- Android开发库VUtils之MD5加密
- android项目框架中libs之**.so
- android 沉浸式状态栏
- 用ADT的FileExplorer查看android手机中的数据库
- 我们也说说Android.mk(1) - 从函数说起
- Android对中文url编码
- android 利用反射获取当前系统sdk版本等属性
- 探索MVP在Android中使用
- Android-drawable-shape
- android 用canvas绘制虚线
- android 从相机获取图片然后裁剪