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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

【Android -- 数据存储】LitePal 的基本使用

發布時間:2023/12/10 Android 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android -- 数据存储】LitePal 的基本使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目前最新版本是 3.2.3。
GitHub:LitePal

基本用法

1. 在 build.gradle 添加依賴:

// 數據庫implementation 'org.litepal.guolindev:core:3.2.3'

2. 在 assets 配置 litepal.xml

<?xml version="1.0" encoding="utf-8"?> <litepal><dbname value="lottery" ></dbname><version value="1" ></version><list><mapping class="com.hk.hktlottery.db.Prize"></mapping></list> </litepal>

3. 配置 LitePalApplication

/*** Created on 2021/6/22 14:16** @author Gong Youqiang*/ public class MyApp extends LitePalApplication {private static Application mApplication;@Overridepublic void onCreate() {super.onCreate();mApplication = this;LitePal.initialize(this);//獲取到SQLiteDatabase的實例,創建數據庫表SQLiteDatabase db = LitePal.getDatabase();}public static Context getAppContext() {return mApplication;}}

開始建表

1. Prize.java

/*** Created on 2021/7/12 10:21** @author Gong Youqiang*/ public class Prize extends LitePalSupport {@Column(unique = true)private int id;@Column(nullable = false)private String level;@Column(nullable = false)private String name;@Column(nullable = false)private int num;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getLevel() {return level;}public void setLevel(String level) {this.level = level;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getNum() {return num;}public void setNum(int num) {this.num = num;} }

升級表

1. Comment.java

public class Comment extends LitePalSupport {private int id;private String content;// 自動生成get、set方法 ... }

2. 修改 litepal.xml 中的配置,在映射列表中新增 Comment 類,并將版本號加 1

<?xml version="1.0" encoding="utf-8"?> <litepal><dbname value="lottery" ></dbname><version value="2" ></version><list><mapping class="com.hk.hktlottery.db.Prize"></mapping><mapping class="com.hk.hktlottery.db.Comment"></mapping></list> </litepal>

增刪改查

1. 增

Prize prize = new Prize(); prize.setId(list.size()); prize.setLevel("一等獎"); prize.setName("獎勵 100 元"); prize.setNum(1); prize.save(); //這一句代碼就是將一條記錄存儲進數據庫中

2. 刪

// 刪除單個記錄,id=1 LitePal.delete(Prize.class,1);//刪除數據庫中Prize表的所有記錄 LitePal.deleteAll(Prize.class); //刪除數據庫Prize表中duration大于3500的記錄 LitePal.deleteAll(Prize.class, "duration > ?" , "3500");

3. 改
方法一:

//第一步,查找id為1的記錄 Movie movie = LitePal.find(Movie.class, 1); //第二步,改變某個字段的值 movie.setPrice(4020f); //第三步,保存數據 movie.save();

方法二:

Movie movie=new Movie(); movie.setName("2Diots"); movie.setDirector("某人");//直接更新id為1的記錄 movie.update(1);

方法三:

Movie movie=new Movie(); movie.setDirector("someone"); //更新所有name為2Diots的記錄,將director字段設為someone movie.updateAll("name = ?", "2Diots");Movie movie=new Movie(); movie.setName("someone"); movie.setDirector("someone"); //將更新所有name為2Diots,director為gpf的記錄name和director均改為someone movie.updateAll("name=? and director=?", "2Diots""gpf");

4. 查

//查找movie表的所有記錄,返回值是一個泛型為Movie的List集合 List<Movie> allMovies = LitePal.findAll(Movie.class); //查找movie表id為1的記錄 Movie movie = LitePal.find(Movie.class,1); // 比如獲取news表中的第一條數據 News firstNews = LitePal.findFirst(News.class);// 獲取News表中的最后一條數據 News lastNews = LitePal.findLast(News.class);// 想把news表中id為1、3、5、7的數據都查出來 List<News> newsList = LitePal.findAll(News.class, 1, 3, 5, 7); // 或者 long[] ids = new long[] { 1, 3, 5, 7 }; List<News> newsList = LitePal.findAll(News.class, ids);//查找name為2Diots的記錄,并且以時長作排序,where()方法接收任意個字符串參數,其中第一個參數用于進行條件約束, //從第二個參數開始,都是用于替換第一個參數中的占位符的。那這個where()方法就對應了一條SQL語句中的where部分。 List<Movie> movies = LitePal.where("name = ?", "2Diots").order("duration").find(Movie.class); // 但是這樣會將news表中所有的列都查詢出來,也許你并不需要那么多的數據,而是只要title和content這兩列數據。那么也很簡單,我們只要再增加一個連綴就行了,如下所示: List<News> newsList = LitePal.select("title", "content").where("commentcount > ?", "0").find(News.class); //將查詢出的新聞按照發布的時間倒序排列,即最新發布的新聞放在最前面,那就可以這樣寫: List<News> newsList = LitePal.select("title", "content").where("commentcount > ?", "0").order("publishdate desc").find(News.class); //order()方法中接收一個字符串參數,用于指定查詢出的結果按照哪一列進行排序,asc表示正序排序,desc表示倒序排序,因此order()方法對應了一條SQL語句中的order by部分。 //也許你并不希望將所有條件匹配的結果一次性全部查詢出來,因為這樣數據量可能會有點太大了,而是希望只查詢出前10條數據,那么使用連綴同樣可以輕松解決這個問題,代碼如下所示: List<News> newsList = LitePal.select("title", "content").where("commentcount > ?", "0").order("publishdate desc").limit(10).find(News.class); //limit()方法接收一個整型參數,用于指定查詢前幾條數據,這里指定成10,意思就是查詢所有匹配結果中的前10條數據。 //剛才我們查詢到的是所有匹配條件的前10條新聞,那么現在我想對新聞進行分頁展示,翻到第二頁時,展示第11到第20條新聞,只需要再連綴一個偏移量就可以了,如下所示: List<News> newsList = LitePal.select("title", "content").where("commentcount > ?", "0").order("publishdate desc").limit(10).offset(10).find(News.class); //這里指定成10,就表示偏移十個位置,那么原來是查詢前10條新聞的,偏移了十個位置之后,就變成了查詢第11到第20條新聞了,如果偏移量是20,那就表示查詢第21到第30條新聞//查找所有年齡小于25歲的人 List<Person> person = LitePal.where("age < ?", 25).find(Person.class);

推薦文獻:
Android數據庫高手秘籍

總結

以上是生活随笔為你收集整理的【Android -- 数据存储】LitePal 的基本使用的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: avtt香蕉久久 | 色播视频在线 | 精品成人一区 | 国产做受视频 | 中文字幕在线观看视频免费 | 色图一区 | 伊人影院视频 | 国产剧情av在线播放 | 天天舔天天干天天操 | 亚洲一个色 | 国产av天堂无码一区二区三区 | 欧美在线观看视频一区二区 | 91精品国产综合久久久蜜臀粉嫩 | 日韩中文字幕网站 | 国产二级一片内射视频播放 | av一卡| 日本一区二区三区在线免费观看 | 日韩久久久久久久久 | 国产校园春色 | 亚洲国产成人精品女人久久 | 中文字幕综合网 | 韩国成人在线视频 | 波多野结衣在线一区 | 91精品国产99久久久久久红楼 | 五月在线 | 国产欧美久久久久 | 国产精品九九热 | 影音先锋中文字幕在线 | 国产福利资源在线 | 男人天堂影院 | 黄色三级在线视频 | 国产精品一区电影 | 天天摸天天舔天天操 | 欧美做爰全过程免费看 | 鲁丝av| 久久久久无码精品国产 | 亚洲精品午夜精品 | 免费在线观看亚洲 | 亚欧美色图| 久久久无码精品亚洲国产 | 成人av激情 | 99色国产 | 亚洲欧美日韩国产成人精品影院 | 亚洲欧美一区二区视频 | av免费资源 | 97xxxxx| 亚洲福利在线观看 | 嫩草嫩草嫩草嫩草 | 国产一区第一页 | aaaa免费视频 | 亚洲理论片在线观看 | 咪咪色影院 | 欧美日本 | 日本www高清视频 | 色就操| 欧美日皮视频 | 成年人视频免费在线观看 | 久久免费看少妇高潮v片特黄 | 97超碰人人 | 成年网站 | 亚洲精品视频网 | 神马久久久久久久久久久 | 欧美a v在线播放 | 一区二区三区视频播放 | 精品人妻一区二区三区换脸明星 | 精品久久香蕉国产线看观看亚洲 | 根深蒂固在线观看 | 福利所第一导航 | 我我色综合 | 色成人综合网 | 亚洲产国偷v产偷v自拍涩爱 | 久久久一| 精品91av| 欧美日韩中文字幕视频 | 久久免费电影 | 91精品一区二区三区在线观看 | 国产aⅴ激情无码久久久无码 | 日韩精品一区二区三区在线 | 熟女肥臀白浆大屁股一区二区 | 乳色吐息免费看 | 成人综合激情 | 99精品视频在线免费观看 | 91在线精品播放 | 成人精品视频 | 夜夜看 | 亚洲成人av免费在线观看 | 亚洲黄色片在线观看 | 欧美精品一区二区在线观看 | 天堂网中文在线 | 国产一级片中文字幕 | 欧美日韩国产成人在线 | 成人涩涩软件 | 特一级黄色 | 久久亚洲婷婷 | 国产精品日韩在线 | 国内精品在线观看视频 | 亚洲乱码国产乱码精品精剪 | 国产素人在线观看 | 私密spa按摩按到高潮 |