public class DatabaseHelper extends SQLiteOpenHelper { //创建一个 DatabaseHelper类,并且继承SQLiteOpenHelper
private static final int VERSION = 1;
//在SQLiteOepnHelper的子类当中,必须有该构造函数 共复写3个构造函数。
public DatabaseHelper(Context context, String name, CursorFactory factory, int version) {
//必须通过super调用父类当中的构造函数
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}
public DatabaseHelper(Context context,String name,int version){ this(context, name,null,version); //注意第三个参数NULL,可见这里实际上还是调用上面的构造函数。 }
public DatabaseHelper(Context context,String name){
this(context,name,VERSION); //注意第三个VERSION,已经定义为1,所有实际上还是调用上面的构造函数。
}
//该函数是在第一次创建数据库的时候执行,实际上是在第一次得到SQLiteDatabse对象的时候,才会调用这个方法
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
System.out.println("create a Database");
//execSQL函数用于执行SQL语句
db.execSQL("create table user(id int,name varchar(20))"); //创建表名为user,有两列,id 和 name 。
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //更新数据库的版本。
// TODO Auto-generated method stub
System.out.println("update a Database");
}
}
3、数据库的实现方法:
先获得那几个按钮:
public class SQLiteActivity extends Activity {
/** Called when the activity is first created. */
//更新操作就相当于执行SQL语句当中的update语句 UPDATE table_name SET XXCOL=XXX WHERE XXCOL=XX...
class UpdateRecordListener implements OnClickListener{ //更新数据库里面的内容。 @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//得到一个可写的SQLiteDatabase对象
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_mars_db");
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "zhangsanfeng");
//第一个参数是要更新的表名 //第二个参数是一个ContentValeus对象 //第三个参数是where子句
db.update("user", values, "id=?", new String[]{"1"});
}
}
class QueryListener implements OnClickListener{ //查询数据库内容
@Override
public void onClick(View v) {
System.out.println("aaa------------------");
Log.d("myDebug", "myFirstDebugMsg");
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_mars_db");
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor cursor = db.query("user", new String[]{"id","name"}, "id=?", new String[]{"1"}, null, null, null);
while(cursor.moveToNext()){
String name = cursor.getString(cursor.getColumnIndex("name"));
System.out.println("query--->" + name);
}
}
}