首页 > 编程知识 正文

Android数据库LitePal的基本用法详解 已解决,haveto的基本用法

时间:2023-05-04 18:43:06 阅读:221028 作者:1684

LitePal 简介

LitePal 是一款开源的 Android 数据库框架,它采用了对象关系映射(ORM)的模式,将我们平时使用的一些数据库(比如 Sqlite)功能进行了封装。

配置 第一步

gradle注入:

implementation 'org.litepal.android:core:1.6.1'

这里我的版本是1.6.1的,如果想获得最新版本,请看这里:https://github.com/LitePalFramework/LitePal

第二步

接着需要配置 litepal.xml 文件,在 app/src/main 目录右键 -> New -> Directory , 创建一个 assets 目录,在该目录下新建一个 litepal.xml 文件,编辑内容如下:

<?xml version="1.0" encoding="utf-8"?><litepal> <dbname value="person" ></dbname> <version value="1" ></version> <list> <mapping class="com.example.a10212.litepalapp.Person"></mapping> </list></litepal>

说明: 用于设定数据库的名字,用于设定数据库的版本号,用于设定所有的映射模型

配置LitePalApplication

由于操作数据库时需要用到Context,而我们显然不希望在每个接口中都去传一遍这个参数,那样操作数据库就显得太繁琐了。因此,LitePal使用了一个方法来简化掉Context这个参数,只需要在AndroidManifest.xml中配置一下LitePalApplication,所有的数据库操作就都不用再传Context了。

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.a10212.litepalapp"> <application android:name="org.litepal.LitePalApplication" ········· </application></manifest>

如果已经有了Application,需要改变一下Application的继承结构。继承LitePalApplication。但是,有些程序可能会遇到一些更加极端的情况,比如说MyApplication需要继承另外一个AnotherApplication,并且这个AnotherApplication还是在jar包当中的,不能修改它的代码。这种情况应该算是比较少见了,但是如果你遇到了的话也不用急,仍然是有解释方案的。你可以把LitePal的源码下载下来,然后把src目录下的所有代码直接拷贝到你项目的src目录下面,接着打开LitePalApplication类,将它的继承结构改成继承自AnotherApplication,再让MyApplication继承自LitePalApplication,这样所有的Application就都可以在一起正常工作了。

以上配置就完成了。

建表

根据对象关系映射模式的理念,每一张表都应该对应一个模型(Model),也就是说,如果我们想要建一张news表,就应该有一个对应的News模型类。新建一个User类,表中的每一列其实就是对应了模型类中的一个字段,比如表中有id、name、age、gender 类中就也应该有这几个字段。id作为主键

package com.example.a10212.litepalapp;import org.litepal.crud.DataSupport;public class Person extends DataSupport{ String name; int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }}

LitePal的映射规则是非常轻量级的,不像一些其它的数据库框架,需要为每个模型类单独配置一个映射关系的XML,LitePal的所有映射都是自动完成的。根据LitePal的数据类型支持,可以进行对象关系映射的数据类型一共有8种,int、short、long、float、double、boolean、String和Date。只要是声明成这8种数据类型的字段都会被自动映射到数据库表中,并不需要进行任何额外的配置。

现在只要对数据库有任何操作,user表就会自动被创建。比如获取SQLiteDatabase示例。

List<Person> persons=DataSupport.findAll(Person.class); 运行结果 1.输入数据

2.读出数据

3.Sqlite数据库查看

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。