我想测试我的应用程序,但与任何仿真器没有运气。我已经尝试了几种不同的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。所以我们需要将它转换为像编辑代码一样的字符串。 –