我正在开发一个应用程序,我想在其中集成 SQL 数据库。到目前为止,我的代码工作正常。我让应用程序在启动时自动运行,并立即检查 SDCard 是否存在。如果存在,我将在 SDCard 上创建数据库,如果没有,我将在设备上创建它。
问题是当应用程序自动运行时,它会在设备找到 SDCard 之前启动,所以我总是无法检测到 SDCard 是否存在。
我应该使用什么监听器来知道设备已完全打开?
我正在开发一个应用程序,我想在其中集成 SQL 数据库。到目前为止,我的代码工作正常。我让应用程序在启动时自动运行,并立即检查 SDCard 是否存在。如果存在,我将在 SDCard 上创建数据库,如果没有,我将在设备上创建它。
问题是当应用程序自动运行时,它会在设备找到 SDCard 之前启动,所以我总是无法检测到 SDCard 是否存在。
我应该使用什么监听器来知道设备已完全打开?
SystemListener
将完成这项工作。我通常是这样做的:
public class MyApp extends Application implements SystemListener {
public static void main(String[] args){
MyApp app = new MyApp();
if (ApplicationManager.getApplicationManager().inStartup()) {
app.addSystemListener(app);
//wait for powerUp callback
} else {
app.startup();
}
}
public void powerUp() {
removeSystemListener(this);
startup();
}
private void startup(){
//Perform initialization here, most typically show first screen and stuff.
}
// Remaining SystemListener callbacks not shown for brevity
}