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
按以上步骤操作即可