利用GreenDao实现本地购物车(一)

最近开发有一个需求就是实现扫一扫,添加商品到购物车,购物车页面添加一个清空按钮,购物车列表页面,可以调整数据,可以增加,减少,与输入数字。

效果大概如图所示:利用GreenDao实现本地购物车(一)_第1张图片

还有长按删除数据,减少数字到0 时自动删除该项item。

所以,此处我利用的是GreenDao实现该购物车。

首先,之前没有用过GreenDao,下面是使用GreenDao的导入与使用步骤。

首先:

在App的gradle下,添加如下:

apply plugin: 'org.greenrobot.greendao' // apply plugin
implementation 'org.greenrobot:greendao:3.2.2' // add library

还有如果需要配置生成数据库文件的话,需要添加如下:

greendao {//添加到 android{}里面
    schemaVersion 1
    daoPackage 'com.greendao.test'//此处是自命名的生成数据库的报名 可以根据自己的需要设置
    targetGenDir 'src/main/java'
}

接下来,在项目的project的gradle中,添加如下:

classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin
mavenCentral() // add repository 添加到repositories中

如图所示:利用GreenDao实现本地购物车(一)_第2张图片

 此处就是将GreenDao引入项目的过程。

接下来,就是创建数据库所需的数据类。

关键点如下所示:

import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Generated;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Unique;

import java.io.Serializable;

/**
 * @author: 12233
 * @date: 2019/9/30
@Entity 声明数据库的类
 */
@Entity
public class CashierGoodsEntity implements Serializable {
     //ID 自增,必须声明为大写的Long 
    @Id(autoincrement = true)
    private Long id;
    private String name;
    private String price;
    private int number;
//@Unique 代表在数据库中,这个字段的值是唯一的 如商品ID等,用来操作数据库,修改等
    @Unique
    private String goodsId;
    private String imgUrl;
    private String stockNumber;
//实现序列化接口,需要声明的常量
    private static final long serialVersionUID = 1L;
//下面所有的数据 都是自动生成的 不需要手动去实现
    @Generated(hash = 1418534478)
    public CashierGoodsEntity(Long id, String name, String price, int number,
            String goodsId, String imgUrl, String stockNumber) {
        this.id = id;
        this.name = name;
        this.price = price;
        this.number = number;
        this.goodsId = goodsId;
        this.imgUrl = imgUrl;
        this.stockNumber = stockNumber;
    }
    @Generated(hash = 1050263336)
    public CashierGoodsEntity() {
    }
    public Long getId() {
        return this.id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getName() {
        return this.name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPrice() {
        return this.price;
    }
    public void setPrice(String price) {
        this.price = price;
    }
    public int getNumber() {
        return this.number;
    }
    public void setNumber(int number) {
        this.number = number;
    }
    public String getGoodsId() {
        return this.goodsId;
    }
    public void setGoodsId(String goodsId) {
        this.goodsId = goodsId;
    }
    public String getImgUrl() {
        return this.imgUrl;
    }
    public void setImgUrl(String imgUrl) {
        this.imgUrl = imgUrl;
    }
    public String getStockNumber() {
        return this.stockNumber;
    }
    public void setStockNumber(String stockNumber) {
        this.stockNumber = stockNumber;
    }

}

利用GreenDao实现本地购物车(一)_第3张图片

此处是自动生成的GreenDao相关的类。

 

你可能感兴趣的:(GreenDao,安卓进阶)