在所有操作中,您可以使用SQLiteOpenHelper。这是处理数据库的首选方式。该类有一个onCreate(SQLiteDatabase)
方法,在首次创建数据库时调用。我认为它非常适合您。
如果您想要更多灵活性,并且您的第一次逻辑不仅与数据库相关,您可以使用先前提供的示例。您只需要将其放在启动位置即可。
有2个启动位置。如果您只有单个活动,则可以将代码放在onCreate
方法中,就像这样:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
if (!prefs.getBoolean("firstTime", false)) {
databaseSetup();
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("firstTime", true);
editor.commit();
}
}
不要忘记在清单文件中添加
活动声明以及它的
意图过滤器(操作=
MAIN
,类别=
LAUNCHER
)。
如果您有多个活动并且不想复制启动逻辑,您可以将初始化逻辑放在应用程序实例中,在所有活动(以及其他组件,例如服务、广播接收器、内容提供者)之前创建。
只需创建以下类:
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
if (!prefs.getBoolean("firstTime", false)) {
databaseSetup();
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("firstTime", true);
editor.commit();
}
}
你只需要在 AndroidManifest.xml 文件的
application
标签中添加 android:name=".App" 属性,即可使其生效。
<application ... android:name=".App">
<activity ... />
</application>