Android SQLiteOpenHelper的使用


package com.Aina.Android;

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

/**
* com.Aina.Android Pro_SQLiteDatabase
*
* @author Aina.huang E-mail: 674023920@qq.com
* @version 创建时间:2010 Jun 29, 2010 9:57:21 AM 类说明
*/
public class DatabaseHelper extends SQLiteOpenHelper {

private Context mContext = null;
private String str = "";
private String table = "";

public DatabaseHelper(Context context, String name, CursorFactory factory,
int version, String str, String table) {
super(context, name, factory, version);
this.mContext = context;
this.str = str;
this.table = table;
}

@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(str);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE "+table);
this.onCreate(db);

}
}




package com.Aina.Android;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

/**
* com.Aina.Android Pro_SQLiteDatabase
*
* @author Aina.huang E-mail: 674023920@qq.com
* @version 创建时间:2010 Jun 29, 2010 10:11:57 AM 类说明
*/
public class MyDataBaseAdapter {

private Context mContext = null;
private SQLiteDatabase mSQLiteDatabase = null;
private DatabaseHelper dh = null;
private static final String DB_NAME = "Text.db";
private static final int DB_VERSION = 1;
private static final String TABLE_NAME = "table1";
private static final String COLUMN_ID = "_id";
public static final String COLUMN_NAME = "name";
public static final String COLUMN_DATA = "data";
private static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME
+ " (" + COLUMN_ID + " INTEGER PRIMARY KEY," + COLUMN_NAME
+ " TEXT," + COLUMN_DATA + " INTEGER NOT NULL)";
public MyDataBaseAdapter(Context context){
mContext = context;
}
/**
* 打开数据库
*/
public void open(){
dh = new DatabaseHelper(mContext,DB_NAME,null,DB_VERSION,CREATE_TABLE,TABLE_NAME);
mSQLiteDatabase = dh.getWritableDatabase();
}
/**
* 关闭数据库
*/
public void close(){
dh.close();
}
/**
* 插入
*/
public void insert(){
try{
ContentValues cv = new ContentValues();
cv.put(COLUMN_NAME, "张三");
cv.put(COLUMN_DATA, 10);
mSQLiteDatabase.insert(TABLE_NAME, null, cv);
}catch(Exception ex){
ex.printStackTrace();
}
}
/**
* 修改
*/
public void update(){
try{
String sql = "UPDATE "+TABLE_NAME+" SET "+COLUMN_NAME+" ='李四' WHERE _id=1";
mSQLiteDatabase.execSQL(sql);
}catch(Exception ex){
ex.printStackTrace();
}
}
/**
* 修改
*/
public void delete(){
try{
mSQLiteDatabase.delete(TABLE_NAME, "_id=2", null);
}catch(Exception ex){
ex.printStackTrace();
}
}
/**
* 查询
*/
public Cursor select(){
Cursor cursor = null;
try{
String sql = "SELECT * FROM "+TABLE_NAME;
cursor = mSQLiteDatabase.rawQuery(sql, null);
return cursor;
}catch(Exception ex){
ex.printStackTrace();
return null;
}
}
}




package com.Aina.Android;

import android.app.Activity;
import android.database.Cursor;
import android.graphics.Color;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.LinearLayout;
import android.widget.ListAdapter;
import android.widget.SimpleCursorAdapter;
import android.widget.LinearLayout.LayoutParams;
import android.widget.ListView;

public class Test extends Activity {
/** Called when the activity is first created. */
private MyDataBaseAdapter mdba = null;
private LinearLayout ll = null;
private ListView lv = null;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
ll.setBackgroundColor(Color.BLACK);
ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
lv = new ListView(this);
lv.setBackgroundColor(Color.BLACK);
ll.addView(lv, new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
setContentView(ll);
mdba = new MyDataBaseAdapter(this);
mdba.open();
this.show();
}

@Override
protected void onPause() {
super.onPause();
mdba.close();
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_LEFT:
mdba.insert();
break;
case KeyEvent.KEYCODE_DPAD_RIGHT:
mdba.delete();
break;
case KeyEvent.KEYCODE_DPAD_UP:
mdba.update();
break;
}
this.show();
return super.onKeyDown(keyCode, event);
}

private void show() {
Cursor cursor = mdba.select();
if (cursor != null) {
ListAdapter adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_2, cursor, new String[] {
MyDataBaseAdapter.COLUMN_NAME,
MyDataBaseAdapter.COLUMN_DATA }, new int[] {
android.R.id.text1, android.R.id.text2 });
lv.setAdapter(adapter);
}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值