android在sd卡中创建文件
‘壹’ android 模拟器手机如何添加文件到sd卡
在ddms中直接添加文件到模拟器sd卡如果出现错误类似:
failed
to
push
xxxxx.txt
on
emulator-
:
read-only
file
system的错误,原因是你的sdcard权限不够,需要直接创建一个sdcard。
一、首先创建sdcard
我创建的sdcard名为:sdcard.img(名字随便取,以img后缀名结束)
进入dos
指向
目录
e:\android-sdk_r10-windows\android-sdk-windows\tools
(这是安装android的sdk的文件里,配置这个环境变量的就不用了)
我们在dos里面输入
mksdcard
-l
sdcard
100m
e:\sdcard\sdcard.img(这个文件的位置可以任意放在哪里)
解说:1.
sdcard命令可以使用三种尺寸:字节、k和m。如果只使用数字,表示字节。后面还可以跟k,如262144k,也表示256m。
2.
sdcard建立的虚拟文件最小为8m,也就是说,模拟器只支持大于8m的虚拟文件。
3.
-l命令行参数表示虚拟磁盘的卷标,可以没有该参数。
4.
虚拟文件的后缀.img
可以在dos里面
输入mksdcard
help
有说的二、创建好sdcard之后,我们要在模拟器加载sdcard
window-》avd
manager-》选中你使用的模拟器-》edit
然后在sd
card选项中选择file然后选择刚创建的sdcard.img,然后点击edit
avd进行保存
三、这时再向模拟器的sdcard中添加文件就没问题了(注意:这里最好是将模拟器重启一下)
四、重启模拟器后,在模拟器中找到dev
tools并启动,然后找到并运行
media
scanner对新添加的文件进行扫描,显示
finished就可以退出了,这时候添加进去的文件就可以使用了(例如:mp3文件,这时音乐播放器就可以找到了)。
‘贰’ android开发里面,下面哪句代码是表示在SD卡创建一个文件
第一句:定义一个File对象,指向myFilePath + "/"+ "BluetoothHelperLog.txt"
第二句:创建一个文件输出流,如果文件存在,打开文件,如果不存在,创建文件
第三句四句循环
第五句第六句:往文件输出流里面写数据
第八句:关闭输出流,此时该文件可被其他程序编辑
‘叁’ android怎么在手机SD卡上创建SQLite数据库
在SD卡上创建数据库
通过android的SQLiteOpenHelper类的源码,可以看到SQLiteOpenHelper类的getWritableDatabase
这个接口实际上调用的是Context的openOrCreateDatabase方法,而这个方法是不支持带路径的数据库名
称的,也就是说,用这个方法创建的数据库只能放在/data/data/包名称/ 目录下;要想在SD卡上创建数据库
,我们可以调用SQLiteDatabase类的openOrCreateDatabase方法,这个方法是支持带路径的数据库名称的。
那么下面的问题就是如何判断是否存在SD卡,已经如何获取SD卡的路径了?
判断是否存在SD卡:
android.os.Environment.MEDIA_MOUNTED.equals(
android.os.Environment.getExternalStorageState());
获取SD卡路径:String dbPath=android.os.Environment.getExternalStorageDirectory()
.getAbsolutePath();
在SD卡上创建数据库方法如下:
String dbPath=android.os.Environment.getExternalStorageDirectory()
.getAbsolutePath()+"/database";
File dbp=new File(dbPath);
File dbf=new File(dbPath+"/"+"test.db");
if(!dbp.exists()){
dbp.mkdir();
}
//数据库文件是否创建成功
boolean isFileCreateSuccess=false;
if(!dbf.exists()){
try{
isFileCreateSuccess=dbf.createNewFile();
}
catch(IOException ioex){
}
}
else{
isFileCreateSuccess=true;
}
if(isFileCreateSuccess)
db = SQLiteDatabase.openOrCreateDatabase(dbf, mFactory);
为了简便起见,我们可以用上述方法重写SQLiteOpenHelper类的getWritableDatabase方法,
其他逻辑参照SQLiteOpenHelper类即可。最后别忘了,加入SD卡的读写权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>。
‘肆’ 怎样在SD卡里创建文件夹
红米手机sd卡上创建文件夹很简单:
首先打开文件功率器,找到sd卡并点击打开。在sd卡显示页面,点右上角的选项按钮(三个点),从弹出的菜单选择[新建文件夹],在弹出的文件夹命名框内,写上文件夹名。
这就是红米手机sd卡上创建文件夹的全部步骤。是不是很简单。
‘伍’ android中怎么在sd卡中创建一个文件夹
File file = new File("sdcard/myfloder");
file.makedirs();
注意在配置文件中加入文件读写权限
如果sd卡为不可用状态,会抛出IO异常,可以catch处理
‘陆’ 如何在SD卡中创建数据库
一、在SD卡上创建数据库的方法
调用SQLiteDatabase类的openOrCreateDatabase方法,此方法支持创建带路径的数据库名称。
二、创建步骤
1. 判断是否存在SD卡
java">android.os.Environment.MEDIA_MOUNTED.equals(
android.os.Environment.getExternalStorageState());
//获取SD卡路径:
StringdbPath=android.os.Environment.getExternalStorageDirectory()
.getAbsolutePath();
2. 在SD卡上创建数据库
StringdbPath=android.os.Environment.getExternalStorageDirectory()
.getAbsolutePath()+"/database";
Filedbp=newFile(dbPath);
Filedbf=newFile(dbPath+"/"+"test.db");
if(!dbp.exists()){
dbp.mkdir();
}
//数据库文件是否创建成功
booleanisFileCreateSuccess=false;
if(!dbf.exists()){
try{
isFileCreateSuccess=dbf.createNewFile();
}
catch(IOExceptionioex){
}
}
else{
isFileCreateSuccess=true;
}
if(isFileCreateSuccess)
db=SQLiteDatabase.openOrCreateDatabase(dbf,mFactory);
提示:为了简便起见,可用上述方法重写SQLiteOpenHelper类的getWritableDatabase方法,其他逻辑参照SQLiteOpenHelper类即可。
注意:不要忘记加入SD卡的读写权限。