在我的程序中,我該如何設置我的SQLite數據庫第一次?什麼是程序結構來做到這一點?如何首次設置android應用程序?
只有我能想到的辦法就是保持一個第一次布爾:
如果(isFirstInstall)設置();
這似乎很不專業。有沒有onFirstInstall()調用這些設置完成?
在我的程序中,我該如何設置我的SQLite數據庫第一次?什麼是程序結構來做到這一點?如何首次設置android應用程序?
只有我能想到的辦法就是保持一個第一次布爾:
如果(isFirstInstall)設置();
這似乎很不專業。有沒有onFirstInstall()調用這些設置完成?
試試這個
private SharedPreferences mPreferences;
boolean firstTime = mPreferences.getBoolean("firstTime", true);
if (firstTime) {
SharedPreferences.Editor editor = mPreferences.edit();
editor.putBoolean("firstTime", false);
editor.commit();
showMiddleActivity();
}
您可以使用此代碼嘗試。
呼叫checkFirstLaunch();來自onCreate()的。
private boolean checkFirstLaunch() {
try {
PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), 0);
//int currentVersion = info.versionCode;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
int lastVersion = prefs.getInt(PreferencesActivity.KEY_HELP_VERSION_SHOWN, 0);
if (lastVersion == 0) {
isFirstLaunch = true;
} else {
isFirstLaunch = false;
}
} catch (PackageManager.NameNotFoundException e) {
Log.w(TAG, e);
}
return false;
}
你得到布爾結果。
if (isFirstLaunch) {
//code
}
而是找出羯羊這是你第一次啓動時如果缺少,你可以檢查db是有與否,創造它。
public void createDataBase() throws IOException {
if (checkIfDataBaseExist()) {
// db exists, do nothing
} else {
// By calling this method and empty database will be created into
// the default system path of your application
this.getReadableDatabase();
try {
// Do you db copying here
} catch (IOException e) {
throw new Error("Error copying database");
}
}
}
private boolean checkIfDataBaseExist() {
File dbFile = new File(DB_PATH + DB_NAME);
return dbFile.exists();
}