1、案例:
开发一个购物车,将购物车中的商品以列表的形式进行显示,并且还要对购物车中的商品进行增删改查操作,运用ListView和SQLite数据库。
2、案例实现:
(1)、只给出主要代码,界面设计不再给出。
(2)、创建数据库:
新建MyHelper类继承自SQLiteOpenHelper,SQLiteOpenHelper是一个抽象类,他有两个抽象方法,分别是onCreate()和onUpgrade(),我们必须在自己的帮助类中重写这两个方法,在这两个方法中去实现创建、升级数据库的逻辑。
public class MyHelper extends SQLiteOpenHelper {
public MyHelper(Context context) {
super(context,"itcast.db",null,1);
}
@Override
public void onCreate(SQLiteDatabase db) {
System.out.println("onCreate");
db.execSQL("CREATE TABLE account(_id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR(20),//商品名称列
balance INTEGER)");//金额列
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
System.out.println("onUpgrade");
}
}
SQLiteOpenHelper中还有两个非常重要的实例方法:getReadableDatabase()和getWritableDatabase()。这两个方法都可
以创建或打开一个现有的数据库(如果数据库已经存在则直接打开,否则创建一个新的数据库),并返回一个可对数据库进行读
写操作的对象。不同的是,当数据库不可写入的时候(如磁盘空间已满),getReadableDatabase()方法返回的对象将以只读的
方式打开数据库,而getWritableDatabase()方法则将出现异常。
同时,SQLiteOpenHelper中有两个构造方法可供重写,一般使用参数较少的构造方法即可。这个构造方法接收四个参数,第