1,創建SqLitDBHelper類,繼承android.database.sqlite.SQLiteOpenHelper,重載onCreate()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
package tools; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; public class SqLitDBHelper extends SQLiteOpenHelper { public SqLitDBHelper(Context context, String name, CursorFactory factory, int version) { super (context, name, factory, version); // TODO Auto-generated constructor stub } @Override public void onCreate(SQLiteDatabase arg0) { //Called when the database is created for the first time // TODO Auto-generated method stub arg0.execSQL( "create table userinfo(userId long,userName varchar(25))" ); } @Override public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) { // TODO Auto-generated method stub } } |
2,對數據庫進行操作,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
package test.activity.sqlite; import tools.BackgroundMusicPlay; import tools.SqLitDBHelper; import android.app.Activity; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; import com.sl.androidgametest.R; public class MySqliteTest extends Activity implements OnClickListener { private Button btn_sqlCreat; // 創建數據庫 private Button btn_sqlInsert; // 插入數據 private Button btn_sqlUpdate; // 更新數據 private Button btn_sqlQuerry; // 查詢數據 SqLitDBHelper dbh; //聲明SqLitDBHelper @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_next); //創建數據庫:tsetDb1 dbh= new SqLitDBHelper(MySqliteTest. this , "tsetDb1" , null , 1 ); btn_sqlCreat = (Button) findViewById(R.id.sqlCreate); btn_sqlInsert = (Button) findViewById(R.id.sqlInsert); btn_sqlUpdate = (Button) findViewById(R.id.sqlUpdate); btn_sqlQuerry = (Button) findViewById(R.id.sqlQuerry); btn_sqlCreat.setOnClickListener( this ); btn_sqlInsert.setOnClickListener( this ); btn_sqlUpdate.setOnClickListener( this ); btn_sqlQuerry.setOnClickListener( this ); } @Override public void onClick(View arg0) { switch (arg0.getId()) { case R.id.sqlCreate: //Create and/or open a database that will be used for reading and writing. SQLiteDatabase sqldb = dbh.getWritableDatabase(); // System.out.println( "create or open database success!" ); break ; case R.id.sqlInsert: ContentValues ctv = new ContentValues(); // 得到ContentValues對象 ctv.put( "userId" , 1 ); // 放入鍵值對,鍵要與列名一致,值要與列的數據類型一致 ctv.put( "userName" , "小名" ); // 放入鍵值對,鍵要與列名一致,值要與列的數據類型一致 SQLiteDatabase sqldb1 = dbh.getWritableDatabase(); // 得到一個SQLiteDatabase對象,用於操控數據庫 sqldb1.insert( "userinfo" , null , ctv); // 增加數據庫記錄 System.out.println( "success insert a new content!" ); break ; case R.id.sqlUpdate: ContentValues ctv1 = new ContentValues(); ctv1.put( "userName" , "小明" ); SQLiteDatabase sqldb2 = dbh.getWritableDatabase(); // 得到一個SQLiteDatabase對象,用於操控數據庫 try { sqldb2.update( "userinfo" , ctv1, "userId=?" , new String[] { "1" }); // 更新數據庫記錄 } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println( "success updata the content!" ); break ; case R.id.sqlQuerry: SQLiteDatabase sqldb3 = dbh.getWritableDatabase(); // 得到一個SQLiteDatabase對象,用於操控數據庫 Cursor cursor; try { cursor = sqldb3.query( "userinfo" , new String[] { "userId" , "userName" }, "userId=?" , new String[] { "1" }, null , null , null ); while (cursor.moveToNext()) { // 打印輸出 String name = cursor.getString(cursor .getColumnIndex( "userName" )); System.out.println( "query result:-->neme=" + name); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } break ; } } } |
3,關於SQLiteOpenHelper的其他方法可查看api文檔http://tool.oschina.net/apidocs/apidoc?api=android/reference