如何使用LitePal

什么是LitePal?
  • LitePal是一款开源的Android数据库框架,它采用了对象关系映射(ORM)的模式,并将我们需要的功能进行了封装。(可以使我们不用重复的创建表)
LitePal的在github源码地址:

[https://github.com/LitePalFramework/LitePal]

1,在dependencies 写入依赖库
dependencies {
    compile 'org.litepal.android:core:1.6.1'
}
2,在Project中src下中的main里右击找到Directory,新建assets并在其中建立litepal.xml。
3,在litepal.xml中写入
<?xml version="1.0" encoding="utf-8"?>
<litepal>
    <dbname value="demo" />
    <version value="1" />

    <list>
      //里面放入表
       <mapping class="com.example.administrator.litepaltest1.Album"></mapping>
       //这里是后面创建的表
    </list>

</litepal>
4,在manifest配置LitePalApplication
<manifest>
    <application
        android:name="org.litepal.LitePalApplication"
        ...
    >
        ...
    </application>
</manifest>
5,创建表时继承DataSupport
package com.example.administrator.litepaltest1;

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

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

/**
 * Created by Administrator on 2018/4/2/002.
 */

public class Album extends DataSupport {//创建表继承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;
    }
}
6,可以在MainActivity里对表进行操作

点击按钮实现增删改查。

 @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.zengbtn://增加
                String name=zeng.getText().toString();//将输入的文本变成字符串类型
                float price=56.5f;
                Album album=new Album();//新建表
                album.setName(name);将值赋给文本
                album.setPrice(price);
                album.save();//结束时save一下
                break;


            case R.id.cha://查找
                Album album1= DataSupport.find(Album.class,1);
                album1.setName("qwe");//找到名字为qwe的列
                album1.save();
                break;

            case R.id.delete://删除
//              int row=DataSupport.delete(Album.class,1);//删一个
                int row=DataSupport.deleteAll(Album.class,"id>?","3");//删除大于三的列
                Toast.makeText(this, "你删除了"+row+"行", Toast.LENGTH_SHORT).show();
                break;
            case R.id.qurry://改
//              List<Album> albumList=DataSupport.findAll(Album.class);//改所有
                List<Album> albumList=DataSupport.where("name like ? and id>?","q%","7").order("name").find(Album.class);
                //改name像(q%)——有q的,并且id>7的
                for (Album a://从a开始到整个List结束
                        albumList
                     ) {
                    Log.e("Album",a.getName()+"***");

                }
                //使用foreach查找符合条件的列
                break;
        }
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值