结合SQLiteOpenHelper使用单例模式
2014-07-03 10:19
267 查看
SQLite继承SQLiteOpenHelper类单例模式的实现:
public class DBHelper extends SQLiteOpenHelper {private final static String DB_NAME="my_info";
private final static int VERSION =1;
private static DBHelper instance=null;
public static DBHelper getInstance(Context context){
if(instance==null){
instance=new DBHelper(context);
}
return instance;
}
private DBHelper(Context context){
super(context, DB_NAME, null, VERSION);
}
........
}
4.建表语句在onCreate()方法中的实现:
@Overridepublic void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
//建表语句直接使用db.execSQL(String sql)方法执行SQL建表语句
String createTable="create table user(id integer primary key,name text,age integer);";
db.execSQL(createTable);
}
5.SQLite增删改查的实现
public static void insertInfo(Context context,Info info) {
SQLiteDatabase db=DBHelper.getInstance(context).getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", info.getName());
values.put("age", info.getAge());
db.insert("user", null, values);
db.close();
}
//删除信息
public static void deleteInfo(Context context,int id) {
SQLiteDatabase db=DBHelper.getInstance(context).getWritableDatabase();
db.delete("user", "id=" + id, null);
db.close();
}
//更新信息
public static void updateInfo(Context context,int id,Info info) {
SQLiteDatabase db=DBHelper.getInstance(context).getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", info.getName());
values.put("age", info.getAge());
db.update("user", values, "id="+id, null);
db.close();
}
// 查找所有用户信息
public List<Info> queryAllInfo(Context context) {
SQLiteDatabase db=DBHelper.getInstance(context).getWritableDatabase();
List list = new ArrayList<Info>();
Cursor cursor = db.query("user", null, null, null, null, null, null);
if (cursor.moveToFirst()) {
do {
int age = cursor.getInt(cursor.getColumnIndex("age"));
String name = cursor.getString(cursor.getColumnIndex("name"));
Info info=new Info();
info.setName(name);
info.setAge(age);
list.add(info);
} while (cursor.moveToNext());
}
db.close();
return list;
}
6.插入一条测试数据
点击按钮:按钮的事件处理如下:
private OnClickListener listener=new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Info info=new Info("Jun",21);
DBHelper.getInstance(ShowActivity.this).insertInfo(ShowActivity.this, info);
Toast.makeText(ShowActivity.this, "insert data success!", Toast.LENGTH_SHORT).show();
}};
数据库中SQLite数据库中user表中的信息为:
相关文章推荐
- 使用SQLiteOpenHelper和单例模式操作SQLite数据库
- android SQLiteOpenHelper和ContentProvider的结合使用
- 使用SQLiteOpenHelper和单例模式操作SQLite数据库
- MonoDroid学习笔记(十一)—— 使用SQLiteOpenHelper实现简易备忘录
- Android SQLiteOpenHelper使用示例
- 使用SQLiteOpenHelper对数据库进行版本管理
- android SQLiteOpenHelper使用示例
- 《单例模式》之双重检查加锁DCL(结合SQLiteOpenHelper实例)
- 使用SQLiteOpenHelper
- Android 使用SQLiteOpenHelper对数据库进行版本管理
- 使用SQLiteOpenHelper获取用于操作数据库的SQLiteDatabase实例
- 使用SQLiteOpenHelper对数据库进行版本管理
- Android SQLiteOpenHelper的使用心得
- 【转】Android使用SQLiteOpenHelper对数据库进行版本管理【学习记录】
- SQLiteOpenHelper的使用
- SQLiteOpenHelper的使用,对数据库操作的封装
- Android--类--SQLiteOpenHelper使用示例--01
- SQLite使用方法 SQLiteOpenHelper操作
- SQLiteOpenHelper的使用范例
- MonoDroid学习笔记(十一)—— 使用SQLiteOpenHelper实现简易备忘录