Android 如何存取 SD Card 記事本檔案~持續更新中
Android 如何存取 SD Card 記事本檔案???
1.簡單的寫入的部分程式碼:
=====================================================
2.Android 對於 SD Card 的存取權限, 必須有 android.permission.WRITE_EXTERNAL_STORAGE 權限
所以要在「androidmanifest.xml」文件 中裡面加入這句:
前後用uses-permission包起來
uses-permission name="android.permission.WRITE_EXTERNAL_STORAGE"
舊版SDK1.5(API Level為3)不需要加入,
SDK 1.5後來出的新版本SDK (API Level大於3)都要加入,
否則會權限不足,被擋掉,無法寫入檔案,形成所謂鬼擋牆(編譯過,但結果不是預期所要的)。
實際上如果你在例外加上LOG如:
=====================================================
3.必須手動在命令行加入SD卡位置:
i.打開命令提示字元,將工作目錄換到SDK裡的tool底下,
如: D:\Android\android-sdk-windows\tools>
ii.D槽建立sdtest實體目錄後KEY 上: mksdcard -l sdcard 1024M d:\sdtest\sdcard-file
(如此例D槽需要真的有d:\sdtest 這個資料夾,否則會建立失敗,
1024為虛擬SD CARD的空間大小)
iii.在eclipse左邊數來第三個功能表單
run=>run configurations=>target=>additional emulator command line option
加入:-sdcard d:\sdtest\sdcard-file
完成以上動作即可,即可寫入一個文字檔
=====================================================
4.用命令行觀看程式加入的記事本
i.打開命令提示字元,將工作目錄換到SDK裡的tool底下,
如: D:\Android\android-sdk-windows\tools>
ii.進入adb shell
D:\Android\android-sdk-windows\tools>adb shell
在tool目錄下鍵入adb shell後會出現#字符號,
可用 ls 指令觀看目前所有目錄(如微軟DOS的DIR指令)
iii.進入sd card如:
用cat 指令觀看記事本裡面的內容如上。
=====================================================
參考: Android 如何存取 SD Card 檔案
1.簡單的寫入的部分程式碼:
try { // 建立FileWriter物件,並將寫入位置設定為SD卡中的output.txt FileWriter fw = new FileWriter( "/sdcard/output.txt", false ); // 建立fw的Output Buffer BufferedWriter bw = new BufferedWriter( fw ); bw.write("Hello, Android"); bw.newLine(); bw.close(); } catch (IOException e) { Log.e("tag",e.getMessage());//印出錯誤訊息 }
=====================================================
2.Android 對於 SD Card 的存取權限, 必須有 android.permission.WRITE_EXTERNAL_STORAGE 權限
所以要在「androidmanifest.xml」文件
前後用uses-permission包起來
uses-permission name="android.permission.WRITE_EXTERNAL_STORAGE"
舊版SDK1.5(API Level為3)不需要加入,
SDK 1.5後來出的新版本SDK (API Level大於3)都要加入,
否則會權限不足,被擋掉,無法寫入檔案,形成所謂鬼擋牆(編譯過,但結果不是預期所要的)。
實際上如果你在例外加上LOG如:
catch(IOException e) { Log.e("tag",e.getMessage()); }就可以得知,是因為權限(Permission denied)的關係所導致無法存取。
=====================================================
3.必須手動在命令行加入SD卡位置:
i.打開命令提示字元,將工作目錄換到SDK裡的tool底下,
如: D:\Android\android-sdk-windows\tools>
ii.D槽建立sdtest實體目錄後KEY 上: mksdcard -l sdcard 1024M d:\sdtest\sdcard-file
(如此例D槽需要真的有d:\sdtest 這個資料夾,否則會建立失敗,
1024為虛擬SD CARD的空間大小)
iii.在eclipse左邊數來第三個功能表單
run=>run configurations=>target=>additional emulator command line option
加入:-sdcard d:\sdtest\sdcard-file
完成以上動作即可,即可寫入一個文字檔
=====================================================
4.用命令行觀看程式加入的記事本
i.打開命令提示字元,將工作目錄換到SDK裡的tool底下,
如: D:\Android\android-sdk-windows\tools>
ii.進入adb shell
D:\Android\android-sdk-windows\tools>adb shell
在tool目錄下鍵入adb shell後會出現#字符號,
可用 ls 指令觀看目前所有目錄(如微軟DOS的DIR指令)
iii.進入sd card如:
D:\Android\android-sdk-windows\tools>adb shell
# cd sdcard
cd sdcard
# ls
ls
LOST.DIR
output.txt
# cat output.txt
cat output.txt
Hello, Android
用cat 指令觀看記事本裡面的內容如上。
=====================================================
參考: Android 如何存取 SD Card 檔案