開發環境:Windows XP professional sp2,Eclipse 3.6.2,JDK 1.6.0_26,Android 2.3.3,andengine 2D OpenGL GameEngine。
1、首先創建虛擬SD卡設備:
使用命令mksdcard在磁盤上虛擬一個SD卡設備:
mksdcard: create a blank FAT32 image to be used with the Android emulator
usage: mksdcard [-l label] <size> <file>
if <size> is a simple integer, it specifies a size in bytes
if <size> is an integer followed by 'K', it specifies a size in KiB
if <size> is an integer followed by 'M', it specifies a size in MiB
if <size> is an integer followed by 'G', it specifies a size in GiB
Minimum size is 9M. The Android emulator cannot use smaller images.
Maximum size is -512 bytes, 255K, 1073741823M or 0G
命令如下:mksdcard 200M F:\android_develop\sdcard.img (虛擬SD卡的大小及路徑可以自行設定)
2、將虛擬SD卡設備與模擬器進行關聯,使得模擬器能夠使用該SD卡設備:
方法一:使用emulator命令來啟動模擬器,並告知模擬器SD卡設備的位置,
emulator -avd first_avd -sdcard F:\android_develop\sdcard.img
方法二:使用ADT來為模擬器關聯SD卡設備:
打開AVD Manager,編輯選中的Android Virtual Device,添加SD Card的鏡像文件路徑:
添加硬件設備的支持:
至此,關聯過程已完成。
3、為使用SD卡設備的應用程序添加寫權限:
在應用程序的AndroidManifest.xml文件中,添加以下代碼:
<!-- 添加對SDCARD的寫權限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
</uses-permission>
至此,用戶可以在應用程序中對SD卡設備進行讀寫操作了。
下面是在應用程序外部訪問虛擬SD卡設備:
1、通過adb push/pull命令,將本地文件上傳到SD卡設備的指定目錄下,
adb push <local> <remote> - copy file/dir to device
adb pull <remote> [<local>] - copy file/dir from device
使用adb shell 命令以root用戶的身份進入模擬器的根目錄;
#cd sdcard 進入SD卡設備;
#ls 查看SD卡設備中的內容;
#rm file_name 刪除文件;
#rm -r dir_name 刪除目錄;
跟linux命令方式是一樣的。
2、通過Eclipse開發環境下的Window->open perspective->DDMS->File Explorer來查看SD卡中的信息,並能夠實現上傳本地文件到SD卡,從SD卡中導出文件以及創建目錄,刪除指定的文件等操作。
3、通過使用模擬器->主菜單->Dev Tools->Media Scanner來查看模擬器所關聯的SD卡設備中的信息,等Scan finished之後,可以在主菜單->Music中找到音樂文件,在主菜單->Gallery中找到圖片文件,並且可以直接在模擬器中打開。