Android数据库(SQLite)框架——LitePal实战入门

来源:互联网 发布:如何优化404页面 编辑:程序博客网 时间:2024/05/21 09:32

转载请表明出处: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对用户数据的添删改查操作。

1 0
原创粉丝点击