使用LitePal实现数据库操作

之前也有一篇专门关于SQlite数据库的增删改查操作的博客,虽然难度不高,但是难道每次使用数据库都要再写一遍,
所要我们需要用到数据库的第三方插件LitePal更简单的来实现我们的数据操作。
LitePal可以减少我们很多的工作量。

这里写图片描述

那么我们该怎么使用LitePal来实现数据库呢?
1.下载第三方插件和配置条件
首先我们需要先在build.gradle的dependencies中加上下面这句话,实现第三方插件的下载。
    dependencies {compile 'org.litepal.android:core:1.6.1'}
下载完成第三方插件后,我们还需要进行配置litepal.xml文件,在app->src->main中新建assets,
再在assets新建litepal.xml文件。
<?xml version="1.0" encoding="CESU-8" ?>
<litepal>
    <dbname value="demo">
//表名
    </dbname>
    <version value="1">
//版本号
    </version>
    <list>
    </list>
</litepal>
配置manifest内容如下:
    android:name="org.litepal.LitePalApplication"
到此litepal的配置就完成了。

2.litepal的具体使用方法

1.创建实体类继承DataSupport ,定义好属性,和generated getters and setters.
   一点:一定要继承DataSupport 。
  例子如下:
package com.example.wang3.newapplication;

import org.litepal.annotation.Column;
import org.litepal.crud.DataSupport;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by wang3 on 2018/4/2.
 */

public class Album extends DataSupport {
    @Column(unique = true, defaultValue = "unknown")
    private String name;

    private float price;

    private byte[] cover;

    private List<Song> songs = new ArrayList<Song>();

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public float getPrice() {
        return price;
    }

    public void setPrice(float price) {
        this.price = price;
    }

    public byte[] getCover() {
        return cover;
    }

    public void setCover(byte[] cover) {
        this.cover = cover;
    }

    public List<Song> getSongs() {
        return songs;
    }

    public void setSongs(List<Song> songs) {
        this.songs = songs;
    }
}
在litepal.xml的list中实现:
<mapping class="com.example.wang3.newapplication.Album"/>
//com.example.wang3.newapplication包名+Album类名

最后在Activity中直接加入:

 SQLiteDatabase db = LitePal.getDatabase();

实现创建数据库表。到此我们应该已经创建好我们的数据库表了。

3.使用litepal进行增删改查

由于使用第三方插件进行增删改查十分方便,这里就不多赘述,看代码及注释即可:
 public void onClick(View v) {
        switch (v.getId()){
            case R.id.add_btn:
            //插入数据
                String albumName=editText.getText().toString();
                float price=109.9f;
                Album album=new Album();
                album.setName(albumName);
                album.setPrice(price);
                album.save();
                break;
            case R.id.query_btn:
               //  单条查询 Song song = DataSupport.find(Song.class, id);
               //全部查询
                List<Album> allSongs = DataSupport.findAll(Album.class);               
                // 条件查询  List<Album> songs = DataSupport.where("name like ? and duration < ?", "song%", "200").order("duration").find(Album.class);
                for (Album album1: allSongs) {
                    Log.e("000000000", "" + album1.getName());
                }
                break;

            case R.id.dlete_btn:
            //删除id为1的数据
                DataSupport.delete(Song.class, 1);
                break;

            case R.id.update_btn:
                //更新id为1的数据
                Album albumToUpdate = DataSupport.find(Album.class, 1);
                albumToUpdate.setPrice(20.99f); 
                //按条件更新多条数据
                 //Album albumToUpdate = new Album();
                //albumToUpdate.setPrice(20.99f); 
                //albumToUpdate.updateAll("name = ?", "album");
               // albumToUpdate.save();       
                 break;
        }

    }

更具体的LitePal可以去https://github.com/LitePalFramework/LitePal中了解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值