日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android之LitePal 3.0 的基本使用

發布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android之LitePal 3.0 的基本使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.LitePal簡介

LitePal是一款開源的Android數據庫框架,它采用了對象關系映射(ORM)的模式,并將我們平時開發最常用到的一些數據庫功能進行了封裝,使得不用編寫一行SQL語句就可以完成各種建表和增刪改查的操作,并且LitePal很“輕”,jar包大小不到100k,而且近乎零配置,這一點和Hibernate這類的框架有很大區別。

GitHub : http://github.com/LitePalFramework/LitePal

二.LitePal的使用

1.添加依賴

在app/build.gradle文件中添加compile依賴如下:

dependencies {compile 'org.litepal.android:java:3.0.0' }
2.在assets目錄下創建litepal.xml配置文件

項目文件夾下New->Folder->Assets Folder創建相應的assets文件夾,然后在assets文件夾下創建一個名為litepal.xml的文件,編輯文件如下:

<?xml version="0.1" encoding="utf-8"?> <litepal><dbname value="lss0555_litepaldemo" /> // 數據庫名稱為litepaldemo,默認以 .db 結尾,如未以此結尾,則自動添加。<version value="1" /> // 數據庫版本為1,每次數據庫發生變動版本號必須+1<list> // 有幾張表就在list之間寫幾個mapping// list標簽中的實體類都應該繼承LitePalSupport這個類,這個千萬別忘記<mapping class="example.com.litepal.model.New"></mapping></list><storage value="lss0555/litepal/database" /> //storage 定義數據庫文件存儲的地方,可選 internal(內部) 和 external(外部), 默認為 internal </litepal>
3.在Application中初始化

在自己的application中加入一行代碼即可:

public class MyApplication extends Application { @Override public void onCreate() { super.onCreate();// 初始化LitePal.initialize(this); } ... }

經過上面3步的配置,LitePal就已經集成成功并可以正常使用了。

三.使用測試

1.實體類創建
/*** Created by lss0555 on 2019/3/11/011.* 從LitePal 2.0.0版本開始建議使用繼承LitePalSupport類,* DataSupport類已經被標為了廢棄,雖然暫時還可以正常工作,但是不建議再繼續使用了*/public class New extends LitePalSupport {private int id;//不為空@Column(nullable = false)private String title;@Columnprivate String detail;@Columnprivate String imgurl;
注意:
  • 不管實體類中有沒有id這個屬性,都會默認創建一個為整型的id字段,作為自增的主鍵
  • 如果實體類中有一個字段名為id,那么類型只能為int或者long
  • id字段的值始終為當前記錄的行號(下標從1開始),即使我們在實體類中定義了int或者long類型的id字段,在添加數據時人為的設置id的值為100,等其他值,查詢數據庫發現該id字段的值設置是無效的,她始終等于該條記錄所在的行id,即第幾條記錄。
  • 所有的column注解總共有四個,defaultValue的默認值為空字符,所以這個注解只能用以是String類型的字段,即字符型才有默認值
  • litepal支持的實體類字段映射類型為 int,long,double,float,byte[],boolean,String,Date;不支持String[]數組型

2.數據庫增刪改查操作

(1) .存儲操作
New aNew = new New();aNew.setTitle("新聞1");aNew.setDetail("詳情1");aNew.setImgurl("http://www.baidu.com");aNew.setUserid("lss0888");aNew.save();

save()方法是有返回值的,返回true代表添加成功,返回flase代表添加失敗。

save()是添加一條數據,批量添加是 LitePal.saveAll(news);

(2). 刪除記錄
//刪除數據庫中new表的所有記錄 LitePal.deleteAll(New.class); //刪除數據庫new表中id為1的記錄 LitePal.delete(New.class,1); //刪除數據庫new表中idn大于3的記錄 LitePal.delete(Movie.class, "id > ?" ,3);
(3). 修改記錄

1.根據條件修改

New aNew = new New(); aNew.setTitle("新聞11新聞11新聞11"); aNew.setDetail("詳情1新聞11新聞11新聞11"); aNew.setImgurl("http://www.baidu.com新聞11"); aNew.setUserid("lss0888新聞11"); aNew.update(11);

2.更新所有title為新聞1的記錄,將title字段設為標題2

New aNew = new New(); aNew.setTitle("標題2"); aNew.updateAll("title = ?", "新聞1");

3.多條件更新

New aNew = new New(); aNew.setTitle("新聞888"); aNew.setDetail("詳情888"); aNew.updateAll("title=? and detail=?", "標題2","詳情1");
(4). 查詢記錄

1.查詢所有

List<New> newList = LitePal.findAll(New.class);

2.查詢id為1

New aNew = LitePal.find(New.class, 1);

3.查找title新聞1的記錄,并且以id排序

List<New> aNew = LitePal.where("title = ?", "新聞1").order("id").find(New.class);

4.查找所有id齡小于2

List<New> aNew = LitePal.where("id < ?", "3").find(New.class);

5.多條件查詢

int age = 12;//條件一 String sex = "man";條件二 DataSupport.where("age = ? and sex = ?", "" + age, sex).find(Comment.class);//查詢表Comment
(5). 原始sql語句操作
Cursor select_ = LitePal.findBySQL(sql);

findBySQL()方法接收任意個字符串參數,其中第一個參數就是SQL語句,后面的參數都是用于替換SQL語句中的占位符的,用法非常簡單。另外,findBySQL()方法返回的是一個Cursor對象,這和原生SQL語句的用法返回的結果也是相同的。

(6). 刪除數據庫
LitePal.deleteDatabase("")
(7). 創建數據庫
LitePal.getDatabase()
(8). 混淆配置
-keep class org.litepal.** {*; }-keep class * extends org.litepal.crud.LitePalSupport{*; }
(9). 使用LitePal來完成升級表的操作:

包括新增一張表,新增表中的一個字段,刪除表中的一個字段,刪除表等,每一次的升級操作litepal.xml文件中數據庫的版本號都必須加1.
具體升級操作參考博客:

https://blog.csdn.net/guolin_blog/article/details/39151617

總結

以上是生活随笔為你收集整理的android之LitePal 3.0 的基本使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。