我想測試我的應用程序,但與任何仿真器沒有運氣。我已經嘗試了幾種不同的AVD和BlueStacks。由於他們安裝虛擬SD卡的方式,我的應用程序沒有按預期找到緩存目錄。但是,當我在兩個不同的Android手機上運行相同的應用程序時,它似乎正常工作。面對這個問題,我認爲必須有更好的方式來引用我正在尋找的文件夾。應用程序不工作的AVD,只有實際設備
我在我的onCreate使用此:
// Check if application exists
for (int i = 0; i < list.size(); i++) {
if (list.get(i).packageName.equals("com.someapphere")) {
v.setText("Application Found");
break;
} else {
v.setText("Application Not Found");
}
}
if (v.getText() == "Application Found") {
// Check for Cache Usage
final File dataStore = Environment.getExternalStorageDirectory();
try {
File tCache = new File(dataStore.getAbsolutePath()
+ "/Android/data/com.someapphere/cache");
long tCacheSize = folderSize(tCache);
if (tCacheSize == 0) {
v2.setText(" Nothing to do");
} else {
// Start Async task - delete files
...
}
} catch(Exception e) {
v2.setText(" Cache not found");
}
}
我拿出一些其他不相關的東西,我在這裏做,但其餘的應該複製的問題。如果它還不是很明顯,那麼我對編程還很陌生。
感謝有關文本比較尖。但是,我所有的AVD配置都已經分配了SD空間。我還沒有嘗試過的一件事是將文件管理器安裝到AVD中,並驗證結構確實是/Android/data/com.app/cache。我會接下來做。 –
更改文字部分後,我得到一個lint錯誤。它的意思是「方法equalsIgnoreCase(String)對於CharSequence類型是未定義的。」 –
getText()返回charSequence。所以我們需要將它轉換爲像編輯代碼一樣的字符串。 –