前言
在学Android中LitePal相关知识的时候,发现书本《第一行代码》中很多内容都过时了,在网上找了解决方法,尚且记录一波。
问题解决
先附上LitePal项目的使用文档:https://github.com/LitePalFramework/LitePal
配置LitePal
在app/build.gradle文件中声明该开源库的引用时,LitePal经过多次改版,书中的语句已经不适用。最新版的LItePal把库分为java和kotlin两个部分:
1.如果使用java语言开发
dependencies {
implementation 'org.litepal.android:java:3.0.0'
}
2.如果用kotlin语言开发
dependencies {
implementation 'org.litepal.android:kotlin:3.0.0'
}
DataSupport类被弃用问题
1.需要进行CRUD操作时,需要继承DataSupport类,这时可以用LitepalSupport类来代替。
public class Book extends LitePalSupport{
}
2.当需要进行DataSupport类的静态调用时,可以把DataSupport改为LitePal。
Button queryData = (Button)findViewById(R.id.query_data);
queryData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
List<Book> books = LitePal.findAll(Book.class);
for(Book book : books){
Log.d("MainActivity", "book name is "+book.getName());
Log.d("MainActivity","book author is "+book.getAuthor());
Log.d("MainActivity","book pages is "+book.getPages());
Log.d("MainActivity","book price is "+book.getPrice());
Log.d("MainActivity","book press is "+book.getPress());
}
}
});