Android檔案處理 建國科技大學 資管系 饒瑞佶 2010/10
Model-View-Controller Model:儲存內容 MVC Model Model-View-Controller Model:儲存內容 View:顯示介面 Controller:控制程式操作 使用者 View 要求動作 顯示內容 Controller 查詢資料 Model 提供資料
Android檔案與資料庫處理 檔案 從檔案讀出資料 將資料寫入檔案
檔案處理-寫入 使用手機
檔案處理-寫入 將資料寫入檔案 使用FileWriter與BufferedWriter物件 檔案位置:sd卡 需要 FileWriter fw=new FileWriter("/sdcard/output.txt",false); 檔案位置:sd卡 需要 import java.io.BufferedWriter; import java.io.FileWriter; 檔案位置 是否為append
使用adb shell觀看sd卡 Step1:執行adb shell
使用adb shell觀看sd卡 Step2:執行ls指令 若執行的手機內的內容,看到的是$提示符號
使用adb shell觀看sd卡 Step3:執行cd sdcard指令 注意!如果手機有被連線當成外接磁碟,需要先斷線
使用adb shell觀看sd卡 Step3:執行ls指令 沒有看到output.txt這個檔案
檔案處理-寫入動作之程式碼 檔案物件必須引用的class 寫入檔案程式
檔案處理-寫入動作之結果 透過手機執行
使用adb shell觀看sd卡 奇怪!怎麼還是沒有???
加入權限 Android 對於 SD Card 的存取權限, 必須有 android.permission.WRITE_EXTERNAL_STORAGE 權限
使用adb shell觀看sd卡 加了權限後就出現了output.txt
使用adb shell觀看sd卡 Step4:執行cat output.txt指令 觀看output.txt內容
檔案處理-寫入 使用模擬器
建立模擬sdcard的映像檔 先建立 SD 卡的映像檔 (只需做一次) mksdcard sizeM [path\]name.img 如: mksdcard 1024M d:\sdcard.img
在模擬器上建立模擬sdcard
透過Eclipse連結AVD與映像檔
透過Eclipse-Emulator 掛載 SD 卡
透過Eclipse-Emulator 掛載 SD 卡
透過Eclipse-Emulator 掛載 SD 卡 android list avd (需將 <Android_Home> / tools 加入到 Path 環境變數中)可以查看可以使用的AVD
Emulator 掛載 SD 卡後之變化 Open Run Dialog
在模擬器上建立模擬sdcard
-sdcard d:\sdcard.img
手動產生AVD與連結映像檔
查看可用的targets android list 查看可以使用的targets 現有的AVD
建立新的AVD android create avd -n avdName -t avdID 如: android create avd -n my_avd2 -t 8
Emulator 掛載 SD 卡 emulator –avd AVD名稱 -sdcard [path\]name.img 如: emulator –avd my_avd2 -sdcard d:\sdcard.img
啟動AVD 啟動my_avd2
執行與驗證
瀏覽檔案-啟動AVD
瀏覽模擬器內檔案-使用adb shell 若執行的模擬器內的內容,看到的是#提示符號 目前模擬器內sdcard是空的
檔案處理-寫入動作之結果 透過AVD執行
瀏覽模擬器內檔案-使用adb shell Sdcard內出現output.txt與內容
也可以使用ddms瀏覽檔案
也可以使用ddms瀏覽檔案
改寫程式-自動偵測sdcard位置
瀏覽模擬器內檔案-使用adb shell Sdcard內出現 Tom目錄 與 output.txt內容
檔案處理-讀取
檔案處理-讀取 將資料從檔案讀取出來 使用FileReader與BufferedReader物件 檔案位置:sd卡 需要 FileReader fr=new FileReader("/sdcard/output.txt”); 檔案位置:sd卡 需要 import java.io.BufferedReader; import java.io.FileReader; 檔案位置
檔案處理-讀取動作之程式碼 讀取檔案物件必須引用的class 顯示程式需要的class 讀取檔案程式 顯示程式
小練習 請在畫面上加入一個小按鈕,按下按鈕後建立檔案myfile.txt,並寫入文字”我成功了!” 最後將myfile.txt內文字用Toast顯示出來
在main.xml中加入按鈕 加入對應處理時需要 使用drioddraw產生
加入按鈕對應處理事件
完整程式(I) 必要的class 將文字寫入myfile.txt
完整程式 (II) 將文字從myfile.txt讀出
加入按鈕對應處理事件