1.案例-购物车-数据库准备
1.1ShoppingDBHelper.java
package com.example.chapter06.database; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class ShoppingDBHelper extends SQLiteOpenHelper { private static final String DB_NAME = "shopping.db"; // 商品信息表 private static final String TABLE_GOODS_INFO = "GOODS_INFO"; // 购物车信息表 private static final String TABLE_CART_INFO = "CART_INFO"; private static final int DB_VERSION = 1; private static ShoppingDBHelper mHelper = null; private SQLiteDatabase mRDB = null; private SQLiteDatabase mWDB = null; private ShoppingDBHelper(Context context) { super(context, DB_NAME, null, DB_VERSION); } // 打开数据库的读连接 public SQLiteDatabase openReadLink() { if (mRDB == null || !mRDB.isOpen()) { mRDB = mHelper.getReadableDatabase(); } return mRDB; } // 打开数据库的写连接 public SQLiteDatabase openWriteLink() { if (mWDB == null || !mWDB.isOpen()) { mWDB = mHelper.getWritableDatabase(); } return mWDB; } // 关闭数据库连接 public void closeLink() { if (mRDB != null && mRDB.isOpen()) { mRDB.close(); mRDB = null; } if (mWDB != null && mWDB.isOpen()) { mWDB.close(); mWDB = null; } } // 利用单例模式获取数据库帮助器的唯一实例 public static ShoppingDBHelper getInstance(Context context) { if (mHelper == null) { mHelper = new ShoppingDBHelper(context); } return mHelper; } // 创建数据库,执行建表语句 @Override public void onCreate(SQLiteDatabase db) { // 创建商品信息表 String sql = "CREATE TABLE IF NOT EXISTS " + TABLE_GOODS_INFO + "(_ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," + " NAME VARCHAR NOT NULL," + " DESCRIPTION VARCHAR NOT NULL," + " PRICE FLOAT NOT NULL," + " PIC_PATH VARCHAR NOT NULL);"; db.execSQL(sql); // 创建购物车信息表 sql = "CREATE TABLE IF NOT EXISTS " + TABLE_CART_INFO + "(_ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," + " GOODS_ID INTEGER NOT NULL," + " COUNT INTEGER NOT NULL);"; db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
1.2GoodsInfo.java
package com.example.chapter06.entity; import com.example.chapter06.R; import java.util.ArrayList; public class GoodsInfo { public int id; // 名称 public String name; // 描述 public String description; // 价格 public float price; // 大图的保存路径 public String picPath; // 大图的资源编号 public int pic; // 声明一个手机商品的名称数组 private static String[] mNameArray = { "ipone11", "Mate30", "小米10", "OPPO Reno3", "vivo X30", "荣耀30S" }; // 声明一个手机商品的描述数组 private static String[] mDescArray = { "Apple iPhone11 256GB 绿色 4G全网通手机", "华为 HUAWEI Mate30 8GB+256GB 丹霞橙 5G全网通 全面屏手机", "小米 MI10 8GB+128GB 钛银黑 5G手机 游戏拍照手机", "OPPO Reno3 8GB+128GB 蓝色星夜 双模5G 拍照游戏智能手机", "vivo X30 8GB+128GB 绯云 5G全网通 美颜拍照手机", "荣耀30S 8GB+128GB 蝶羽红 5G芯片 自拍全面屏手机" }; // 声明一个手机商品的价格数组 private static float[] mPriceArray = {6299, 4999, 3999, 2999, 2998, 2399}; // 声明一个手机商品的大图数组 private static int[] mPicArray = { R.drawable.iphone, R.drawable.huawei, R.drawable.xiaoxi, R.drawable.oppo, R.drawable.vivo, R.drawable.rongyao }; // 获取默认的手机信息列表 public static ArrayList<GoodsInfo> getDefaultList() { ArrayList<GoodsInfo> goodsList = new ArrayList<>(); for (int i = 0; i < mNameArray.length; i++) { GoodsInfo info = new GoodsInfo(); info.id = i; info.name = mNameArray[i]; info.description = mDescArray[i]; info.price = mPriceArray[i]; info.pic = mPicArray[i]; goodsList.add(info); } return goodsList; } }
原文地址:http://www.cnblogs.com/pingfanliliang/p/16859613.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性