<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 312, 文章 - 14, 評論 - 1393, 引用 - 0
    數據加載中……

    在Android(OPhone)模擬器中加載和使用SDCard卡

    本文為原創,如需轉載,請注明作者和出處,謝謝!

        Android模擬器或真機都會有一定大小的內部存儲空間(不是指內存,指的是持久化存儲空間),但這并不夠,有時我們需要更大的存儲空間。為了在模擬器上開發使用擴展存儲空間的程序,需要在PC上模擬一個SDCard的虛擬文件,然后加載到模擬器中。sdcard文件使用tools目錄下的mksdcard.exe命令生成,假設要生成大小256Msdcard文件,可以使用如下的命令:

    mksdcard -l mycard 256M card/mycard.img

    使用mksdcard命令要注意如下六點:

    1. mycard命令可以使用三種尺寸:字節、KM。如果只使用數字,表示字節。后面還可以跟K,如262144K,也表示256M

    2. mycard建立的虛擬文件最小為8M,也就是說,模擬器只支持大于8M的虛擬文件。

    3. -l命令行參數表示虛擬磁盤的卷標,可以沒有該參數。

    4. 虛擬文件的擴展名可以是任意的,如mycard.abc

    5. mksdcard命令不會自動建立不存在的目錄,因此,在執行上面命令之前,要先在當前目錄中建立一個card目錄。

    6. mksdcard命令是按實際大小生成的sdcard虛擬文件。也就是說,生成256M的虛擬文件的尺寸就是256M,如果生成較大的虛擬文件,要看看自己的硬盤空間夠不夠哦!

    在執行完上面的命令后,執行下面的命令啟動android模擬器:

    emulator -avd avd1 -sdcard card\mycard.img

        如果在開發環境(Eclipse)中,可以在Run Configuration對話框中設置啟動參數,如圖1所示。

    圖1

        當然,也可以在Preferences對話框中設置默認啟動參數。如圖2所示。這樣在新建立的Android工程中就自動加入了裝載sdcard虛擬文件的命令行參數。

    圖2

        如果讀者使用OPhone虛擬機,設置的方法是完全一樣的。然后在虛擬機中的Setting里看看sdcard,是否找到,如圖2所示。

    圖3

        那么如何查看sdcard虛擬設備中的內容呢?方法很多,最簡單的就是使用android eclipse插件帶的DDMS透視圖。如圖4所示。


    圖4

    右上角的幾個按鈕可以刪除、添加文件。

        如果不使用DDMS插件,或不在eclipse里工作,也可以使用其他工具來操作sdcard虛擬設備。如在windows下,可以使用mtools,該軟件可以從如下地址下載:

    http://files.cnblogs.com/nokiaguy/winima81.rar

        安裝完后,用mtools打開mycard.img,就會看到相應的目錄和文件。如圖5所示。

    圖5

        如果讀者使用的是linux,可以使用mount命令來將sdcard虛擬文件映射成linux的目錄。先使用下面的命令:

    mount -o loop mycard.img /mnt/card

        執行上面的命令后,將會輸出如下的錯誤:

     

    mount::you must specify the filesystem type

        出現上面錯誤的原因是由于img文件的開頭包含了mbr,以致于mount命令無法識別,當然,如果跳過這個就可以了。我們可以執行下面的命令看看應該跳過多少個字節:

    fdisk -ul mycard.img

       輸出的內容見圖6


    圖6

    找到一個start的值,本例是129,然后找到Units的值,是512

    512 * 129 = 66048
    Ok
    ,就用下面的命令:

    mount -o loop,offset=66048 mycard.img /mnt/card

    執行完上面的命令后,進入/mnt/card目錄,就會看到mycard.img中的文件了。

        如果想在android虛擬機中訪問sdcard中的文件,首先要獲得sdcard的路徑。代碼如下:

    java.io.File sdcardDir = android.os.Environment.getExternalStorageDirectory();
        sdcard的目錄一般為“/sdcard”





    Android開發完全講義(第2版)(本書版權已輸出到臺灣)

    http://product.dangdang.com/product.aspx?product_id=22741502



    Android高薪之路:Android程序員面試寶典 http://book.360buy.com/10970314.html


    新浪微博:http://t.sina.com.cn/androidguy   昵稱:李寧_Lining

    posted on 2009-07-28 16:11 銀河使者 閱讀(3882) 評論(0)  編輯  收藏 所屬分類: java 原創移動(mobile)linux

    主站蜘蛛池模板: 中文字幕乱码免费视频| 亚洲AV无码精品蜜桃| 久久er国产精品免费观看8| 国产大片91精品免费观看男同 | aa级毛片毛片免费观看久| 亚洲成aⅴ人片久青草影院| 国产尤物在线视精品在亚洲| 日产乱码一卡二卡三免费| 亚洲aⅴ无码专区在线观看| 最近免费中文字幕MV在线视频3| 久久亚洲精品中文字幕三区| 青青青国产手机频在线免费观看| 亚洲av无码专区国产乱码在线观看 | 国产精品成人免费综合| 水蜜桃视频在线观看免费| 18禁超污无遮挡无码免费网站国产| 亚洲日韩aⅴ在线视频| 特级无码毛片免费视频 | 亚洲无线码一区二区三区| 香蕉免费看一区二区三区| 人人狠狠综合久久亚洲88| 国产精品久久永久免费| 亚洲精华国产精华精华液| 国产精品V亚洲精品V日韩精品 | 国产精品成人啪精品视频免费| 亚洲精品卡2卡3卡4卡5卡区| 4399影视免费观看高清直播| 亚洲精品无码永久在线观看你懂的 | 亚洲色一色噜一噜噜噜| 久久久久国产精品免费网站| 亚洲国产激情在线一区| 久久青青草原亚洲av无码| 免费国产黄网站在线观看视频| 国产亚洲精品成人AA片| 国产成人精品久久亚洲| 国产成人精品免费视| 天堂亚洲免费视频| 亚洲色图黄色小说| 亚洲av无码不卡私人影院| 最近高清中文字幕免费| 麻豆安全免费网址入口|