LitePal

2018-12-27  本文已影响0人  Zcurry

关于LitePal(github地址)

三步曲:
1. 添加依赖:api 'org.litepal.android:java:3.0.0'
2. 在assets中生成litepal.xml文件;具体内容查看litepal.xml
3. application继承LitePalApplication  或者添加:LitePal.initialize(this);
<?xml version="1.0" encoding="utf-8"?>
<litepal>
    <!--设定数据库的名字-->
    <dbname value="curry"></dbname>

    <!--设定数据库的版本号[需要纯数字]-->
    <version value="2"></version>

    <!--用于设定所有的映射模型-->
    <list>
        <mapping class="com.curry.basic.test.TestBean"></mapping>
        <mapping class="com.curry.basic.test.AllBean"></mapping>
        <mapping class="com.curry.basic.test.ChildBean"></mapping>
        <mapping class="com.curry.basic.test.OnlyBean"></mapping>
    </list>
</litepal>

其他:

SQLite不支持删除列的命令吗?那LitePal又是怎样做到的呢?
其实LitePal并没有删除任何一列,它只是先将comment表重命名成一个临时表,
然后根据最新的Comment类的结构生成一个新的comment表,
再把临时表中除了publishdate之外的数据复制到新的表中,最后把临时表删掉。
因此,看上去的效果好像是做到了删除列的功能。

PS:

在module中也可正常使用,xml放在module中的assets文件中,主工程是可以正常调用的。(亲试有效哦)

参考/感谢:郭霖Android数据库高手秘籍

上一篇下一篇

猜你喜欢

热点阅读