1.新建MySQLiteOpenHelper 类,继承SQLiteOpenHelper
/**
* 创建类,继承SQLiteOpenHelper抽象类,重写方法
* */
public class MySqliteDataBase extends SQLiteOpenHelper {
/**
* Context context,
* String name,数据库的名字,通常写成XXX.db
* CursorFactory factory, 游标工厂,可以理解成是一个结果的集合,通常只能传null,系统会使用默认的游标工厂
* int version:要创建的或者要打开的数据库的版本,注意,版本只能++,此操作是不可逆的
* */
public MySqliteDataBase(Context context,int version) {
super(context, "goods.db", null, version);
}
/**
* 数据库被创建时,回调此方法,在此方法中做创建表的操作
*
* */
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table good(id integer primary key autoincrement ,name varchar(20), price varchar(20))");
Log.i("myTag", "数据库被创建时,onCreate方法被调用");
}
/**
* 当数据库的版本发生变化时,会自动回调此方法 版本变化包括(升级表的结构,更新表的字段)
* */
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
1.增
public class AddGoodsActivity extends BaseActivity implements OnClickListener {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_goods);
initView();
MySQLiteOpenHelper mySQLiteOpenHelper = new MySQLiteOpenHelper(
AddGoodsActivity.this, 1);//参数1指的是数据库的版本号
// 获取一个数据库的操作对象,对数据库进行操作(增删改查)
db = mySQLiteOpenHelper.getReadableDatabase();
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.add_act_button1:
ContentValues values = new ContentValues();
String name = getViewContent(nameEdit);
String price = getViewContent(priceEdit);
String date = getViewContent(dateEdit);
//key要和表中的字段名称一样
values.put("name", name);
values.put("price", price);
values.put("date", date);
/**
* 参数一:表名
* 参数二:通常设置为空
* 参数三:需要插入的数据的集合
* */
db.insert("goods1", null, values);
myToast("添加商品信息成功");
break;
}
}
}
2.删
public class DeleteGoodsActivity extends BaseActivity implements
OnClickListener {
private SQLiteDatabase db;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_delete_goods);
MySQLiteOpenHelper mySQLiteOpenHelper = new MySQLiteOpenHelper(
DeleteGoodsActivity.this, 1);
db = mySQLiteOpenHelper.getReadableDatabase();
}
public void onClick(View v) {
id = getViewContent(idEditText);
if (v.getId() == R.id.delete_act_btn) {
//根据id将数据删除
/**
* 参数一:表名
* 参数二:删除的条件,通常写成 :"xx=?"
* 参数三:删除的id
* */
db.delete("goods1", "id=?", new String[] { id });
myToast("商品删除成功");
}
}
}
}
}
3.改
public class Update extends BaseActivity implements OnClickListener {
private SQLiteDatabase db;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_update);
MySQLiteOpenHelper mySQLiteOpenHelper = new MySQLiteOpenHelper(
Update.this, 1);
db = mySQLiteOpenHelper.getReadableDatabase();
}
public void onClick(View v) {
if (v.getId() == R.id.update_act_button1) {
String updeId = getViewContent(idEditText);
String updateName = getViewContent(nameEditText);
String updatePrice = getViewContent(priceEditText);
String updateDate = getViewContent(dateEditText);
ContentValues values = new ContentValues();
//key值要和数据库中的字段名相对应
values.put("id", updeId);
values.put("name", updateName);
values.put("price", updatePrice);
values.put("date", updateDate);
/**
* 参数一:表名
* 参数二:需要更新的数据的集合
* 参数三:sql语句的条件字符串
* 参数四:补全参数三中的占位符
* */
db.update("goods1", values, "id=?", new String[] { findId });
myToast("商品信息修改成功");
}
}
}
4.查
public class UpdateGoodsActivity extends BaseActivity implements
OnClickListener {
private SQLiteDatabase db;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_update_goods);
MySQLiteOpenHelper mySQLiteOpenHelper = new MySQLiteOpenHelper(
UpdateGoodsActivity.this, 1);
db = mySQLiteOpenHelper.getReadableDatabase();
}
public void onClick(View v) {
updateId = getViewContent(idEditText);
if (v.getId() == R.id.update_act_btn) {
//根据商品的id将数据查询出来
/**
* 参数一:表名
* 参数二:查询的列数组(为null时,默认查找所有的列)
* 参数三:查询条件(为null,则没有限制),预编译
* 参数四:填充参数三中预编译的占位符
* 参数五:
* 参数六:
* 参数七:
* */
Cursor cursor = db.query("goods1", null, "id=?",
new String[] { updateId }, null, null, null);
//根据id将该条数据的值依次取出
while (cursor.moveToNext()) {
String id = cursor.getString(cursor.getColumnIndex("id"));
String name = cursor.getString(1);
String price = cursor.getString(2);
String date = cursor.getString(3);
}
}
}
}
}