android无需SD卡即可将数据库下载至手机

android无需SD卡即可将数据库下载至手机,android,database,memory,download,internal,Android,Database,Memory,Download,Internal,我已经阅读了有关将数据库下载到sd卡的教程,我有一个问题当手机没有sd卡时会发生什么? 然后我必须将数据下载到内存中 那个么,如何检查设备是否有sd卡,然后在下载之前设置合适的位置呢?或者可能会自动完成,因为它使用: outFile = new File(Environment.getExternalStorageDirectory() + "/" + fileName); 如果你知道的话,请帮帮我 谢谢你我想它会有用的。 public static boolean isSdPresent()

我已经阅读了有关将数据库下载到sd卡的教程,我有一个问题当手机没有sd卡时会发生什么? 然后我必须将数据下载到内存中

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

outFile = new File(Environment.getExternalStorageDirectory() + "/" + fileName);
如果你知道的话,请帮帮我

谢谢你

我想它会有用的。
public static boolean isSdPresent() {

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

}

对于数据库,您可以使用-class检查sd卡状态。

一些Android手机没有sd卡插槽,但内部内存被视为并模拟为外部sd卡。检查一下这个

要检查sd卡状态:
getExternalStorageState()

如果有SD卡(或模拟SD卡)

如果在SD卡中创建文件夹更好:

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/

谢谢你,Ajmal,然后我必须在sd卡不存在时设置内存路径非常感谢,但是有些手机有大内存(例如8 gb)和sd插槽,那么我可以选择位置?是否有获取/data/data/mypackage目录的功能?
outFile = new File(fileName);