我正在android中做一个OCR应用程序。为此,我需要将经过训练的数据和图像存储在我的应用程序文件夹中。直到现在我一直在使用
public static String DATA_PATH = Environment.getExternalStorageDirectory().toString() + "/NewsReader/"
这在具有外部 SD 卡的设备上工作得非常好。
但是,当我尝试在没有插入 SD 卡的设备上运行相同的应用程序并在内部存储或像 Nexus 这样只有内部存储的设备上运行时,应用程序会失败。我在这里有什么选择。我可以检查外部存储的状态以查看其是否可用,但如果没有,那么我的应用程序应该做什么而不是崩溃。我什至尝试过,getFilesDir().toString() + "/NewsReader/"
但结果相同。
编辑
从我得到上述问题的一些答案中并不能说明我真正的问题是什么让我更清楚一点。
我正在这样做:public static String DATA_PATH = Environment.getExternalStorageDirectory().toString() + "/NewsReader/"
当我在具有外部 SD 卡的设备上运行它时,它会完美地在手机中创建文件夹 NewsReader。但无法在只有内部存储的设备上运行。加起来,目前我正在线程中的 splsh 活动中创建所有这些文件,但早些时候当我在正常的活动 OnCreate 中执行相同的代码时,它曾经在所有设备上运行。