2012-12-11 33 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目錄的功能? –