SQlite推荐学习网站https://www.runoob.com/w3cnote/android-tutorial-sqlite-intro.html
主界面
MyDBOpenHelper
MyDBOpenHelper是自己写的继承DBOpenHelper的类。增删改查都是基本的sql语句。
public class MyDBOpenHelper extends DBOpenHelper {
private static final String TAG = "ttit";
public MyDBOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
// 第一次创建时调用
@Override
public void onCreate(SQLiteDatabase db) {
Log.e(TAG,"执行onCreate");
db.execSQL("CREATE Table Person(personId INTEGER PRIMARY key Autoincrement , name VARCHAR(256))");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.e(TAG,"执行update");
db.execSQL("ALTER TABLE Person Add phone VARCHAR(12) NOT NULL");
}
}
设置需要进行的数据库
myDBOpenHelper = new MyDBOpenHelper(myContext, "my.db", null, 1);
最后一个1表示当前版本号,在上面的代码中是有两个版本,第一个只有id和姓名,而第二个增加了phone,myDBOpenHelper.getWritableDatabase(),如果改成2,新版本和旧版本不一样,就会执行OnUpdate方法。
相应的增删改查
public void onClick(View v) {
db = myDBOpenHelper.getWritableDatabase();
switch (v.getId()) {
// 查询
case R.id.btn_query:
stringBuilder = new StringBuilder();
Cursor cursor = db.query("Person",null,null,null,"personId",null,null);
if (cursor.moveToFirst()){
do {
int personId = cursor.getInt(cursor.getColumnIndexOrThrow("personId"));
String name = cursor.getString(cursor.getColumnIndexOrThrow("name"));
stringBuilder.append("id: "+personId+" name: "+name+"\n");
}while (cursor.moveToNext());
}
cursor.close();
Toast.makeText(myContext, stringBuilder.toString(), Toast.LENGTH_SHORT).show();
break;
// 插入
case R.id.btn_insert:
ContentValues values1 = new ContentValues();
values1.put("name", "芜湖" + i);
i++;
db.insert("Person", null, values1);
Toast.makeText(myContext, "插入成功", Toast.LENGTH_SHORT).show();
break;
// 更新
case R.id.btn_update:
ContentValues contentValues2 = new ContentValues();
contentValues2.put("name","dddddd");
db.update("person",contentValues2,"name=?",new String[]{"芜湖0"});
Toast.makeText(myContext, "更新成功", Toast.LENGTH_SHORT).show();
break;
// 删除
case R.id.btn_delete:
db.delete("person","personId=?",new String[]{"1000003"});
Toast.makeText(myContext, "删除成功", Toast.LENGTH_SHORT).show();
break;
}