构建我的Android Sqlite流的最佳方法是什么?

时间:2012-02-25 20:56:19

标签: android sqlite feed

我正在对我的应用进行一些重构,并尝试使用最佳实践来处理数据库。 有人可以建议最好的方法来检查数据库是否存在并执行更新。 我目前使用的方法是: 1.打开可读数据库。 2.检查表是否在那里,如果没有触发Sql异常 3a在异常处理中,我正在关闭数据库 3B。打开可写数据库: 3c在sql异常中执行create table并从我的Json feed执行初始更新。

这是管理数据库和更新的最佳方式吗?或者我应该采用不同的方式来提高效率?

2 个答案:

答案 0 :(得分:0)

我建议在那里添加事务支持,如果在更新数据库期间出现任何问题,您可以选择回滚。

据我所知,如果你在sqlite上进行多重查询,建议在交易中将这些问题拿出来,原因是上述原因,其次是速度。

答案 1 :(得分:0)

我使用以下方法:

  private boolean checkDataBase(){

    SQLiteDatabase checkDB = null;

    try{
        String myPath = DB_PATH + DB_NAME;
        checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE);
        long result =  DatabaseUtils.longForQuery(checkDB,"SELECT count() FROM sqlite_master WHERE type='table' AND name='table_name'",null);
        if(result == 0)
            checkDB = null;

    }catch(SQLiteException e){

        Log.e("", e.getLocalizedMessage()+e.getMessage()+e.getCause()+
                Arrays.toString(e.getStackTrace()));

    }

    if(checkDB != null){

        checkDB.close();

    }
 return checkDB != null ? true : false;
}