利用GreenDao實現本地購物車(一)

最近開發有一個需求就是實現掃一掃,添加商品到購物車,購物車頁面添加一個清空按鈕,購物車列表頁面,可以調整數據,可以增加,減少,與輸入數字。

效果大概如圖所示:

還有長按刪除數據,減少數字到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引入項目的過程。

接下來,就是創建數據庫所需的數據類。

關鍵點如下所示:

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相關的類。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章