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

這個網誌中的熱門文章

16天記下7000單字

[轉貼]傳說中的100句英語可以幫你背7000單詞

2023 最新 Android 教學【開發 Android APP 手機應用程式:使用 kotlin 程式語言】教學課程目錄 (Android Kotlin, Android Studio, Android APP 開發教學)

nano 文字編輯器

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