LitePal是一个比SQLite操作简单一点的数据存储开源库。
GitHub上查找LitePal即可看到最新版的LitePal,并在build.gradle中加入(版本号按照GitHub上最新情况而定)
implementation 'org.litepal.android:core:1.6.1'
再app/src/main目录中New->Directory 创建一个assets目录,在其中创建literal.xml文件(开源库中所要求命名方式)
<?xml version="1.0" encoding="UTF-8" ?>
<litepal>
<dbname value="BookStore"></dbname>
<version value="1"></version>
<list>
</list>
</litepal>
在Androidmanifest中添加
android:name="org.litepal.LitePalApplication"
新建Book类
package com.wangkangli.litepallearn;
public class Book {
private int id;
private String author;
private double price;
private int pages;
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 int getPages() {
return pages;
}
public void setPages(int pages) {
this.pages = pages;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
每一个字段分别代表一个列
接下来将Book类添加到映射模型列表中,在litepal.xml中添加语句
注意在mapping中一定要添加完整的类名
<?xml version="1.0" encoding="UTF-8" ?>
<litepal>
<dbname value="BookStore"></dbname>
<version value="1"></version>
<list>
<mapping class="com.example.databasetest.model.News"></mapping>
</list>
</litepal>
在main中添加点击事件
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button createDatabase = findViewById(R.id.create_database);
createDatabase.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Connector.getDatabase();
}
});
}
}
Connector.getDatabase()方法就是一次最简单的数据库操作,即数据库的创建。
数据库的升级
<litepal>
<dbname value="BookStore"></dbname>
<version value="2"></version>
<list>
<mapping class="com.wangkangli.litepallearn.Book"></mapping>
<mapping class="com.wangkangli.litepallearn.Category"></mapping>
</list>
</litepal>
记得在每次升级后version +1