Bevor alles, was Sie SQLiteOpenHelper verwenden können. Es ist der bevorzugte Weg, um Dinge mit der Datenbank zu tun. Diese Klasse verfügt über eine onCreate(SQLiteDatabase)
-Methode, die beim ersten Erstellen der Datenbank aufgerufen wird. Ich denke, es steht dir gut.
Wenn Sie mehr Flexibilität wünschen und Ihre erste Logik nicht nur mit der Datenbank verknüpft ist, können Sie das zuvor bereitgestellte Beispiel verwenden. Sie müssen es nur in den Startpunkt stellen.
Es gibt 2 Anlaufstellen. Wenn Sie nur einzelne Aktivität haben, können Sie Ihren Code in onCreate
Methode setzen, so wird es so sein:
public void onCreate(Bundle savedInstanceState) {
// don't forget to call super method.
super.onCreate(savedInstanceState);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
if (!prefs.getBoolean("firstTime", false)) {
// <---- run your one time code here
databaseSetup();
// mark first time has runned.
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("firstTime", true);
editor.commit();
}
}
Vergessen Sie nicht activity declaration in manifest zu setzen, sowie es intentfilters ist (action = MAIN
, category = LAUNCHER
).
Wenn Sie mehr als eine Aktivität haben und Ihre Startlogik nicht duplizieren möchten, können Sie Ihre Initialisierungslogik einfach in die Anwendungsinstanz einfügen, die vor allen Aktivitäten (und anderen Komponenten wie Diensten, Sendeempfängern) erstellt wird , Anbieter von Inhalten).
Erstellen Sie einfach Klasse wie folgt aus:
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
if (!prefs.getBoolean("firstTime", false)) {
// <---- run your one time code here
databaseSetup();
// mark first time has runned.
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("firstTime", true);
editor.commit();
}
}
Alles was Sie brauchen für diese zu arbeiten, in application
Tag in AndroidManifest.xml gesetzt wird Attribut android: name = "App.".
<!-- other xml stuff -->
<application ... android:name=".App">
<!-- yet another stuff like nextline -->
<activity ... />
</application>
Vielen Dank, dein Code rette mich von der Welt. –