2012-12-11 38 views
0

我已阅读this教程关于下载数据库到我的SD卡,我有一个问题会发生什么而手机没有SD卡? 然后我必须下载数据到内存。android下载数据库到手机没有SD卡

那么如何检查设备是否有SD卡,然后在下载之前设置合适的位置?也许它会自动完成,因为它使用:

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

请帮助我,如果你知道,

谢谢

回答

-1
public static boolean isSdPresent() { 

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

} 
+0

谢谢阿杰马勒,然后我不得不路径设置到内部存储器时SD卡不存在 –

+0

你应该归功于源http://stackoverflow.com/a/ 7565338/73226 –

0

一些Android手机没有SD卡插槽,但内部存储器被视为外部SD卡。检查之前。

要检查SD卡状态:getExternalStorageState()

如果已经SD卡(或模拟SD卡)

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

如果它的更好,如果你创建在SD卡的文件夹:

String sdpath = Environment.getExternalStorageDirectory().getAbsolutePath(); 

     File dir = new File(sdpath + "/AppFolder"); 
     dir.mkdir(); 
     outFile = new File(dir.toString() + "/" + fileName); 

如果手机dosnt有一个模拟的SD卡:

outFile = new File(fileName); 

位置是数据/数据/ mypackage中/

+0

非常感谢,但有些手机具有大内存(前8 GB)和SD插槽,那么我可以选择位置? –

+0

是否有获取/ data/data/mypackage目录的功能? –