在Android中afinal框架下实现sqlite数据库版本升级的办法
上一篇文章采用的是SQLiteOpenHelper中的onUpgrade方法实现数据库的升级。
首先获取Context:
private Context mContext=this;
然后实现FinalDb内的静态方法:
FinalDb.create(mContext,"afinal.db",true,2,this);
实现FinalDb的DbUpdateListener接口中的方法:
@Override public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) { // TODO Auto-generated method stub try { InputStream in = mContext.getAssets().open("patch.sql"); BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(in)); String sqlUpdate = null; while ((sqlUpdate = bufferedReader.readLine()) != null) { if (!TextUtils.isEmpty(sqlUpdate)) { db.execSQL(sqlUpdate); } } bufferedReader.close(); in.close(); } catch (SQLException e) { System.out.println(e.toString()); } catch (IOException e) { System.out.println(e.toString()); } }
时间紧迫,没有写太多,大家可以自己研究。