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

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

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

3、数据库操作:

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

B、执行sql语句;

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

具体代码可参考如下:

Java代码
  1. staticbooleaninstallDefaultSitesToDB(Contextcxt){
  2. //确认目标数据库文件
  3. Filepath=cxt.getDir("databases",Context.MODE_WORLD_WRITEABLE);
  4. path=newFile(path,"db_name.db");
  5. SQLiteDatabasedb=null;
  6. try{
  7. //打开数据库
  8. db=openDB(path.getAbsolutePath());
  9. if(db==null){
  10. //Log.e("tag","opendb_name.dbERROR~");
  11. returnfalse;
  12. }
  13. db.beginTransaction();//开始事务
  14. booleanbool=doInstallData(db);//执行sql语句,插入数据
  15. //设置事务标志
  16. if(bool){
  17. db.setTransactionSuccessful();//设置事务标志
  18. }else{
  19. //Log.w("tag","doInstall.DEFAULT_SITESFail~!");
  20. }
  21. returnbool;
  22. }finally{
  23. if(db!=null){
  24. //结束事务
  25. if(db.inTransaction()){db.endTransaction();}
  26. db.close();
  27. }
  28. }
  29. }
  30. privatestaticSQLiteDatabaseopenDB(Stringfile){
  31. try{
  32. //SQLiteDatabase.openOrCreateDatabase(file,null);
  33. intflag=SQLiteDatabase.OPEN_READWRITE;
  34. flag=flag|SQLiteDatabase.CREATE_IF_NECESSARY;
  35. flag=flag|SQLiteDatabase.NO_LOCALIZED_COLLATORS;
  36. SQLiteDatabasedb=SQLiteDatabase.openDatabase(file,null,flag);
  37. returndb;
  38. }catch(Throwablee){
  39. //Log.e("tag","openDatabaseerror:"+e.getMessage());
  40. returnnull;
  41. }
  42. }
  43. //
  44. privatestaticbooleandoInstallData(SQLiteDatabasedb){
  45. try{
  46. //createtable
  47. Stringsql="CREATETABLEIFNOTEXISTSPermissions(originTEXTUNIQUENOTNULL,allowINTEGERNOTNULL)";
  48. db.execSQL(sql);
  49. ContentValuescv=newContentValues();
  50. for(Stringsite:DEFAULT_SITES){
  51. cv.clear();
  52. cv.put("origin",site);
  53. cv.put("allow",1);
  54. longret=db.insertOrThrow("Permissions",null,cv);
  55. Log.d("tag","db.insert.RET:"+ret);
  56. }
  57. returntrue;
  58. }catch(SQLExceptionse){
  59. Stringmsg="doInstall.error:[%s].%s";
  60. Log.d("tag",String.format(msg,se.getClass(),se.getMessage()));
  61. returnfalse;
  62. }
  63. }

更多相关文章

  1. android数据存储
  2. Android入门:SQLite
  3. android 常用的数据库表以及操作说明
  4. 4.11笔记 android database打开方式,ios反射
  5. 在Android中查看和管理sqlite数据库
  6. Android中SQLite数据库存储方式 .(转)
  7. Android数据库工具ORM-greenDAO学习
  8. Android短彩信数据库信息整理
  9. Android(安卓)中数据库查询方法 query() 中的 selectionArgs 的

随机推荐

  1. Android Lights
  2. Android 圆角图片
  3. Android--DatePickerDialog日期控件
  4. Android之简单的拍照功能
  5. android dialog样式
  6. 一个挺好用的花样开源神器
  7. Android 自音乐播放器源代码
  8. Android RadioGroup RadioButton 自定义
  9. android ImageView 显示本地图片
  10. android屏幕截图