package com.gggeye.android;
import java.io.FileNotFoundException;
import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.util.Log;
public class AndroidSQLDemo extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
DBHelper dh = new DBHelper(this);
//dh.
dh.openDatabase("wuhua", true);
Bitmap bit = android.graphics.BitmapFactory.decodeResource(this.getResources(), R.drawable.icon);
ContentValues cv = new ContentValues ();
byte[] bytes = "wuhua".getBytes();
for(int i=0; i<bytes.length; i++){
cv.put("wuhua", bytes[i]);
}
try{
dh.getDBInstance().execSQL("create table ren");
dh.getDBInstance().insert("ren", "hao", cv);
}catch(Exception e){
Log.d("sqldemo", e.toString());
}
}
}
class DBHelper {
private SQLiteDatabase db = null;
private Context ctx = null;
public DBHelper(Context ctx) {
this.ctx = ctx;
}
/**
* 判断数据库是否存在
*
* @param dbName
* 数据库名称
* @return true存在 false不存在
*/
public boolean exist(String dbName) {
Log.d("sqldemo","called fun : exist()");
boolean flag = false;
try {
db = ctx.openDatabase(dbName, null);
Log.d("sqldemo","database/" + dbName + " exist");
flag = true;
} catch (FileNotFoundException e) {
flag = false;
Log.d("sqldemo","database/" + dbName + " not exist");
} finally {
if (db != null)
db.close();
db = null;
}
return flag;
}
/**
* 打开数据库
*
* @param dbName
* 数据库名称
* @return true 打开成功 false打开失败
*/
public boolean openDatabase(String dbName, boolean created) {
return openDatabase(dbName, null, created);
}
/**
* 打开数据库
*
* @param dbName
* 数据库名称
* @param factory
* @return true 打开成功 false打开失败
*/
public boolean openDatabase(String dbName, CursorFactory factory,
boolean created) {
Log.d("sqldemo","called fun : openDatabase()");
Log.d("sqldemo","called fun : if not exist then created " + dbName + " ? : "
+ created);
boolean flag = false;
if (exist(dbName)) {
try {
db = ctx.openDatabase(dbName, factory);
Log.d("sqldemo","database/" + dbName + " is opened");
flag = true;
} catch (FileNotFoundException e) {
Log.d("sqldemo","database/" + dbName + " is not opened");
flag = false;
}
} else {
if (created) {
flag = createDatabase(dbName, 1, 0, factory);
} else {
flag = false;
}
}
return flag;
}
/**
* 创建数据库
*
* @param dbName
* 数据库名称
* @param version
* 数据库版本
* @param mode
* 模式
* @param factory
* @return true 建立成功 false 建立失败
*/
public boolean createDatabase(String dbName, int version, int mode,
CursorFactory factory) {
Log.d("sqldemo","called fun : createDatabase()");
boolean flag = false;
try {
db = ctx.createDatabase(dbName, version, mode, factory);
Log.d("sqldemo","database/" + dbName + " is created successfully!");
flag = true;
} catch (FileNotFoundException e) {
Log.d("sqldemo","database/" + dbName + " can't be created");
flag = true;
}
return flag;
}
/**
* 建立数据库
*
* @param dbName
* 数据库名称
* @return true 打开成功 false 打开失败
*/
public boolean createDatabase(String dbName) {
return createDatabase(dbName);
}
/**
* 关闭数据库
*
*/
public void closeDatabase() {
Log.d("sqldemo","close database");
if (db != null)
db.close();
db = null;
ctx = null;
}
/**
* 删除表
*
* @param tableName
* 表名
* @return 成功则返回 表名 失败则返回null
*/
public String dropTable(String tableName) {
Log.d("sqldemo","called fun dropTable()");
if (tableName == null) {
Log.d("sqldemo","table name is error! " + tableName + " is null !");
return null;
}
String DROP_TABLE = "DROP TABLE IF EXISTS " + tableName;
db.execSQL(DROP_TABLE);
Log.d("sqldemo","table/" + tableName + " is dropped successfully");
return tableName;
}
/**
* 取得数据库实例
*
* @return 返回数据库实例
*/
public SQLiteDatabase getDBInstance() {
return db;
}
public boolean execSQL(String SQL) {
boolean flag = false;
Log.d("sqldemo","called fun execSQL()");
Log.d("sqldemo","SQL:" + SQL);
try {
db.execSQL(SQL);
Log.d("sqldemo","sql exec successfully!");
flag = true;
} catch (Exception e) {
Log.d("sqldemo","sql exec not successfully!");
flag = false;
}
return flag;
}
}
AndroidDemo.rar
3星 · 超过75%的资源 需积分: 9 160 浏览量
2009-09-13
13:15:45
上传
评论
收藏 65KB RAR 举报
Leaf_KA
- 粉丝: 1
- 资源: 5