litepal的使用以及用adb查看数据库的方法
litepal的使用
1、导入依赖
implementation 'org.litepal.android:core:1.3.2'
2、创建一个名为assets文件夹,并创建litepal.xml文件,配置litepal.xml文件
<?xml version="1.0" encoding="utf-8" ?>
<litepal>
<dbname value="BookStore" ></dbname>
<version value="1" ></version>
<list>
<mapping class="com.example.tablet.Book"></mapping>
</list>
</litepal>
其中包含数据库名、版本号,list元素中包含需要生成数据库表的Book类。
3、创建Book类继承自DataSupport,DataSupport是litepal包下的类,可以方便的实现增删改查
public class Book extends DataSupport {
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类的每个实例就对应表的一行,每个属性就是表的列。
4、调用Connector.getDatabase()就创建了数据库并生成Book表
Connector.getDatabase();
5、对数据进行增删改查
增:
Book book = new Book();
if(view.getId() == R.id.add_btn) {
book.setName("the");
book.setAuthor("dan");
book.setPages(454);
book.setPrice(16.96);
book.save(); //插入到表中
}
删:
if(view.getId() == R.id.delete_btn) {
DataSupport.deleteAll(Book.class, "price < ?", "20");
}
这句表示删除价格小于20的行
改:
if(view.getId() == R.id.update_btn) {
book.setToDefault("pages");
book.updateAll();
}
表示将所有的pages属性设为默认值0
查:调用findAll方法就可以查询所有行
if(view.getId() == R.id.select_btn) {
List<Book> books = DataSupport.findAll(Book.class);
for(Book book : books) {
Log.d("MainActivity", "book name is " + book.getName());
}
}
只查name和author两列可以这样写
DataSupport.select("name", "author").find(Book.class);
查页数大于400的数据
DataSupport.where("pages > ?", "400").find(Book.class);
还有好多方法,自己查询
用adb查看数据库的方法
找到sdk下的platform-tools文件夹,按住shift加右键,打开命令行窗口,输入adb shell
按以上步骤操作即可