Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android sqlite 使用(1)

android sqlite 使用(1)

編輯:關於Android編程

Android操作系統使用SQLite數據庫,使用有兩種方法獲得數據庫對象:

1.獲取已經存在的數據庫

SQLiteDatabase dbbrndi=SQLiteDatabase.openDatabase("/sdcard/zhycheng.db3", null,SQLiteDatabase.OPEN_READONLY);


第一個String參數是數據庫在文件系統中的位置,第二個參數一般為null,第三個參數控制數據庫打開的方式。

這樣就獲得了數據庫對象。

2.自己創建數據庫

新建一個類,繼承SQLiteOpenHelper,添加未實現的方法

代碼如下

package your.zhycheng;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class MyHelper extends SQLiteOpenHelper{

	public MyHelper(Context context, String name)
	{
		this(context,name,1);
	}
	public MyHelper(Context context, String name,int version)
	{
		this(context,name,null,version);
	}
	public MyHelper(Context context, String name,//數據庫的名字
			CursorFactory factory,
			int version) {
		super(context, name, factory, version);
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		db.execSQL("create table user(id int,name text)");
		
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		
	}

}


獲得的數據庫位於/data/data/yourpackage/databases/zhycheng.db3
然後通過生成一個MyHelper類的對象,調用

MyHelper mh=new MyHelper(this,"zhycheng");
SQLiteDatabase db=mh.getReadableDatabase();
SQLiteDatabase db=mh.getWritableDatabase();


分別獲得只讀和可寫的數據庫。

獲得數據庫之後就可以進行數據庫操作有以下兩種方式操作數據庫

1.執行SQL語句

db.rawQuery(sql,Args)
db.execSQL(sql, Args)
db.execSQL(sql)


上面的sql是String類型的數據庫語言,Args是String數組。前面String中若有"?"則對應後面的值。

2.使用特定的方法

插入方法

MyHelper mhz=new MyHelper(this,"zhycheng",2);
SQLiteDatabase dbz=mhz.getWritableDatabase();
ContentValues value=new ContentValues();
value.put("id", 1);
value.put("name", "zhangyicheng");
dbz.insert("user", null, value);//第二個參數一定是null


刪除方法

                   MyHelper mhsc=new MyHelper(this,"zhycheng",2);
   SQLiteDatabase dbsc=mhsc.getWritableDatabase();
   dbsc.delete("user", "id=?", new String[]{"1"});
   dbsc.close();

改方法

                   MyHelper mhg=new MyHelper(this,"zhycheng",2);
			SQLiteDatabase dbg=mhg.getWritableDatabase();
			ContentValues vs=new ContentValues();
			vs.put("id", 1);
			dbg.update("user", vs, //set XXX=xx
					"id=?", new String[]{"4"}//id=4
			);//


查方法

MyHelper mhc=new MyHelper(this,"zhycheng",2);
SQLiteDatabase dbc=mhc.getReadableDatabase();
Cursor c=dbc.query("user",//表名字
new String[]{"id","name"},//查詢的列
	"id=?", new String[]{"2"}, //where
	null, null, null);
while(c.moveToNext())
{
				System.out.println(c.getString(c.getColumnIndex("name")));
}


最後有一個函數很有用

insert into user values(7,datetime(CURRENT_TIMESTAMP,'localtime'))



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved