0

我已经阅读关于将数据库下载到我的 SD 卡的教程,我有一个问题,如果手机没有 SD 卡会发生什么? 然后我必须将数据下载到内部存储器。

那么如何检查设备是否有sd卡,然后在下载前设置适当的位置?或者它可能会自动完成,因为它使用:

outFile = new File(Environment.getExternalStorageDirectory() + "/" + fileName);

知道的请帮帮我

谢谢

4

3 回答 3

0

我认为它可以是有用的Android Storage Options对于数据库,您可以使用getExternalStorageState()检查 sd 卡状态,或使用Android SQL helper -class。

于 2012-12-11T18:53:20.057 回答
0

一些安卓手机没有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/

于 2012-12-11T19:06:40.643 回答
-1
public static boolean isSdPresent() {

return android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);

}
于 2012-12-11T18:50:09.240 回答