当前位置:首页 » 安卓系统 » android取sd卡路径

android取sd卡路径

发布时间: 2022-04-29 17:08:31

安卓手机如何读取外置sd卡

系统会自动读取插入的外置sd卡里的文件内容,你打开手机的文件管理器,在文件类型栏里点任意一种类型,比如视频,你就能看到sd卡里所有的视频文件了。

② 安卓手机sd卡的路径在哪

sd卡路径的确是在/mnt sdcard,不过请注意下载游戏安装玩是无法安装在sd卡里,也就是说你安装了还是在手机内存里,游戏运行时是占用手机内存的,建议你试试用电脑把数据包下载在手机sd卡里,如果还是提醒内存不足就卸载掉点东西吧。

(2)android取sd卡路径扩展阅读:

SD存储卡是一种基于半导体快闪记忆器的新一代记忆设备,由于它体积小、数据传输速度快、可热插拔等优良的特性,被广泛地于便携式装置上使用,例如数码相机、个人数码助理(外语缩写PDA)和多媒体播放器等。

SD卡是由松下电器、东芝和SanDisk联合推出,1999年8月发布。SD卡的数据传送和物理规范由MMC发展而来,大小和MMC卡差不多,尺寸为32mm x 24mm x 2.1mm。长宽和MMC卡一样,只是比MMC卡厚了0.7mm,以容纳更大容量的存贮单元。

S与 MMC 卡保持着向上的兼容,MMC卡可以被新的SD设备存取,兼容性则取决于应用软件,但SD卡却不可以被MMC设备存取。

参考资料:SD卡-网络

③ android怎么获sd卡内的所有文件目录

android程序获取SD卡目录的方法如下:
手机通过数据线连接电脑端,在计算机里会显示两个磁盘,一个是系统内存,另外一个就是SD卡内存,打开SD卡就可以找到文件目录。
也可以通过手机查找,打开手机应用程序,点击文件管理打开,然后打开所有文件。
接着打开”extSdCard“文件夹就是SD卡里的目录了。

④ android怎么获取sdcard文件

  1. 启动eclipse,新建Android工程(具体创建方法,请参考笔者之前所写经验《如何建Android工程》);

  2. 找到res--》layout--》activity_main.xml,双击点开

  3. 从面板中拖两个button到界面上,分别命名:

    getDIR(此button用于示范获取到的sdcard路径)

    dir创建新文件夹(此button用于示范在sdcard路径下新建文件夹)

  4. 对button分辨绑定点击事件

  5. //获取sdcard路径

    public void getDIR(View v){

    String sdpath = Environment.getExternalStorageDirectory().toString();

    AlertDialog.Builder build = new Builder(this);

    build.setMessage(sdpath).show();

    }

  6. //在手机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();

    }

    }

  7. 在【AndroidManifest.xml】配置文件中添加app对文件的操作权限

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

  8. 点击getDIR--》弹出sdcard路径

  9. 点击dir创建新文件夹--》

    如果文件夹已存在,则提示“文件夹已存在”

    反之,则提示"新建成功",同时在手机sdcard中可以找到新建成功的文件夹


⑤ 如何读取SD卡CSV文件或指定的路径在android系统

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的路径。

⑥ android开发想得到sd卡路径

通过正规api得不到外卡路径.

谷歌在源码中给出了得到外卡路径的方法,但标记为隐藏接口,因此api无法访问.

可以通过反射接口得到:

java">importjava.lang.reflect.Method;
importandroid.os.storage.StorageManager;

(){
try{
StorageManagersm=(StorageManager)getSystemService(STORAGE_SERVICE);
MethodgetVolumePathsMethod=StorageManager.class.getMethod("getVolumePaths",null);
String[]paths=(String[])getVolumePathsMethod.invoke(sm,null);
//firstelementinpaths[]isprimarystoragepath
returnpaths[0];
}catch(Exceptione){
Log.e(TAG,"getPrimaryStoragePath()failed",e);
}
returnnull;
}

(){
try{
StorageManagersm=(StorageManager)getSystemService(STORAGE_SERVICE);
MethodgetVolumePathsMethod=StorageManager.class.getMethod("getVolumePaths",null);
String[]paths=(String[])getVolumePathsMethod.invoke(sm,null);
//secondelementinpaths[]issecondarystoragepath
returnpaths[1];
}catch(Exceptione){
Log.e(TAG,"getSecondaryStoragePath()failed",e);
}
returnnull;
}

publicStringgetStorageState(Stringpath){
try{
StorageManagersm=(StorageManager)getSystemService(STORAGE_SERVICE);
MethodgetVolumeStateMethod=StorageManager.class.getMethod("getVolumeState",newClass[]{String.class});
Stringstate=(String)getVolumeStateMethod.invoke(sm,path);
returnstate;
}catch(Exceptione){
Log.e(TAG,"getStorageState()failed",e);
}
returnnull;
}

如果楼主有源码,可以去找StorageManager这个类,拉到文件最下方,就可以看到那三个隐藏接口.

⑦ Android开发如果有SD卡1SD卡2,怎么获得两个路径

获得Android开发如果有SD卡1SD卡2的办法有:
1,输入:sdCardDir = Environment.getExternalStorageDirectory();获取的不是sd卡路径
2,一个是手机内存sdcard0,一个是sd卡sdcard1。一个是内置,一个是外置的
内置即买手机时说的xxG
3,Environment.getExternalStorageDirectory()这个只是获取一个外置sd卡。但是4.0以后很多手机rom很大了且有些根本不需要外置sd卡了,于是安卓4.0后就会把机身内存rom还划分一部分当作外置sd卡使用,而且这个Environment.getExternalStorageDirectory()不同的手机厂商获取的目录名字可能不同哦大部分是/mnt/sdcard,不过你完全可以当作“外置sd卡使用了

