我已经阅读了关于将数据库下载到我的 SD 卡的教程,我有一个问题,如果手机没有 SD 卡会发生什么? 然后我必须将数据下载到内部存储器。
那么如何检查设备是否有sd卡,然后在下载前设置适当的位置?或者它可能会自动完成,因为它使用:
outFile = new File(Environment.getExternalStorageDirectory() + "/" + fileName);
知道的请帮帮我
谢谢
我认为它可以是有用的Android Storage Options。对于数据库,您可以使用getExternalStorageState()检查 sd 卡状态,或使用Android SQL helper -class。
一些安卓手机没有sdcard插槽,但内部存储器被当作外部sdcard处理和模拟。之前检查一下。
检查 sd 卡状态:getExternalStorageState()
如果有 sdcard(或模拟 sdcard)
outFile = new File(Environment.getExternalStorageDirectory() + "/" + fileName);
如果在 sdcard 中创建一个文件夹会更好:
String sdpath = Environment.getExternalStorageDirectory().getAbsolutePath();
File dir = new File(sdpath + "/AppFolder");
dir.mkdir();
outFile = new File(dir.toString() + "/" + fileName);
如果手机没有模拟 SD 卡:
outFile = new File(fileName);
位置是 data/data/mypackage/
public static boolean isSdPresent() {
return android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
}