Android之Litepal的使用

来源:互联网 发布:机器人算法工程师 编辑:程序博客网 时间:2024/05/29 18:12

首先添加依赖库
编辑build.gradle
在dependencies内加入以下代码
compile ‘org.litepal.android:core:1.5.0’ (1.5.0指当前版本,添加最新版本即可)
然后编辑AndroidManifest.xml文件在

< ?xml version="1.0" encoding="utf-8" ?>< litepal>    < dbname value="data"></dbname>  //数据库的名称    < version value="1"></version>   //数据库的版本    < list>        < mapping class=""/>        //这里加入类的绝对路径    < /list>< /litepal>

Litepal相对于sqlite的表来说,表的每一行相当于Litepal的中类的实例,每一列相当于类中的字段,一个类可以看作一个表,类名即为表名。
所以自己定义若干个继承DataSupport的类添加到litepal.xml文件中的中,相当于创建多个表。

创建数据库只需一句代码
Connector.getDatabase();

向表中加入数据只需声明一个类的实例并且初始化之后调用从父类DataSupport继承的save()方法即可。
向调用过.save或者从表中查找到的对象调用delete()方法可以从表中删除这一行。

删除数据需要DataSupport类的静态方法deleteAll(Class < ?> modelClass, String… conditions)其中参数为

  • 第一个参数表示要删除表的类
  • 后面的参数为限定删除哪些项
    例如deleteAll(Book.class,“number > ?”, “10“)为删除Book表中number大于10的项。

查找表可以调用DataSupport类的静态方法findAll()参数为表的类名。

也可以调用find方法配合其他静态函数的限定。
例如

    List< Book> lb=DataSupport.select("price","name")                                //只查找price和name两列                             .order("price desc")                                       //以price降序排列,desc表示降序,不写或者asc表示升序                             .where("price < ?","130")                            //限定为price<130的项,类似于上面deleteAll的后面的参数                             .offset(1)                            //从第几项开始查找                             .limit(5)                            //查找的项数,可以配合上面的offset()使用                             .find(Book.class);                            //查找的表的类

上面的函数可以连续使用,最后返回一个List

Lirepal也可以使用原生的sqlite进行操作
使用DataSupport的findBySQL();

原创粉丝点击