1. 程式人生 > >【安卓9】SQLiteOpenHelper 類、增刪改操作

【安卓9】SQLiteOpenHelper 類、增刪改操作

and arc 插入 被調用 val etc left nts ces

SQLiteOpenHelper 類

SQLiteOpenHelper類是Android提供的用於操作SQLite數據庫的工具類,該工具類能方便地創建數據庫、表,以及管理數據庫版本。

            常用方法

1、 synchronized SQLiteDatabase getReadableDatabase();

作用:以讀寫的方式打開數據庫對應的SQLiteDatabase類的對象

2、 synchronized SQLiteDatabase getWriteableDatabase();

作用:以寫的方式創建或打開庫對應的SQLiteDatabase類的對象

3、 abstract onCreate(SQLiteDatabase db);

作用:首次創建數據庫時調方法。

4、 abstract onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion);

作用:數據庫版本更新時調方法。

5、 synchronized void close();

作用:關閉所有打開的SQLiteDatabase對象。

增、刪、改操作【定義MySQLiteOpenHelper】

技術分享
 1 public class MySQLiteOpenHelper extends
SQLiteOpenHelper{ 2 /**重寫父類構造方法*/ 3 public MySQLiteOpenHelper(Context context) { 4 //創建指定數據庫:Activity對象,數據庫文件名,遊標工廠,數據庫版本號 5 super(context,"person.db",null,1); 6 } 7 /**只在第一次創建數據庫時調用,數據庫只用在調用 8 getWritableDatabase 時候才會真正被調用 */ 9 public void onCreate(SQLiteDatabase db) {
10 db.execSQL("create table if not exists person(" 11 +"pid integer primary key autoincrement," 12 +"name varchar(20),"+"phone varchar(12));"); 13 } 14 /**修改表結構,數據庫版本更新時調用*/ 15 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 16 } 17 /**向數據庫插入數據*/ 18 public void insert(String sql,String [] args){ 19 //創建對象,以寫方式打開數據庫 20 SQLiteDatabase db=this.getWritableDatabase(); 21 db.execSQL(sql,args); 22 } 23 /**刪除數據庫中的數據*/ 24 public void delete(String sql,String [] args){ 25 SQLiteDatabase db=this.getWritableDatabase(); 26 db.execSQL(sql,args); 27 } 28 /**更新數據庫中的數據*/ 29 public void update(String sql,String [] args){ 30 SQLiteDatabase db=this.getWritableDatabase(); 31 db.execSQL(sql,args); 32 } 33 }
MySQLiteOpenHelper類代碼 技術分享
 1 public class Main extends Activity implements OnClickListener{
 2     private  Button  save;        //插入數據按鈕
 3     private  Button  delete;        //刪除數據按鈕
 4     private  Button  update;        //更新數據按鈕
 5     public void onCreate(Bundle savedInstanceState) {
 6         super.onCreate(savedInstanceState);
 7         setContentView(R.layout.main);
 8         save=(Button)findViewById(R.id.save);
 9         delete=(Button)findViewById(R.id.delete);
10         update=(Button)findViewById(R.id.update);
11         save.setOnClickListener(this);
12         delete.setOnClickListener(this);
13         update.setOnClickListener(this);
14     } 
15     public void onClick(View v) {
16        MySQLiteOpenHelper  db=new MySQLiteOpenHelper(Main.this);
17        switch(v.getId()){
18         case R.id.save:
19             db.insert("insert into person(name) values(?)",new String[]{"張飛"});
20             Toast.makeText(this,"插入成功",3000).show();
21         break;
22         case R.id.delete:
23             db.insert("delete from person where id=?",new String[]{"1"});
24             Toast.makeText(this,"刪除成功",3000).show();
25         break;
26         case R.id.update:
27             db.insert("update person set name=? where id=1",new String[]{"關羽"});
28             Toast.makeText(this,"更新成功",3000).show();
29         break;
30        }
31     }
32 }
Activity代碼

【安卓9】SQLiteOpenHelper 類、增刪改操作