❶ 获取android手机的自带存储路径和sdcard存储路径
android手机获取自带存储路径和sd卡存储路径的方式是:
调用Environment.getExternalStorageDirectory,返回的存储目录并不是系统内置的SD卡目录。
1、手机将eMC存储挂载到/mnt/external_sd、/mnt/sdcard2等节点,而将外置的SD卡挂载到Environment.getExternalStorgeDirectory这个结点。
2、而另一部分手机直接将eMMC存储挂载在Environment.getExternalStorageDirectory这个节点,而将真正的外置SD卡挂载到/mnt/external_sd、/mnt/sdcard2等节点。调用Environment.getExternalStorgeDirectory,则返回内置的SD的路径。
Android在正式发行之前,最开始拥有两个内部测试版本,并且以着名的机器人名称来对其进行命名,它们分别是:阿童木(AndroidBeta),发条机器人(Android1.0)。后来由于涉及到版权问题,谷歌将其命名规则变更为用甜点作为它们系统版本的代号的命名方法。
Android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。
❷ android 判断sdcard是否存在,以及写入权限
/**
* 判断手机是否有SD卡。
*
* @return 有SD卡返回true,没有返回false。
*/
public static boolean hasSDCard() {
return Environment.MEDIA_MOUNTED.equals(Environment
.getExternalStorageState());
}
Android app开发过程中,有时需要获取sdcard路径,在该路径下进行文件访问操作
工具/原料
eclipse
android sdt
android手机
方法/步骤
启动eclipse,新建Android工程(具体创建方法,请参考笔者之前所写经验《如何建Android工程》);
找到res--》layout--》activity_main.xml,双击点开
从面板中拖两个button到界面上,分别命名:
getDIR(此button用于示范获取到的sdcard路径)
dir创建新文件夹(此button用于示范在sdcard路径下新建文件夹)
对button分辨绑定点击事件
//获取sdcard路径
public void getDIR(View v){
String sdpath = Environment.getExternalStorageDirectory().toString();
AlertDialog.Builder build = new Builder(this);
build.setMessage(sdpath).show();
}
//在手机sdcard路径下新建名为jingyan的文件夹
public void newPackage(View v){
String mkdir = Environment.getExternalStorageDirectory()+"/jingyan/test.txt";
File file = new File(mkdir);
AlertDialog.Builder build = new Builder(this);
if(file.exists()){
build.setMessage("文件夹已存在").show();
}else{
file.mkdirs();
build.setMessage("新建成功").show();
}
}
在【AndroidManifest.xml】配置文件中添加app对文件的操作权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
安装之后演示效果如下:
点击getDIR--》弹出sdcard路径
点击dir创建新文件夹--》
如果文件夹已存在,则提示“文件夹已存在”
反之,则提示"新建成功",同时在手机sdcard中可以找到新建成功的文件夹
❸ 获取android手机的自带存储路径和sdcard存储路径
android手机获取自带存储来路径和sd卡存储路径的方式是:调用Environment.getExternalStorageDirectory(),返回的存储源目录并不是系统内置的SD卡目录。
1.一部分手机将eMMC存储挂载到
/mnt/external_sd
、/mnt/sdcard2
等节点知,而将外置的SD卡挂载到
Environment.getExternalStorageDirectory()这个结点。
此时,调用Environment.getExternalStorageDirectory(),则返回外置的SD的路径。
2.而另一部分手机直接道将eMMC存储挂载在Environment.getExternalStorageDirectory()这个节点,而将真正的外置SD卡挂载到/mnt/external_sd、/mnt/sdcard2
等节点。
此时,调用Environment.getExternalStorageDirectory(),则返回内置的SD的路径。