郭霖LitePal


  • 由于项目需要开始学习sqlite

一开始先学习使用的是 android ormlite 操作 从最基本的建表增删改查一路走来 磕磕碰碰很多 都是在内存中操作sqlite 只能通过sqlitestudio工具进行查看 不能导出 并且应用卸载数据表就丢失 

最终考虑在sd卡中操作sqlite 但是ormlite 并没有这方面的接口 很苦恼 经过几天的百度和乱啃也写出了一个暂时没有bug的逻辑方法 总体来说代码量比较多 操作起来比较麻烦一些 mmp 我现在得回头一点一点修改 希望一切顺利

今天简单的学习了郭神的LitePal以后发现以前的难题都不叫事 不过感叹以前的付出总没有白费 也确实看到了自己的不足 还是得多学习 

  • 对于LitePal的整理如下:

大雄童鞋的整理很到位 


为了加深印象这里主要从大雄童鞋
那再整理下后续迭代的版本,也是在第一行代码中未涉及到的:

LitePal 1.3.1发布了,从此支持图片存储! 
http://mp.weixin.qq.com/s/7tDifDvOHr7YI7zCS9fpmQ

你们要的多数据库功能终于来了 
http://mp.weixin.qq.com/s/C7nbJXOS9lYPgOda-8Pw0A

LitePal 1.5.0版本发布,你想要的都在这里 
http://mp.weixin.qq.com/s/GXPkrkiHk4MWNnpCLzTf_Q

LitePal 1.6.0版本来袭,数据加解密功能保障你的应用数据安全 
https://mp.weixin.qq.com/s/TSp36cnKLxUmAHjT86UCrQ


  • 1.6.0版本有自己需要的数据库保存SD卡的更新 很开心 并且有数据库的加密 也不怕SD卡的数据出现安全问题


基本的操作:

  • gradle中添加相应依赖:
//由郭霖开源的 Android 数据库框架 此处用于sqlite
    compile 'org.litepal.android:core:1.6.1'
    compile files('libs/SQLiteStudioRemote.jar')

添加 assests 文件夹并且新建 litepal.xml 文件



<?xml version="1.0" encoding="utf-8"?>
<litepal>
    <!--修改存储路径SD卡-->
    <storage value="Mystudy" />


    <!--数据库名-->
    <dbname value="BookStore"></dbname>
    <!--数据库版本号-->
    <version value="3"></version>
    <!--映射模型,稍后用到-->
    <list>

        <mapping class = "com.sdhmw.com.mystudy.Book"></mapping>
        <mapping class = "com.sdhmw.com.mystudy.Category"></mapping>

    </list>
</litepal>
  • 配置文件中添加
android:name="org.litepal.LitePalApplication"
<application

        android:name="org.litepal.LitePalApplication"

        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"

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

还有一种更复杂的情况暂时没遇到

参考:https://blog.csdn.net/guolin_blog/article/details/38556989



  • 创建javabean 对象(面向对象思想)
//CRUD操作必须继承DataSupport
public class Book extends DataSupport{

    //表关联
    private Category category;

    public Category getCategory() {
        return category;
    }

    public void setCategory(Category category) {
        this.category = category;
    }


    private int id;
    private String author;
    private double price;
    private int pages;
    private String name;
然后就可以操作数据库建表CRUD了
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿姨不可以嘛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值