Android中SQLite操作示例
16lz
2022-04-12
在Android中对SQLite数据库的操作,涉及以下几个方面:
1、确认数据库文件,即.db文件;
2、通过android.database.sqlite. SQLiteDatabase类的openOrCreateDatabase()方法打开数据库;
3、数据库操作:
A、开始事务: SQLiteDatabase.beginTransaction();
B、执行sql语句;
C、结束事务: SQLiteDatabase.endTransaction();
具体代码可参考如下:
Java代码- staticbooleaninstallDefaultSitesToDB(Contextcxt){
- //确认目标数据库文件
- Filepath=cxt.getDir("databases",Context.MODE_WORLD_WRITEABLE);
- path=newFile(path,"db_name.db");
- SQLiteDatabasedb=null;
- try{
- //打开数据库
- db=openDB(path.getAbsolutePath());
- if(db==null){
- //Log.e("tag","opendb_name.dbERROR~");
- returnfalse;
- }
- db.beginTransaction();//开始事务
- booleanbool=doInstallData(db);//执行sql语句,插入数据
- //设置事务标志
- if(bool){
- db.setTransactionSuccessful();//设置事务标志
- }else{
- //Log.w("tag","doInstall.DEFAULT_SITESFail~!");
- }
- returnbool;
- }finally{
- if(db!=null){
- //结束事务
- if(db.inTransaction()){db.endTransaction();}
- db.close();
- }
- }
- }
- privatestaticSQLiteDatabaseopenDB(Stringfile){
- try{
- //SQLiteDatabase.openOrCreateDatabase(file,null);
- intflag=SQLiteDatabase.OPEN_READWRITE;
- flag=flag|SQLiteDatabase.CREATE_IF_NECESSARY;
- flag=flag|SQLiteDatabase.NO_LOCALIZED_COLLATORS;
- SQLiteDatabasedb=SQLiteDatabase.openDatabase(file,null,flag);
- returndb;
- }catch(Throwablee){
- //Log.e("tag","openDatabaseerror:"+e.getMessage());
- returnnull;
- }
- }
- //
- privatestaticbooleandoInstallData(SQLiteDatabasedb){
- try{
- //createtable
- Stringsql="CREATETABLEIFNOTEXISTSPermissions(originTEXTUNIQUENOTNULL,allowINTEGERNOTNULL)";
- db.execSQL(sql);
- ContentValuescv=newContentValues();
- for(Stringsite:DEFAULT_SITES){
- cv.clear();
- cv.put("origin",site);
- cv.put("allow",1);
- longret=db.insertOrThrow("Permissions",null,cv);
- Log.d("tag","db.insert.RET:"+ret);
- }
- returntrue;
- }catch(SQLExceptionse){
- Stringmsg="doInstall.error:[%s].%s";
- Log.d("tag",String.format(msg,se.getClass(),se.getMessage()));
- returnfalse;
- }
- }
更多相关文章
- android数据存储
- Android入门:SQLite
- android 常用的数据库表以及操作说明
- 4.11笔记 android database打开方式,ios反射
- 在Android中查看和管理sqlite数据库
- Android中SQLite数据库存储方式 .(转)
- Android数据库工具ORM-greenDAO学习
- Android短彩信数据库信息整理
- Android(安卓)中数据库查询方法 query() 中的 selectionArgs 的