今天看了郭神的《第二行代碼》的第六章孽惰,才發(fā)現(xiàn)LitePal用起來是多么方便簡介,就花了下午的時(shí)間做了一個(gè)小Demo鸥印,界面功能都簡單勋功,請見諒
本文只是LitePal的簡單應(yīng)用,目的是快速入門LitePal库说。界面和功能都簡單狂鞋,若不滿,請自行添加潜的。
照例來波動(dòng)態(tài)圖
主要功能就是: 數(shù)據(jù)的 增骚揍、刪、改啰挪、查信不。
主要知識點(diǎn): LitePal的配置和使用
界面我就不介紹了纤掸,用的是RecyclerView之前也講過 簡單粗暴----RecyclerView
首先添加依賴
compile'com.android.support:recyclerview-v7:24.0.0'
compile 'org.litepal.android:core:1.4.1'
1. LitePal簡介
LitePal是一款開源的Android數(shù)據(jù)庫框架,它采用了對象關(guān)系映射(ORM)的模式浑塞,并將我們平時(shí)開發(fā)最常用的一些數(shù)據(jù)庫功能進(jìn)行了封裝借跪,是的不用編寫一行SQL語句就可以完成各種建表和增刪改查的操作。
2. LitePal的配置
創(chuàng)建一個(gè) assets
目錄酌壕,在 assets
目錄下新建一個(gè) litepal.xml
文件掏愁,接著編寫文件內(nèi)容,如下:
<?xml version="1.0" encoding="utf-8" ?>
<litepal>
<!-- 數(shù)據(jù)庫名 -->
<dbname value="Student"></dbname>
<!-- 版本號 -->
<version value="1"></version>
<!-- 創(chuàng)建表 -->
<list>
<mapping class="映射的javaBean的完整類名"></mapping>
</list>
</litepal>
接下來修改清單文件代碼卵牍,配置Application
<application
android:name="org.litepal.LitePalApplication"
...
</application>
最后代碼中創(chuàng)建數(shù)據(jù)庫
LitePal.getDatabase();
3. 創(chuàng)建表
a. 需要一個(gè)JavaBean對象果港,也就是數(shù)據(jù)庫的表
public class Student extends DataSupport{
private int id;
private String name;//姓名
private int studentId;//學(xué)號
private String sex;//性別
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getStudentId() {
return studentId;
}
public void setStudentId(int studentId) {
this.studentId = studentId;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
b. 修改litepal.xml中的代碼
<list>
<mapping class="com.xiaweizi.studentsystem.Student"></mapping>
</list>
運(yùn)行一下程序,然后你就可以在data/data/包名的文件下看到數(shù)據(jù)庫已經(jīng)創(chuàng)建了:
然后把他導(dǎo)出來糊昙,借用工具打開辛掠,然后就是下面界面
4. 增、刪释牺、改萝衩、查
1. 添加數(shù)據(jù)
Student student = new Student();
student.setName(name);
student.setSex(sex);
student.setStudentId(Integer.parseInt(studentId));
student.save();
效果如下:
2. 刪除數(shù)據(jù)
DataSupport.deleteAll(Student.class, "id = ?", id +"");
一行代碼搞定,只要調(diào)用
DataSupport.deleteAll()
即可没咙,第一參數(shù)猩谊,是要?jiǎng)h除哪張表的數(shù)據(jù),后面則為約束條件祭刚,不難看懂牌捷。
3. 修改數(shù)據(jù)
Student student = new Student();
student.setName(name);
student.setSex(sex);
student.setStudentId(Integer.parseInt(studentId));
student.updateAll("id = ?", id+"");
還是要new一個(gè)實(shí)例,然后要設(shè)置更新的數(shù)據(jù)涡驮,最后調(diào)用
updateAll()
方法執(zhí)行更新操作暗甥。參數(shù)跟刪除數(shù)據(jù)很像,也是約束條件捉捅,如果不傳參數(shù)撤防,則修改所有的數(shù)據(jù)。
這里需要注意一點(diǎn)锯梁,如果想讓數(shù)據(jù)恢復(fù)成默認(rèn)值即碗,是不能直接設(shè)置默認(rèn)值的焰情。
比如陌凳,如果讓學(xué)號為0,是不能
student.setStudentId(0);
這是錯(cuò)誤的D谥邸:隙亍!那么如果想恢復(fù)成默認(rèn)值該怎么辦呢验游,LitePal提供了setToDefault()
方法充岛。
Student student = new Student();
student.setToDefault("studentId");
student.updateAll();
4. 查詢數(shù)據(jù)
mList = DataSupport.findAll(Student.class);
一行代碼搞定保檐,直接就可以查詢數(shù)據(jù)庫中Student表的所有數(shù)據(jù),返回這個(gè)對象的集合崔梗。
借用工具可以查看我們的所有數(shù)據(jù):
到此一個(gè)簡單的學(xué)生管理系統(tǒng)已經(jīng)結(jié)束了夜只,主要目的就是快速入門LitePal!