[Android] 12-4 External storage - 給你魚竿- 痞客邦

文章推薦指數: 80 %
投票人數:10人

Android外部儲存空間通常比較大像是SD卡需要WRITE_EXTERNAL_STORAGE的權限和Internel其實很像只是位置不同只要記得private的是在/storage/SD卡名稱. 關閉廣告 給你魚竿 跳到主文 凡事起頭難,就給你難的 部落格全站分類:數位生活 相簿 部落格 留言 名片 公告版位 Feb22Mon201600:21 [Android]12-4Externalstorage Android外部儲存空間通常比較大像是SD卡 需要WRITE_EXTERNAL_STORAGE的權限 和Internel其實很像只是位置不同 只要記得private的是在/storage/SD卡名稱/Android/dara/package名稱/files/指定的資料夾   而使用方是就和Javaioㄧ樣   1.先到官網http://developer.android.com/training/basics/data-storage/files.html 外部儲存空間的幾種狀況  a.有可能會被移除,像是拔掉SD卡  b.在不被你控制下被讀取,像是拔掉SD卡 然後再分析裡面的內容  c.當放在public的空間內,移除app並不會把資料刪掉   2.而其中又分成兩種 a.Publucfiles:可以被其他使用者或app看到,移除app時資料不會被移除 b.Privatefiles :不能被其他使用者或app看到,移除app時資料會被移除   3.首先要宣告權限   4.接著介紹幾種儲存位置        //private會一起被砍掉       Log.d("TAG","Path="+getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS));       //public不會一起被砍掉       Log.d("TAG","Path="+Environment.getExternalStorageDirectory());       //public不會一起被砍掉       Log.d("TAG","Path="+Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS));   getExternalFilesDir是指向private的External空間 位置是/storage/SD卡名稱/Android/dara/package名稱/files/指定的資料夾 再來 Environment.getExternalStorageDirectory()是取得public的External空間的根目錄 位置是/storage/SD卡名稱 最後 Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) 是取得是取得public的External空間的預設資料夾的目錄 位置是/storage/SD卡名稱/指定的資料夾   5.模擬器的相對位置 /storage/emulated/0/Android/dara/package名稱/files/指定的資料夾 /storage/emulated/0/指定的資料夾 /storage/emulated/0/指定的資料夾     6.用法就跟一般javaio一樣        try{           Filefile=newFile(getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS),"TEST.txt");           FileOutputStreamfileOutputStream=newFileOutputStream(file);           fileOutputStream.write("TESTCONTENT".getBytes());           fileOutputStream.close();       }catch(java.io.IOExceptione){           e.printStackTrace();       }   7.以下是private的位置   8.以下是public的位置   9.最後如果寫入成功卻無法看到檔案 通常是因為資料夾並無即時更新 所以要強制它重新掃描一次 範例如下:        MediaScannerConnection.scanFile(this,               newString[]{Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).toString()}               ,null,null);   文章標籤 AndroidExternalstorage Androidstorage 全站熱搜 創作者介紹 RX1226 給你魚竿 RX1226發表在痞客邦留言(0)人氣() 全站分類:數位生活個人分類:12.Storage此分類上一篇:[Android]12-3CacheStorage 此分類下一篇:[Android]12-5確認當下Externalstorage狀態 上一篇:[Android]12-3CacheStorage 下一篇:[Android]12-5確認當下Externalstorage狀態 歷史上的今天 2016:[Android]Pluginistooold 2016:[Android]12-5確認當下Externalstorage狀態 ▲top 留言列表 發表留言 GoogleAdSense 文章分類 Android(27) 1.環境設定(12)0.常見問題(22)2.基本(28)3.應用(26)4.NDK(4)5.UI(12)6.Material(0)7.GoogleMap(3)8.Parse(1)9.效能(15)10.Dialog(11)11.Activity(5)12.Storage(5)13.SourceCode(2)14.Menu(7)15.Toolbar(4)16.Intent(8)17.ProgressBar(3)18.Firebase(6)19.FB(6)20.ContentProvider(5)21.Thread(3)22.Fragment(3)23.Test(1)24.Loader(2)25.Notification(1)26.recyclerview(0) Arduino(1) 1.環境設定(1) Java(24) 0.常見問題(3)1.環境設定(2)2.基本(4)3.應用(9)4.基本資料型態(6)5.Operator運算子(8)6.條件與迴圈控制(7)7.Object物件(12)8.方法Method(5)9.陣列Array(7)10.String(10)11.Compilersugar(4)12.CodeStyle(7)13.Numbers(8)14.jsoup(7)15.JDBC(0)16.Package(3)17.修飾子Modifier(4)18.巢狀類別NestedClasses(4)19.介面Interface(5)20.例外處理(3)21.Collection(10)22.泛型Generics(3)23.Lambda(0) C/C++(3) 1.環境設定(1)2.基本(1)3.應用(2) JavaEE(2) 0.常見問題(2)1.環境安裝(8) HTML(2) 1.基本(8)2.Tags(5) CSS(2) 1.基本(1)2.應用(1) JavaScript(3) 1.基本(4)2.應用(0)3.圖表Chart.js(1) Bootstrap(1) 1.基本(1) PHP(1) 1.環境設定(2) AndroidStudio(2) 0.常見問題(1)1.基本(23) Eclipse(2) 1.基本(9)2.應用(2) SQLite(1) 1.環境設定(1) OracleSQL(2) 0.常見問題(3)1.環境設定(4) SourceTree(1) 1.基本(17) Bitbucket(1) 1.基本(3) GitHub(1) 1.基本(2) CentOS(1) 2.應用(1) GoogleCloudPlatform(1) 1.基本(5) Parse(1) 1.基本(2) Paypal(1) 1.基本(1) TortoiseGit(1) 1.基本(1) TortoiseSVN(1) 1.基本(3) SynologyNAS(1) 1.基本(9) Unreal4(2) 1.環境設定(1)2.基本(2) Game(1) CodeHunt(19) GameMaker(1) 1.Tutorial(13) Normal(1) 基本(3) Blog(1) PIXNET(1) Blog生命史(1) 歷程(3) 網站推薦(1) 通用(13) 軟體推薦(1) 實用Free(6) 廣告賺錢(1) 廣告賺錢(7) 證照(2) Google(2)經濟部(1) 電腦組裝(1) 選購(8) 最新文章 熱門文章 參觀人氣 本日人氣: 累積人氣: POWEREDBY (登入) 回到頁首 回到主文 免費註冊 客服中心 痞客邦首頁 ©2003-2021PIXNET 關閉視窗



請為這篇文章評分?