android读写sd卡
A. 请教android studio 模拟器读写SD卡不成功什么原因
PANIC: Could not open: C:\Documents and Settings\Administrator\PANIC: Could not open:my_avd.ini 原 来如果你采用绝对路径定位的话,也就是说在环境变量里面把路径写死了,比如你装d:\android-sdk时,你在path里面配成d: \android-sdk;由于android默认path为C:\Documents and Settings\Administrator\,所以会出现上述情况。 故问题原因找到,解决办法如下: Step1: 在环境变量中新建一个“系统变量” ANDROID_SDK_HOME=D:/android-sdk-windows; 当然,这是我机器上得配置,你可以按照你机器上得路径来配。 Step2: 修改系统变量Path,在前面添加%Android_SDK_HOME%/tools;让它指向我们第一步设置的ANDROID_SDK_HOME就行了。 接下来这个问题得到彻底的解决,网上很多都是拷贝.android文件夹来解决,这是不是根本所在。 说明一下,转的。今天这电脑没有android sdk测试。
B. 如何让android调试可以读写sd卡
Eclipse 有个文件浏览的,你可以将文件import进虚拟的手机sd卡里,你找下System--show view...
你的采纳是我前进的动力,
记得好评和采纳,答题不易,互相帮助,
手机提问的朋友在客户端右上角评价点(满意)即可.
如果你认可我的回答,请及时点击(采纳为满意回答)按钮!!
C. 如何在 Android 5.0 上获取 SD卡 的读写权限
1.首先请安装“Root
Explorer”这个app,它可以在已ROOT的手机中管理隐藏的系统核心档案。
2.安装完成并开启Root
Explorer以后,展开“/system/etc/permissions/”路径,然后在“platform.xml”上长按。
3.跳出“Options”选单以后,先按一下“Permissions”,我们要更改档案的权限才能写入文字。
4.此时会跳出一个警告讯息,告知你目前系统内的档案为唯读模式,需先更改为读写模式,按下“Yes”即可更改。
5.更改完成以后,将“Read”、“Write”、“Execute”项目都勾起来,然后按一下“OK”。
6.权限更改完成以后,再次在“platform.xml”上长按一次。
7.跳出“Options”选单以后,这次我们点击“Open
With”,选择用哪个app开启此档案。
8.看到显示了一堆app,我们选择用“Text
Viewer”来开启,如果读者们有其他的文字编辑app,也可以用它来开启。
9.找到以下两段文字以后,将内容改成跟底下一样:
10.更改完成以后,点击一下叫出选单,点击“Save
Changes”储存更改,然后离开即可。
11.储存成功以后,可以看到资料夹中多了一个“platform.xml.bak”档案,往后要还原时,只要将“platform.xml”删除,然后把“platform.xml.bak”更改回原来名称即可。
12.最后重新开启手机,即可让设定生效罗!
NOTE:
坊间已经有直接可以修改SD卡写入权限的app出现,但因为安全因素,我们还是自行手动修改比较安全。
D. 如何读取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的路径。
E. android 怎么读取手机sd卡空间大小
首先需要大家了解一下关于SDCard的基础知识。
SDCard文件系统的信息有:存储块大小,总的存储块数量,可用存储块数量
存储设备(这里特指SDCard)会被分为若干个区块,每个区块都有一个最小的单位。例如:Windows操作系统的区块最小单位就是4个字节的。也就是说,如果你的文件不足4字节,也会占用4字节的硬盘空间。
下面还需要理解两条计算公式
每个区块的大小 * 区块总数 = 存储设备的总大小
每个区块的大小 * 可用区块的数量 = 存储设备可用大小
下面开始编程:
首先创建安卓项目,在主activity中添加以下代码(代码中有详细注释):
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 得到文件系统的信息:存储块大小,总的存储块数量,可用存储块数量
// 获取sd卡空间
// 存储设备会被分为若干个区块
// 每个区块的大小 * 区块总数 = 存储设备的总大小
// 每个区块的大小 * 可用区块的数量 = 存储设备可用大小
File path = Environment.getExternalStorageDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize;
long totalBlocks;
long availableBlocks;
// 由于API18(Android4.3)以后getBlockSize过时并且改为了getBlockSizeLong
// 因此这里需要根据版本号来使用那一套API
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2)
{
blockSize = stat.getBlockSizeLong();
totalBlocks = stat.getBlockCountLong();
availableBlocks = stat.getAvailableBlocksLong();
}
else
{
blockSize = stat.getBlockSize();
totalBlocks = stat.getBlockCount();
availableBlocks = stat.getAvailableBlocks();
}
// 利用formatSize函数把字节转换为用户等看懂的大小数值单位
TextView tv_total = (TextView) findViewById(R.id.tv_total);
TextView tv_available = (TextView) findViewById(R.id.tv_available);
String totalText = formatSize(blockSize * totalBlocks);
String availableText = formatSize(blockSize * availableBlocks);
tv_total.setText("SDCard总大小:\n" + totalText);
tv_available.setText("SDCard可用空间大小:\n" + availableText);
}
//封装Formatter.formatFileSize方法,具体可以参考安卓的API
private String formatSize(long size)
{
return Formatter.formatFileSize(this, size);
}
F. 安卓SD卡读写权限
在AndroidManifest.xml中加入访问SDCard的权限如下:
<!-- 在SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
要往SDCard存放文件,程序必须先判断手机是否装有SDCard,并且可以进行读写。
G. 安卓手机如何读取外置sd卡
系统会自动读取插入的外置sd卡里的文件内容,你打开手机的文件管理器,在文件类型栏里点任意一种类型,比如视频,你就能看到sd卡里所有的视频文件了。
H. Android6.0的sd卡权限怎么搞
安卓6.0加入了更严格得权限验证,SD卡读写权限是这样得
1. 在AndroidManifest.xml添加<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
2. 现在大应用一般都汇集成进去权限框架,这样在你读写SD卡得时候判断有没有权限,有的话执行,没有的话弹出添加权限对话框点击确定添加权限。
3.现在权限框架比较多有EasyPermission,PermissionGen 和 MPermissions。
4.EasyPermission修改了一个框架library,可直接使用
I. android如何读取sd卡的图片并显示
首先你要在AndroidManifest.xml申请读取sdcard的权限
java"><uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/><!--向SDCard写入数据权限-->
关键代码:
packagecom.sdcardread;
importjava.io.File;
importandroid.os.Bundle;
importandroid.os.Environment;
importandroid.widget.ImageView;
importandroid.widget.LinearLayout;
importandroid.widget.TextView;
importandroid.app.Activity;
importandroid.graphics.Bitmap;
importandroid.graphics.BitmapFactory;
{
privateTextViewtextView1;
;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView1=(TextView)findViewById(R.id.textView1);
linearLayout1=(LinearLayout)findViewById(R.id.linearLayout1);
booleanisSdCardExist=Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED);//判断sdcard是否存在
if(isSdCardExist){
Stringsdpath=Environment.getExternalStorageDirectory()
.getAbsolutePath();//获取sdcard的根路径
textView1.setText("sd卡是存在的。以下是sdcard下的img25.jpg!");
Stringfilepath=sdpath+File.separator+"img25.jpg";
Filefile=newFile(filepath);
ImageViewimageView=newImageView(this);//创建一个imageView对象
if(file.exists()){
Bitmapbm=BitmapFactory.decodeFile(filepath);
//将图片显示到ImageView中
imageView.setImageBitmap(bm);
linearLayout1.addView(imageView);
}
}else{
textView1.setText("sd卡不存在!");
}
}
}
J. android4.4 app向sd卡中写数据需要什么权限
需要写入SD卡的权限:在AndroidManifest.xml文件中的<manifest></manifest>标签之间加入以下内容:
<uses-permissionandroid:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
第一行是读取数据的权限,第二行是写入数据的权限,根据需要使用。(答题不易,正确请采纳)