【android LitePal框架的用法】

    xiaoxiao2021-03-25  104

    下面讲述一下 LitePal 数据库的用法。

    一:基本使用

    1.数据库的配置

    首先添加一个依赖:

    dependencies { ...... compile 'org.litepal.android:core:1.5.1' }

    然后如下图一样,创建出红框中的目录:

    在 litepal.xml 中完成如下配置:

    <?xml version="1.0" encoding="utf-8" ?> <litepal> <dbname value="BookStore"></dbname> <!-- 数据库的名字 --> <version value="1"></version> <!-- 数据库的版本号 --> <list> <!-- 配置数据库中相应的表,暂时不写 --> </list> </litepal>

    最后, 配置LitePalApplication。由于操作数据库时需要用到Context,而我们显然不希望在每个接口中都去传一遍这个参数,那样操作数据库就显得太繁琐了。因此,LitePal使用了一个方法来简化掉Context这个参数,只需要在AndroidManifest.xml中配置一下LitePalApplication,所有的数据库操作就都不用再传Context了,如下所示:

    <manifest> <application android:name="org.litepal.LitePalApplication" ... > ... </application> </manifest>

    有些程序可能会有自己的Application,这时只需要修改一下MyApplication的继承结构,让它不要直接继承Application类,而是继承LitePalApplication类,就可以使用一切都能正常工作了。

    2.创建表

    那么接下来我们就看一看LitePal中是如何建表的吧。根据对象关系映射模式的理念,每一张表都应该对应一个模型(Model),也就是说,如果我们想要建一张book表,就应该有一个对应的Book模型类。新建一个Book类,如下所示:

    public class Book extends DataSupport{ private int id; private String author; private double price; private int pages; private String name; private String press; public int getId() { return id; } public void setId(int id) { this.id = id; } ...... 生成相应的set,get方法。

    现在模型类已经建好了,我们还差最后一步,就是将它配置到映射列表当中。编辑assets目录下的litepal.xml文件,在标签中加入Book模型类的声明:

    <?xml version="1.0" encoding="utf-8" ?> <litepal> <dbname value="BookStore"></dbname> <version value="1"></version> <list> <mapping class="com.everyoo.bean.Book"></mapping><!-- 配置Book模型类,这里是Book 类的路径 --> </list> </litepal>

    好,目前基本上已经差不多了。调用一下面的方法,book表就应该已经创建成功了。

    SQLiteDatabase db = Connector.getDatabase();

    个人测试发现,该方法最好放在子线程中去执行。因为当我在UI线程中执行时,发现会报类似于这样的信息‘在主线程做了太对的工作’。而且感觉我的UI操作,有不到1s的卡顿情况。

    3.插入数据

    4.删除数据

    5.更新数据

    二:数据库的升级处理

    关于数据库的升级处理,LitePal框架做的还是比较好的。

    三:LitePal 的多数据操作

    细心的人会发现,以上的操作,都是在一个数据库中的。自 LitePal 的1.4.0版本之后,才支持创建多个数据库的功能。


    参考博客:

    郭林的博客: http://blog.csdn.net/sinyu890807/article/category/2522725

    框架git地址

    转载请注明原文地址: https://ju.6miu.com/read-23199.html

    最新回复(0)