gpt4 book ai didi

java - Android:应用程序不断预填充 sqlite 数据库

转载 作者:行者123 更新时间:2023-12-01 23:05:33 25 4
gpt4 key购买 nike

我目前有一个 Activity ,其中包含一个共享首选项,用于判断 sqlite 数据库是否已预先填充或是否需要填充。但是,每次创建 Activity 时,我的应用程序都会填充。

我目前有以下共享首选项的方法:

public void checkDB() {
SharedPreferences sharedPref = MainActivity.this
.getPreferences(Context.MODE_PRIVATE);
Editor editor = sharedPref.edit();
editor.putBoolean("CHECK", true); // Storing boolean - true/false
editor.commit(); // commit changes
prepopulate();

}

public void isChecked() {
boolean setup = false;
SharedPreferences sharedPref = MainActivity.this
.getPreferences(Context.MODE_PRIVATE);
setup = sharedPref.getBoolean("CHECK", true); // getting boolean
if (setup = false) {
checkDB();
} else {

}

以下是我在 onCreate 方法中调用它们的方法:

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
checkDB();
isChecked();
loadListView();
registerListClickCallback();

我确定共享首选项方法中的 boolean 值之一有问题。以防万一它有帮助,这是我用于预填充数据库字段的循环:

public void prepopulate() {
Locker setup = new Locker(this);
for (int x = 0; x < 46; x++) {
setup.open();
String lockerNumber = "Locker" + x;
setup.createLockerEntry(lockerNumber, 0);
setup.close();
}
}

最佳答案

您正在 isChecked() 方法中调用 checkDB() 方法,因此不需要调用它 onCreate()

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
openedLockers = (Button) findViewById(R.id.bOpenLockers);
closedLockers = (Button) findViewById(R.id.bClosedLockers);
openedLockers.setOnClickListener(this);
closedLockers.setOnClickListener(this);
checkDB(); // remove or comment this line
isChecked();
loadListView();
registerListClickCallback();

关于java - Android:应用程序不断预填充 sqlite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22828751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com