2
我正在開發一個應用程序,我想將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
}
這將不會完成這項工作,因爲即使在檢測到SDCard之前也會調用powerUp。任何其他方法?謝謝 –
對不起,我忘記了SDCard的事情,並專注於啓動檢測。是的,您可以嘗試FileSystemListener(http://www.blackberry.com/developers/docs/7.0.0api/javax/microedition/io/file/FileSystemListener.html) –
順便說一句,您應該通過FileSystemRegistry類註冊偵聽器。 –