Android:配置LitePal 3.0

  • LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式,将平时开发时最常用的一些数据库功能进行了封装,使得开发者不用编写一行SQL语句就可以完成各种建表、増删改查的操作。

 

  • 要使用LitePal 3.0,第一步就是编辑app/build.gradle文件,在dependencies闭包中添加如下内容:
    implementation 'org.litepal.android:java:3.0.0'
  • 添加完依赖之后,还需要配置litepal.xml文件。右击app/src/main目录–>New–>Directory,创建一个assets目录(也可以app/src/main目录–>New–>Folder->Assets Folder),然后在assets目录下再新建一个litepal.xml文件,并对litepal.xml文件进行编辑,写入如下内容:

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <litepal>
     3     <dbname value="demo" />
     4 
     5     <version value="1" />    
     6 
     7     <list>
     8         <mapping class="com.example.litepal_test.Book"></mapping>
     9     </list>
    10 </litepal>

    以上代码是添加了一个Book类的映射,其中dbname标签用于指定数据库名, version标签用于指定数据库版本号, list标签用于指定所有的映射模型(mapping 标签中的"com.example.litepal_test"为项目的包名,注意要替换成自己的包名)。

 

  • 最后只需要在AndroidManifest.xml中配置一下LitePalApplication就能使用LitePal了!
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        …………
        <application
            android:name="org.litepal.LitePalApplication"
            …………
            …………
        </application>
    
    </manifest>

     

  • 值得一提的是,在LitePal 3.0中,DataSupport已经被弃用,改用LitePalSupport 。假设要建立一个Book类的表,并对该表进行CRUD操作,需要使该类继承LitePalSupport.如下所示:
     1 public class Book extends LitePalSupport {
     2     private String name;
     3     private String author;
     4     private double price;   //书名、作者、价格
     5 
     6     public String getName() {
     7         return name;
     8     }
     9 
    10     public void setName(String name) {
    11         this.name = name;
    12     }
    13 
    14     public String getAuthor() {
    15         return author;
    16     }
    17 
    18     public void setAuthor(String author) {
    19         this.author = author;
    20     }
    21 
    22     public double getPrice() {
    23         return price;
    24     }
    25 
    26     public void setPrice(double price) {
    27         this.price = price;
    28     }
    29 }

     

  • 现在只要对数据库有任何操作,指定的数据库表就会自动被创建。比如获取SQLiteDatabase实例:
    SQLiteDatabase db = LitePal.getDatabase();

     

  • 文章的最后,附上LitePal项目的主页:https://github.com/LitePalFramework/LitePal
  • CSDN地址:https://blog.csdn.net/qq_43529443/article/details/90900623

  

posted @ 2020-04-13 12:16  凤青  阅读(733)  评论(0编辑  收藏  举报