litepal的使用以及用adb查看数据库的方法

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
litepal的使用以及用adb查看数据库的方法
litepal的使用以及用adb查看数据库的方法
按以上步骤操作即可

上一篇:小程序分包配置


下一篇:uni-app的基本使用