IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android开源库基础——LitePal -> 正文阅读

[移动开发]Android开源库基础——LitePal

LitePal是什么?

LitePal是Android开源的数据库框架,采用了对象关系映射(ORM)模式,方便开发者对数据库进行操作 。可通过ADB命令查看并操作数据库。

LitePal使用

添加依赖:

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

修改Manifest文件中的代码,在<Application>中指定name:

android:name="org.litepal.LitePalApplication"

如果已有自定义Application,则在其onCreate()中调用:

LitePalApplication.initialize(context);

创建数据库

新建名为Book的javabean类:

public class Book {
    private int id;
    private String author;
    private double price;
    private String name;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

在main目录下新建assets目录,再新建litepal.xml文件,其中dbname指定数据库名,version指定数据库版本号,list标签指定映射模型:

<?xml version="1.0" encoding="utf-8"?>
<litepal>
    <dbname value="BookStore"/>
    <version value="1"/>
    <list>
        <mapping class="com.example.demo0.Book"/>
    </list>
</litepal>

具体创建只需要调用以下方法:

Connector.getDatabase();

更新数据库

添加数据库字段可直接修改javabean类,新增数据库表则需要在litepal.xml添加映射,再次调用Connector.getDatabase()方法时会自动更新。

添加数据

首先要让javabean继承DataSupport

public class Book extends DataSupport

新建Book实例,最后调用save()方法即完成添加:

Book book=new Book();
book.setName("tom");
book.setAuthor("john");
book.setPrice(10);
book.setId(1);
book.save();

查询数据

查询全部数据:

List<Book> books = DataSupport.findAll(Book.class);
       for (Book book : books) {
           Log.d("MainActivity", book.getName() + book.getAuthor() + book.getPrice() + book.getId());
       }

查询指定列:

List<Book> books = DataSupport.select("name").find(Book.class);

按条件查询:

List<Book> books = DataSupport.where("name=?", "tom").find(Book.class);

对结果排序:

List<Book> books = DataSupport.order("id desc").find(Book.class);

限定结果数量:

List<Book> books = DataSupport.limit(2).find(Book.class);

更新数据

Book book = new Book();
book.setPrice(20);
book.updateAll("name=?", "tom");

删除数据

不指定条件则为删除全部数据

DataSupport.deleteAll(Book.class, "price=?", "20");

使用SQL访问

litepal也支持原生sql访问,但这样返回的结果为Cursor实例

Cursor cursor = DataSupport.findBySQL("select * from book");
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-08-04 11:19:40  更:2021-08-04 11:20:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 10:27:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码