android之sqlite簡單使用

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",null1);
  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,
      nullnull);
    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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章