LitePal

Android 数据库
LitePal是一个开源的Android库,允许开发人员非常容易地使用SQLite数据库。
2019-05-26 1 1 我要收藏

LitePal是一个开源的Android库,允许开发人员非常容易地使用SQLite数据库。您无需编写SQL语句即可完成大部分数据库操作,包括创建或升级表,crud操作,聚合函数等。LitePal的设置也非常简单,你可以在短时间快速集成到自己项目中。

特点

  1. 使用对象关系映射(ORM)模式;
  2. 几乎为零配置(只有一个属性很少的配置文件);
  3. 自动维护所有表(例如,创建,更改或删除表)。
  4. 支持多数据库;
  5. 封装的API,用于避免编写SQL语句;
  6. 流畅的请求API;
  7. 仍然能使用SQL语句,但比原始API更易用。

实用方法:

  1. 编辑build.gradle文件并添加以下依赖项。

Java:

dependencies {
    implementation 'org.litepal.android:java:3.0.0'
}

Kotlin:


dependencies {
    implementation 'org.litepal.android:kotlin:3.0.0'
}
  1. 配置litepal.xml

在项目的assets文件夹中创建一个文件,并将其命名为litepal.xml。然后将以下代码复制到其中。

<?xml version="1.0" encoding="utf-8"?>
<litepal>
    <!--
        Define the database name of your application. 
        By default each database name should be end with .db. 
        If you didn't name your database end with .db, 
        LitePal would plus the suffix automatically for you.
        For example:    
        <dbname value="demo" />
    -->
    <dbname value="demo" />

    <!--
        Define the version of your database. Each time you want 
        to upgrade your database, the version tag would helps.
        Modify the models you defined in the mapping tag, and just 
        make the version value plus one, the upgrade of database
        will be processed automatically without concern.
            For example:    
        <version value="1" />
    -->
    <version value="1" />

    <!--
        Define your models in the list with mapping tag, LitePal will
        create tables for each mapping class. The supported fields
        defined in models will be mapped into columns.
        For example:    
        <list>
            <mapping class="com.test.model.Reader" />
            <mapping class="com.test.model.Magazine" />
        </list>
    -->
    <list>
    </list>

    <!--
        Define where the .db file should be. "internal" means the .db file
        will be stored in the database folder of internal storage which no
        one can access. "external" means the .db file will be stored in the
        path to the directory on the primary external storage device where
        the application can place persistent files it owns which everyone
        can access. "internal" will act as default.
        For example:
        <storage value="external" />
    -->

</litepal>

这是唯一的配置文件,属性很简单。

dbname配置项目的数据库名称。version配置数据库的版本。

每次要升级数据库时,加上此处的值。

list配置映射类。

storage configure配置数据库文件的存储位置。内部和外部是唯一有效的选择。

  1. 配置LitePalApplication

您不希望始终传递Context参数。要简化API,只需在AndroidManifest.xml中配置LitePalApplication,如下所示:

<manifest>
    <application
        android:name="com.example.MyOwnApplication"
        ...
    >
        ...
    </application>
</manifest>

在Application实例化:

public class MyOwnApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        LitePal.initialize(this);
    }
    ...
}

传给initialize函数的参数应使用Application的上下文作为参数。不要将任何Activity或Service的上下文用作参数,否则可能会发生内存泄漏。

LitePal 相关推荐 提交推荐
详细介绍了LitePal的集成方式和实用方法
From Mix1993
请文明评论,与人为善,比聪明更重要!
评论(1)