美文网首页
使用第三方库保存数据LitePal

使用第三方库保存数据LitePal

作者: 在下陈小村 | 来源:发表于2018-02-27 15:02 被阅读23次

1.创建数据库
在build.gradle中添加

compile 'org.litepal.android:core:1.6.1'

创建一个assets文件夹,然后在assets中添加一个litepal.xml配置文件。dbname为数据库的名称,version为版本号,list中添加的是表对应的javabean

<?xml version="1.0" encoding="utf-8" ?>
<litepal>
    <dbname value="BookStore"></dbname>
    <version value="3"></version>
    <list>
        <mapping class="com.firstlinecode.datasave.litepal.Book"/>
    </list>
</litepal>

创建Javabean,并且继承DataSupport

public class Book extends DataSupport {
    private int id;
    private String name;
    private String author;
    private int pages;
    private double price;
    private String press;
    ...

    public String getPress() {
        return press;
    }

    public void setPress(String press) {
        this.press = press;
    }

    @Override
    public String toString() {
        return "Book{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", author='" + author + '\'' +
                ", pages=" + pages +
                ", price=" + price +
                ", press='" + press + '\'' +
                '}';
    }

修改AndroidManifest.xml的application,将name改为如下的名称

<application
        android:name="org.litepal.LitePalApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

2.升级数据库
只需要修改litepal.xml配置文件的版本号;修改和添加字段只需要在javabean中修改就可以了;添加表需要在litepal.xml配置文件的list中添加内容,再添加Javabean类。

3.数据表的增删改查

public class LitePalActivity extends AppCompatActivity implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_lite_pal);
        findViewById(R.id.litePal_create).setOnClickListener(this);
        findViewById(R.id.litePal_insert).setOnClickListener(this);
        findViewById(R.id.litePal_update).setOnClickListener(this);
        findViewById(R.id.litePal_delete).setOnClickListener(this);
        findViewById(R.id.litePal_query).setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.litePal_create:
                Connector.getDatabase();
                Toast.makeText(LitePalActivity.this,"创建了数据库",Toast.LENGTH_SHORT).show();
                break;
            case R.id.litePal_insert:
                Book book=new Book();
                book.setName("第一行代码");
                book.setAuthor("郭林");
                book.setPages(800);
                book.setPrice(29.0);
                book.setPress("kkwee");
                book.save();
                Toast.makeText(LitePalActivity.this,"插入数据",Toast.LENGTH_SHORT).show();
                break;
            case R.id.litePal_update:
                Book updateBook=new Book();
                updateBook.setPrice(55.0);
                updateBook.setPress("kk");
                updateBook.updateAll("name=?","第一行代码");
                Toast.makeText(LitePalActivity.this,"修改数据",Toast.LENGTH_SHORT).show();
                break;
            case R.id.litePal_delete:
                DataSupport.deleteAll(Book.class,"price>?","30");
                Toast.makeText(LitePalActivity.this,"删除数据",Toast.LENGTH_SHORT).show();
                break;
            case R.id.litePal_query:
                List<Book>bookList= DataSupport.findAll(Book.class);//表示select* from book
//                List<Book>bookList= DataSupport.select("name","author","pages","price").where("pages>?","700").order("pages").limit(10).offset(1).find(Book.class);//查找这四列pages大于300,按照pages排列,查找前10行,从第二行开始排列
                for (Book book1:bookList){
                    Log.d("csc",book1.toString());
                }
                Toast.makeText(LitePalActivity.this,"数据查询成功",Toast.LENGTH_SHORT).show();
                break;
        }
    }
}

相关文章

网友评论

      本文标题:使用第三方库保存数据LitePal

      本文链接:https://www.haomeiwen.com/subject/fotmxftx.html