⑧ Android SD卡路径问题以及如何获取SDCard 内存详解

较好的方法是通过Environment
来获取路径,最后给出一个例子,教你怎样获取SDCard
的内存,显示出来告诉用户。讲述的内容如下:0202
0、获取sd卡路径。
1、讲述
Environment
类。
2、讲述
StatFs
类。
3、完整例子读取
SDCard
内存
0、获取sd卡路径
方法一:
private
String
folder
=
"/sdcard/DCIM/Camera/"(SD卡上拍照程序的图片存储路径);
//写死绝对路径,不赞成使用方法二:

⑨ 如何正确获得Android内置SD卡跟外置可插拔SD卡

参考如下内容:
/内置sd卡路径
String sdcardPath = System.getenv("EXTERNAL_STORAGE");
//内置sd卡路径
String sdcardPath = Environment.getExternalStorageDirectory().getAbsolutePath();
//外置置sd卡路径
String extSdcardPath = System.getenv("SECONDARY_STORAGE");

在Enviroment类的源码中获得sd卡路径其实也是通过 System.getnv() 方法来实现的,如隐藏的方法:
/** {@hide} */
public static File () {
return new File(System.getenv(ENV_EXTERNAL_STORAGE));
}

注:更详细的内容还是去看Enviroment源码。
另外要注意的是,在API 23版本中 SECONDARY_STORAGE 被移除。

⑩ 如何正确获得Android内外SD卡路径

/**
* 获取手机自身内存路径
*
*/
public static String getPhoneCardPath(){
return Environment.getDataDirectory().getPath();
}
/**
* 获取sd卡路径
* 双sd卡时,根据”设置“里面的数据存储位置选择,获得的是内置sd卡或外置sd卡
* @return
*/
public static String getNormalSDCardPath(){
return Environment.getExternalStorageDirectory().getPath();
}
/**
* 获取sd卡路径
* 双sd卡时,获得的是外置sd卡
* @return
*/
public static String getSDCardPath() {
String cmd = "cat /proc/mounts";
Runtime run = Runtime.getRuntime();// 返回与当前 Java 应用程序相关的运行时对象
BufferedInputStream in=null;
BufferedReader inBr=null;
try {
Process p = run.exec(cmd);// 启动另一个进程来执行命令
in = new BufferedInputStream(p.getInputStream());
inBr = new BufferedReader(new InputStreamReader(in));

String lineStr;
while ((lineStr = inBr.readLine()) != null) {
// 获得命令执行后在控制台的输出信息
Log.i("CommonUtil:getSDCardPath", lineStr);
if (lineStr.contains("sdcard")
&& lineStr.contains(".android_secure")) {
String[] strArray = lineStr.split(" ");
if (strArray != null && strArray.length >= 5) {
String result = strArray[1].replace("/.android_secure",
"");
return result;
}
}
// 检查命令是否执行失败。
if (p.waitFor() != 0 && p.exitValue() == 1) {
// p.exitValue()==0表示正常结束,1:非正常结束
Log.e("CommonUtil:getSDCardPath", "命令执行失败!");
}
}
} catch (Exception e) {
Log.e("CommonUtil:getSDCardPath", e.toString());
//return Environment.getExternalStorageDirectory().getPath();
}finally{
try {
if(in!=null){
in.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if(inBr!=null){
inBr.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return Environment.getExternalStorageDirectory().getPath();
}
//查看所有的sd路径
public String getSDCardPathEx(){
String mount = new String();
try {
Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec("mount");
InputStream is = proc.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
String line;
BufferedReader br = new BufferedReader(isr);
while ((line = br.readLine()) != null) {
if (line.contains("secure")) continue;
if (line.contains("asec")) continue;

if (line.contains("fat")) {
String columns[] = line.split(" ");
if (columns != null && columns.length > 1) {
mount = mount.concat("*" + columns[1] + "\n");
}
} else if (line.contains("fuse")) {
String columns[] = line.split(" ");
if (columns != null && columns.length > 1) {
mount = mount.concat(columns[1] + "\n");
}
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return mount;
}
//获取当前路径,可用空间
public static long getAvailableSize(String path){
try{
File base = new File(path);
StatFs stat = new StatFs(base.getPath());
long nAvailableCount = stat.getBlockSize() * ((long) stat.getAvailableBlocks());
return nAvailableCount;
}catch(Exception e){
e.printStackTrace();
}
return 0;
}

热点内容
现代信息存储技术 发布:2025-05-11 23:23:07 浏览:598
服务器如何报备 发布:2025-05-11 22:52:51 浏览:39
ip访问不了网站 发布:2025-05-11 22:52:35 浏览:391
迷宫机器人算法 发布:2025-05-11 22:41:18 浏览:203
安卓手机如何改动态代码 发布:2025-05-11 22:25:13 浏览:163
c语言阶乘和 发布:2025-05-11 22:08:26 浏览:354
参展脚本 发布:2025-05-11 21:58:39 浏览:332
控制压缩类 发布:2025-05-11 21:50:59 浏览:899
c语言ba7aaa 发布:2025-05-11 21:36:25 浏览:990
九阴免费脚本 发布:2025-05-11 21:16:23 浏览:70