转载请表明出处:http://blog.csdn.net/iwanttohitren/article/details/51660116
首先,引用一下百度百科对LitePal的定义:LitePal是GitHub上一款开源的Android数据库框架。LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式,将平时开发时最常用的一些数据库功能进行了封装,使得开发者不用编写一行SQL语句就可以完成各种建表、増删改查的操作。并且LitePal很“轻”,jar包大小不到100k,而且近乎零配置,这一点和Hibernate这类的框架有很大区别。目前LitePal的源码已经托管到了GitHub上。下面从一个简单的例子开始解说LitePal的
第一步:导入库
eclipse开发环境:首先下载jar,建议下载最新版本的,然后放入你新建工程的libs中
AndroidStudio开发环境:修改你新建工程的build.gradle,增加一个新的依赖库,如下:
dependencies {
compile 'org.litepal.android:core:1.3.2'
}
第二步:新建并配置litepal.xml
在AndroidStudio开发环境下,在app/src/main文件夹下新建assets文件夹,然后在assets文件夹下新建litepal.xml文件,文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<litepal>
<!--
这里是你的android数据库的名字,可以直接写一个名称,框架会自动给你加上名
称.db,例如下面的例子的结果为生成一个userinf.db的数据库。例:
<dbname value="userinf" ></dbname>
-->
<dbname value="userinf" ></dbname>
<!--
这里是数据库的版本,就像我们使用SqliteOpenHelper建立数据库一样,第一次建
立数据库需要给数据库一个版本。如果想更新数据库的设置,只要在此基础上加1就可
以了。例:
<version value="1" ></version>
-->
<version value="1" ></version>
<!--
这里是实体类和数据库中的表的映射配置,一个类对应数据库中一张表,类中的一个字
段对应表中的一列。例:
<list>
<mapping class="com.tianlanse.mvpdemo.bean.UserBean"></mapping>
</list>
-->
<list>
<mapping class="com.tianlanse.mvpdemo.bean.UserBean"></mapping>
</list>
<!--
这个是定义数据userinf.db存储在哪里,有两个参数"internal"和"external"可
以选择。"internal"表示数据库存储在数据库文件夹的内部存储中,其他人不能访
问。"external"表示存储在外部的存储中,所有人可以访问。默认情况下
是"internal"。例:
<storage value="external"></storage>
-->
</litepal>
app文件夹目录的结构图如下:
第三步:配置Application
使用过第三方平台或者框架的同志们应该对这一步不陌生,在使用第三方的平台或者框架之前,需要在Application中初始化它们。这里我们新建一个MyApplication类(我是建立在MainActivity同级目录下了),继承LitePalApplication。然后在AndroidManifest.xml文件下配置MyApplication的路径,代码如下:
MyApplication.java
public class MyApplication extends LitePalApplication {
}
AndroidManifest.xml
<application
android:name=".MyApplication"
.......
</application>
第四步:新建实体类
实体类需要继承LitePal的DataSupport,类中的字段可以添加注解。新建一个用户类UserBean,包括用户ID,姓名,年龄。代码如下:
public class UserBean extends DataSupport{
@Column(unique = true,nullable = false)
private int mId;
@Column(nullable = false)
private String mName;
@Column(nullable = false)
private String mAge;
//getter和setter
...
}
然后再litepal.xml中添加类和表的映射:
<list><mapping class="com.tianlanse.mvpdemo.bean.UserBean"></mapping>
当建立数据库的时候,数据库中就会自动生成userbean表,并且包含mId,mName,mAge三列。生成数据库的语句如下:
SQLiteDatabase db = Connector.getDatabase();
第五步:生成数据库
上面我们已经写了生成数据库的语句,我们只需在MainActivity类中的onCreate()方法中调用一下就ok了,代码如下:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//生成数据库
SQLiteDatabase db = Connector.getDatabase();
}
}
部署并运行一下整个程序,正常运行程序后,在DDMS管理器中的file explorer下的data/data/包名/databases文件夹下回看到生成的数据userinf.db,效果如下图:
导出数据库,用Sqlite expert工具打开userinf.db数据库后,查看userbean表效果如下:
到这里使用开源框架LitePal成功创建了用户数据库和用户信息表,配置和操作是不是很简单。下一篇:我们将涉及使用LitePal对用户数据的添删改查操作。