【Android开发项目】使用Android和SQLite开发一个购物车功能
在Android中实现一个简单的购物车功能,你可以使用SQLite数据库来存储购物车中的商品信息。以下是实现购物车功能的基本步骤和示例代码:
- 创建一个
CartItem
类来表示购物车中的商品。 - 创建一个
CartDBHelper
类继承自SQLiteOpenHelper
来管理数据库。 - 实现添加商品到购物车、更新购物车商品数量、删除商品、清空购物车、获取购物车商品列表等功能。
示例代码:
// CartItem.java
public class CartItem {
public int id;
public String productName;
public int quantity;
public float price;
// 构造函数、getter和setter省略
}
// CartDBHelper.java
public class CartDBHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "cart.db";
private static final int DB_VERSION = 1;
private static final String TABLE_NAME = "cart_items";
public CartDBHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String createTableStatement = "CREATE TABLE " + TABLE_NAME + " (" +
"id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"productName TEXT, " +
"quantity INTEGER, " +
"price REAL" +
")";
db.execSQL(createTableStatement);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 更新数据库的逻辑
}
// 添加商品到购物车
public void addItemToCart(CartItem item) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("productName", item.productName);
values.put("quantity", item.quantity);
values.put("price", item.price);
db.insert(TABLE_NAME, null, values);
db.close();
}
// 更新购物车商品数量
public void updateItemQuantity(int id, int newQuantity) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("quantity", newQuantity);
db.update(TABLE_NAME, values, "id = ?", new String[]{String.valueOf(id)});
db.close();
}
// 删除购物车中的商品
public void removeItem(int id) {
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_NAME, "id = ?", new String[]{String.valueOf(id)});
db.close();
}
// 清空购物车
public void clearCart() {
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_NAME, null, null);
db.close();
}
// 获取购物车商品列表
p
评论已关闭