Andorid中SD卡的配制
在Andorid开发中经常遇到与SD卡有关的调试,比如MP3文件、图片文件等。
在使用模拟器开发时,可以通过硬盘来模拟SD卡。具体做法是:
1.创建一个SD卡镜像文件
打开cmd,我是进入到c盘根目录下,输入如下命令:mksdcard 1024M sdcard.img
该命令会在当前目录(我即是c盘根目录)下生成一个sdcard.img文件,该文件就是Android模拟器的SD卡镜像文件。
1024M表示1024兆,即该SD卡有1个G的容量,也可用K做单位(1M=1024K),K,M必须大写。
目前Android支持8M~128G的SD卡。
2.关联SD卡和模拟器
就是让模拟器知道它的SD卡是谁,路径是什么。
在eclipse中使用了ADT插件。eclipse -> windows->Android AVD Manager ,弹出一个窗口,
在SDCard后面的框中输入:c:\sdcard.img ,即是第一步创建的SD卡镜像文件的位置。先点击create avd,
然后点击 finish 结束。
3、向SD卡中导文件
这一步需要把模拟器运行起来。
在cmd中,命令如下:adb push test.mp3 sdcard/test.mp3
这会将本地当前目录下的test.mp3文件拷到sdcard中,文件名不变。前一个test.mp3是本地文件的路径,sdcard是目的sd卡镜像的文件名(去掉后缀)。
4、在模拟器中使用SD卡中的文件
导入文件后,如果要在模拟器中访问,还需要在模拟器中的Dev tools里面Media scanner scan 一下媒体文件。
Android插拔SD卡读取intent状态详解
MEDIA_BAD_REMOVAL_ACTION
广播:扩展介质(扩展卡)已经从 SD 卡插槽拔出,但是挂载点 (mount point) 还没解除 (unmount)。
“android.intent.action.MEDIA_BAD_REMOVAL”
String
MEDIA_EJECT_ACTION
广播:用户想要移除扩展介质(拔掉扩展卡)。
“android.intent.action.MEDIA_EJECT”
String
MEDIA_MOUNTED_ACTION
广播:扩展介质被插入,而且已经被挂载。
“android.intent.action.MEDIA_MOUNTED”
String
MEDIA_REMOVED_ACTION
广播:扩展介质被移除。
“android.intent.action.MEDIA_REMOVED”
String
MEDIA_SCANNER_FINISHED_ACTION
广播:已经扫描完介质的一个目录。
“android.intent.action.MEDIA_SCANNER_FINISHED”
String
MEDIA_SCANNER_STARTED_ACTION
广播:开始扫描介质的一个目录。
“android.intent.action.MEDIA_SCANNER_STARTED”
String
MEDIA_SHARED_ACTION
广播:扩展介质的挂载被解除 (unmount),因为它已经作为 USB 大容量存储被共享。
“android.intent.action.MEDIA_SHARED”
String
MEDIA_UNMOUNTED_ACTION
广播:扩展介质存在,但是还没有被挂载 (mount)。
“android.intent.action.MEDIA_UNMOUNTED”
Android 如何存取SD Card 档案
Android对于 SD Card的位置 ,
可以用 Environment.getExternalStorageDirectory( ) 取得,
Android对于 SD Card是否插入 ,
可以用 Environment.getExternalStorageState( ) 判断之,
Android对于 SD Card的存取权限 ,必须有 android.permission.WRITE_EXTERNAL_STORAGE 权限:
Java代码
public class helloWorld extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView( R.layout.main );
Button b = (Button)this.findViewById(R.id.buttonObj);
b.setOnClickListener( new OnClickListener(){
public void onClick(View arg0) {
File vSDCard = null;
try {
// 判断SD Card 有无插入
if( Environment.getExternalStorageState() .equals( Environment.MEDIA_REMOVED ) )
return;
else
{
// 取得SD Card 位置
vSDCard = Environment.getExternalStorageDirectory() ;
}
// 判断目录是否存在
File vPath = new File( vSDCard. getParent() + vSDCard. getName() + "/tom" );
if( !vPath.exists() )
vPath.mkdirs();
// 写入档案
FileWriter vFile = new FileWriter( vSDCard. getParent() + vSDCard. getName() + "/tom/myTest.txt" );
vFile.write("Hello Android");
vFile.close();
} catch (Exception e) {
// 错误处理
}
}
});
}
}
public class helloWorld extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView( R.layout.main );
Button b = (Button)this.findViewById(R.id.buttonObj);
b.setOnClickListener( new OnClickListener(){
public void onClick(View arg0) {
File vSDCard = null;
try {
// 判断SD Card 有无插入
if( Environment.getExternalStorageState() .equals( Environment.MEDIA_REMOVED ) )
return;
else
{
// 取得SD Card 位置
vSDCard = Environment.getExternalStorageDirectory() ;
}
// 判断目录是否存在
File vPath = new File( vSDCard. getParent() + vSDCard. getName() + "/tom" );
if( !vPath.exists() )
vPath.mkdirs();
// 写入档案
FileWriter vFile = new FileWriter( vSDCard. getParent() + vSDCard. getName() + "/tom/myTest.txt" );
vFile.write("Hello Android");
vFile.close();
} catch (Exception e) {
// 错误处理
}
}
});
}
}
分享到:
相关推荐
android 内部存储 sd卡app私有文件 等
Android SD卡文件读写操作可以学习下
android sd卡写文件
来获取内置SD卡的路径,但是每款定制过的android 系统的外置SD卡的路径都不一样,那我们怎么才能去获取这个路径呢,我们可以想其它的办法,我这里提供了一个类可以获取外置SD卡或内置SD卡的 label(名称),path(路径)...
android 读取和存储sd卡一个例子,欢迎下载!
android浏览sd卡文件夹,只能浏览sd卡目录的,要想浏览文件系统,代码改动一句话即可
Android SD卡浏览器,可已选中文件返回路径!
android SD卡文件浏览器,两个listview显示,能感应USB热插拔。
android demo,sd卡文件存储和data下文件存储。
android SD卡操作的工具类的源码
android读取sd卡中MP3文件
Android模拟器使用SD卡(转载http://blog.sina.com.cn/s/blog_4de067e40100nwd1.html)
SD女佣 SD Maid Pro将会以完善的方式帮您整理、清洁android设备。”浏览器”是一个完全成熟的文件管理器,用它来浏览管理你的android文件夹。”搜索器”可以使用来打来/删除 或者重命名文件(搜索文件内部,支持...
Android23SD卡挂载流程浅析.docx
扫描特定类型的文件,当然,随着Android平台下的硬件设备越来越多,越来越强大。我们有理由相信,它以后将不仅仅只支持MP4和3GP格式的视频文件,所以我们必须使用两种方式结合的方法来获得最大的视频集合作为我们的...
有时候我们想往SD卡中存储,附件中就是用android 往 SD卡中存储数据
用Android studio对SD卡的操作,实现了对SD卡的存储和读写。
Android系统中各类文件夹名称,主要是SD卡中,有助于大家开发
Android 写文件到sd卡