Android中SQLite操作示例

在Android中对SQLite数据库的操作,涉及以下几个方面:

1、确认数据库文件,即.db文件;

2、通过android.database.sqlite. SQLiteDatabase类的openOrCreateDatabase()方法打开数据库;

3、数据库操作:

A、开始事务: SQLiteDatabase.beginTransaction();

B、执行sql语句;

C、结束事务: SQLiteDatabase.endTransaction();

具体代码可参考如下:

static boolean installDefaultSitesToDB(Context cxt) {// 确认目标数据库文件File path = cxt.getDir("databases", Context.MODE_WORLD_WRITEABLE);path = new File(path, "db_name.db");SQLiteDatabase db = null;try {              // 打开数据库              db = openDB(path.getAbsolutePath());if (db == null) {//Log.e("tag", "open db_name.db ERROR~");return false;}db.beginTransaction();//开始事务                boolean bool = doInstallData(db);//执行sql语句,插入数据               //设置事务标志                if (bool) {db.setTransactionSuccessful();// 设置事务标志} else {//Log.w("tag", "doInstall.DEFAULT_SITES Fail~!");}return bool;} finally {if (db != null) {                        //结束事务if (db.inTransaction()) {db.endTransaction();}db.close();}}}private static SQLiteDatabase openDB(String file) {try {//SQLiteDatabase.openOrCreateDatabase(file, null);int flag = SQLiteDatabase.OPEN_READWRITE;flag = flag | SQLiteDatabase.CREATE_IF_NECESSARY;flag = flag | SQLiteDatabase.NO_LOCALIZED_COLLATORS;SQLiteDatabase db = SQLiteDatabase.openDatabase(file, null, flag);return db;} catch (Throwable e) {//Log.e("tag","openDatabase error:" + e.getMessage());return null;}}//private static boolean doInstallData(SQLiteDatabase db) {try {//create tableString sql = "CREATE TABLE IF NOT EXISTS Permissions (origin TEXT UNIQUE NOT NULL, allow INTEGER NOT NULL)";db.execSQL(sql);ContentValues cv = new ContentValues();for (String site : DEFAULT_SITES) {cv.clear();cv.put("origin", site);cv.put("allow", 1);long ret = db.insertOrThrow("Permissions", null, cv);Log.d("tag", "db.insert.RET:" + ret);}return true;} catch (SQLException se) {String msg = "doInstall.error:[%s].%s";Log.d("tag",String.format(msg, se.getClass(),se.getMessage()));return false;}}

更多相关文章

  1. Android联系人数据库全解析(5)
  2. Android 时间对象操作工具类
  3. android操作xml
  4. Android--通过关键字查找短消息数据库并将匹配的信息显示
  5. android的文件、目录操作
  6. Nodejs 或 js 判断手机操作系统 Android or IOS
  7. android文件操作的实例
  8. Android手机操作系统中实现图片浏览

随机推荐

  1. android tabHost布局之一 继承TabActivit
  2. Android路径中提取文件名
  3. Android优秀开源项目(二)
  4. Android电量计重要的类及函数介绍
  5. 关于Android获取屏幕分辨率大小
  6. Android(安卓)高仿QQ 好友分组列表
  7. Androi 编译报错OSError: [Errno 2] No s
  8. Android电源管理之一:基础概览
  9. Android自定义属性时format选项( )
  10. 【Android(安卓)应用开发】Activity 状态