Android-模拟器中SD卡的创建和文件上传

篇章一:SD卡的创建:

一 SDCard介绍

1.SDCard可以把他看看做是移动硬盘或U盘,也就是手机的内存卡

2.SDCard的创建是在eclipse创建模拟器时随同创建,也可以使用dos命令创建

二 SDCard的使用

在程序中访问SDCard的时候需要申请访问的SDCard权限,即是在AndroidManifest.xml中加入SDCard的权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

 

有两种方式来创建SD卡。但基本上都是在创建Android模拟器之初,就需要来对模拟器的SD卡进行创建。

 

方法一:系统创建虚拟SD卡

可以自定义一个大小,由系统来完成该模拟器虚拟SD卡的创建。

Android-模拟器中SD卡的创建和文件上传_第1张图片

创建完成后,启动模拟器,可以通过打开eclipse的DDMS->File Explorer 看到如下目录结构:

Android-模拟器中SD卡的创建和文件上传_第2张图片

这就是创建的SD卡文件夹了。

 

方法二:手工创建虚拟SD卡

可以通过Android的Tools来创建SD卡并导入进来。

1、 打开dos界面,并转换到你的sdk安装包的tools目录下,

本人的目录如下:H:\android-sdk-windows\tools

  

 

2、 创建SD卡。在命令行中输入:

Mksdcard  1024M  D:\log\sdcard.img

 

说明:

1)1024M即创建的SD卡的大小,可以根据自己需要来输入;

2)D:\log\sdcard.img 是所设置的SD卡存放路径,可以根据自己的需要来改变,但路径中不能有空格出现

3)执行该命令后,需要稍等一段时间,因为电脑正在创建所设置的SD卡,直到重新出现DOS界面中又弹出一行命令,这说明我们所要的SD卡已经创建成功了。不同的机器可能等待的时间不一样。

 

3、 创建模拟器,并以该SD卡来创建。

 

Android-模拟器中SD卡的创建和文件上传_第3张图片

4、 创建完成后,启动该模拟器。

5、 同样打开Eclipse的DDMS->File Explorer 可以看到如下的目录结构

Android-模拟器中SD卡的创建和文件上传_第4张图片

至此,证明已经安装了SD卡。

 

篇章二:向SD卡里面上传文件

向SD卡里面上传文件的方法许多,可以借助豌豆荚手机精灵91手机助手。

下面介绍一种非使用工具的上传方式。

打开Eclipse的DDMS->File Explorer 可以看到如下的目录结构

 

在图右上角有两个小手机按钮,就是传输文件按钮,用它来实现文件的传入和传出。

,pull  a  file from  the  device, 把手机里的文件导出

,push  a  file onto  the device, 把文件导入到手机里面。

 

 

篇章三:常见问题

1、Failed to push selection: Invalid argument:

出现该异常,多半是文件所在的目录里面有中文或者文件的名字含有中文导致的。可以换个文件名试试。

 还有就是观察自己的操作权限是否不够,如果是,那就是可以的。

如果SD卡是在Eclipse里面系统自动创建的, 试着重启一下IDE。

 

2、Failed to push the item(s)

出现这个异常是因为,传输超时造成的,可以修改。

打开windows->Preference->android->DDMS

Android-模拟器中SD卡的创建和文件上传_第5张图片

 

把ADB connection time out项的超时时间改大点。

 

3、将大文件上传到虚拟SD卡失败

之所以大文件上传会失败,究其原因,可能是SD卡的空间不足。经过测试发现:通过方法一创建的SD卡,由于是系统创建的,即使在创建时将SD卡的Size设置为1024MiB,在模拟器创建成功后,SD卡的实际大小可能没有1024M,理由是上传300M左右的文件失败(可能这个理由有点儿牵强);而通过方法二创建的SD卡,由于是手工指定的SD卡大小为1024M的img文件,在模拟器创建成功后,可能成功上传300M左右的文件。

 

4、SD卡镜像文件拷贝到其他机器运行失败

在别的机器上面建立的SD卡镜像文件,拷贝到另一台机器上面是不可用的。因为这个镜像文件是以本地机器的物理地址为依据,划分出了指定大小的硬盘空间作为模拟器的存储空间的。所以物理地址在不同的电脑上有可能会出现物理地址的冲突,故是不可用的。

你可能感兴趣的:(Android)