我正在试图弄清楚我需要做什么的顺序让我的程序流畅而不会崩溃。我希望我的游戏玩家拥有一个由三人组成的团队作为他们自己的班级,其中包括攻击,健康等等。
我有一个处理Db的SQLite Adapter类但是我不知道如何订购所有内容以便我首先检查程序Db路径中是否有Db,如果有则打开它。否则只需创建一个新的并用初始字符填充它。
我目前有:
DbAdapter = new PlayerDbAdapter(this);
DbAdapter.open();
DbAdapter.setInitialPlayers(); // inserts my initial player object info into the Db
调用
public PlayerDbAdapter open() throws SQLException {
dbHelper = new SummonSQLiteHelper(context);
String s = DbPath + DB_NAME;
database = SQLiteDatabase.openOrCreateDatabase(s, null);
return this;
}
现在我有点迷失了我需要确保每次启动程序时都不会使用初始值覆盖Db中任何已保存的信息。有什么建议吗?
答案 0 :(得分:0)
试试这个
public PlayerDbAdapter open() throws SQLException {
dbHelper = new SummonSQLiteHelper(context);
String s = DbPath + DB_NAME;
bool b=checkDataBase(s);
if(b==false)
{
database = SQLiteDatabase.openOrCreateDatabase(s, null);
setInitialPlayers(); <---- set initial values here
}
else
{
database = SQLiteDatabase.openOrCreateDatabase(s, null);
}
return this;
}
private boolean checkDataBase(String str) {
SQLiteDatabase checkDB = null;
try {
checkDB = SQLiteDatabase.openDatabase(str, null,
SQLiteDatabase.OPEN_READONLY);
checkDB.close();
} catch (SQLiteException e) {
// database doesn't exist yet.
}
return checkDB != null ? true : false;
}