在Android(OPhone)模拟器中加载和使用SDCard卡

 Android 模拟器或真机都会有一定大小的内部存储空间(不是指内存,指的是持久化存储空间),但这并不够,有时我们需要更大的存储空间。为了在模拟器上开发使用扩展存储空间的程序,需要在PC 上模拟一个SDCard 的虚拟文件,然后加载到模拟器中。sdcard 文件使用tools 目录下的mksdcard.exe 命令生成,假设要生成大小256M sdcard 文件,可以使用如下的命令:
mksdcard  - l mycard 256M card / mycard.img
使用mksdcard 命令要注意如下六点:
1. mycard 命令可以使用三种尺寸:字节、K M 。如果只使用数字,表示字节。后面还可以跟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 ,该软件可以从如下地址下载:
    安装完后,用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”
国内最棒的Google Android技术社区(eoeandroid),欢迎访问!

《银河系列原创教程》发布

《Java Web开发速学宝典》出版,欢迎定购
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值