Android 如何存取 SD Card 記事本檔案~持續更新中

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 檔案

這個網誌中的熱門文章

2023 最新入門零基礎 Kotlin教學【從零開始學 Kotlin 程式設計】Kotlin 教學課程目錄 (Android Kotlin, IntelliJ IDEA, Android Studio, Android APP 開發教學)

nano 文字編輯器

2022 最新入門零基礎 Flutter教學 【Flutter 程式設計入門實戰 30 天】Flutter 教學課程目錄 (IntelliJ IDEA 開發教學)

16天記下7000單字

最新入門零基礎 Java 教學【從零開始學 Java 程式設計】Java教學課程目錄 (IntelliJ IDEA 開發教學)