- 浏览: 912591 次
- 性别:
- 来自: 上海
最新评论
-
liu149339750:
我勒个去,搜到你的博客了,关注!
Android make脚本简记 -
ihopethatwell:
楼主,这个修改时间有个问题,退出修改界面就不保存设置的时间了, ...
Android中如何修改系统时间(应用程序获得系统权限) -
flyar520:
你好...我也遇到屏幕半屏刷成黑屏的问题...但是我的时在开机 ...
Android横屏状态下返回到壁纸界面屏幕刷新问题 -
flyar520:
你好...我也遇到屏幕半屏刷成黑屏的问题...但是我的时在开机 ...
Android横屏状态下返回到壁纸界面屏幕刷新问题 -
taowayi:
推荐android一键反编译神器 apkdec
Android apk反编译
android.os.Environment
提供访问环境变量
java.lang.Object
android.os.Environment
Environment 静态方法:
方法 : getDataDirectory ()
返回 : File
解释 : 返回Data的目录
方法 : getDownloadCacheDirectory ()
返回 : File
解释 : 返回下载缓冲区目录
方法 : getExternalStorageDirectory ()
返回 : File
解释 : 返回扩展存储区目录(SDCard)
方法 : getExternalStoragePublicDirectory (String type)
返回 : File
解释 : 返回一个高端的公用的外部存储器目录来摆放某些类型的文件(来自网上)
方法 : getRootDirectory ()
返回 : File
解释 : 返回Android的根目录
方法 : getExternalStorageState ()
返回 : String
解释 : 返回外部存储设备的当前状态
getExternalStorageState () 返回的状态String 类型常量 :
常量 : MEDIA_BAD_REMOVAL
值 : "bad_removal"
解释 : 在没有正确卸载SDCard之前移除了
常量 :MEDIA_CHECKING
值 : "checking"
解释 : 正在磁盘检查
常量 : MEDIA_MOUNTED
值 : "mounted"
解释 : 已经挂载并且拥有可读可写权限
常量 : MEDIA_MOUNTED_READ_ONLY
值 : "mounted_ro"
解释 : 已经挂载,但只拥有可读权限
常量 :MEDIA_NOFS
值 : "nofs"
解释 : 对象空白,或者文件系统不支持
常量 : MEDIA_REMOVED
值 : "removed"
解释 : 已经移除扩展设备
常量 : MEDIA_SHARED
值 : "shared"
解释 : 如果SDCard未挂载,并通过USB大容量存储共享
常量 : MEDIA_UNMOUNTABLE
值 : "unmountable"
解释 : 不可以挂载任何扩展设备
常量 : MEDIA_UNMOUNTED
值 : "unmounted"
解释 : 已经卸载
使用时只需先判断SDCard当前的状态然后取得SdCard的目录即可(见源代码)
1
//
SDcard 操作
2
public
void
SDCardTest() {
3
//
获取扩展SD卡设备状态
4
String sDStateString
=
android.os.Environment.getExternalStorageState();
5
6
//
拥有可读可写权限
7
if
(sDStateString.equals(android.os.Environment.MEDIA_MOUNTED)) {
8
9
try
{
10
11
//
获取扩展存储设备的文件目录
12
File SDFile
=
android.os.Environment
13
.getExternalStorageDirectory();
14
15
//
打开文件
16
File myFile
=
new
File(SDFile.getAbsolutePath()
17
+
File.separator
+
"
MyFile.txt
"
);
18
19
//
判断是否存在,不存在则创建
20
if
(
!
myFile.exists()) {
21
myFile.createNewFile();
22
}
23
24
//
写数据
25
String szOutText
=
"
Hello, World!
"
;
26
FileOutputStream outputStream
=
new
FileOutputStream(myFile);
27
outputStream.write(szOutText.getBytes());
28
outputStream.close();
29
30
}
catch
(Exception e) {
31
//
TODO: handle exception
32
}
//
end of try
33
34
}
//
end of if(MEDIA_MOUNTED)
35
//
拥有只读权限
36
else
if
(sDStateString
37
.endsWith(android.os.Environment.MEDIA_MOUNTED_READ_ONLY)) {
38
39
//
获取扩展存储设备的文件目录
40
File SDFile
=
android.os.Environment.getExternalStorageDirectory();
41
42
//
创建一个文件
43
File myFile
=
new
File(SDFile.getAbsolutePath()
+
File.separator
44
+
"
MyFile.txt
"
);
45
46
//
判断文件是否存在
47
if
(myFile.exists()) {
48
try
{
49
50
//
读数据
51
FileInputStream inputStream
=
new
FileInputStream(myFile);
52
byte
[] buffer
=
new
byte
[
1024
];
53
inputStream.read(buffer);
54
inputStream.close();
55
56
}
catch
(Exception e) {
57
//
TODO: handle exception
58
}
//
end of try
59
}
//
end of if(myFile)
60
}
//
end of if(MEDIA_MOUNTED_READ_ONLY)
61
}
//
end of func
计算SDCard的容量大小
android.os.StatFs
一个模拟linux的df命令的一个类,获得SD卡和手机内存的使用情况
|
||
|
android.os.StatFs |
|
构造方法:
公用方法:
方法 : getAvailableBlocks ()
返回 : int
解释 :返回文件系统上剩下的可供程序使用的块
方法 : getBlockCount ()
返回 : int
解释 : 返回文件系统上总共的块
方法 : getBlockSize ()
返回 : int
解释 : 返回文件系统 一个块的大小单位byte
方法 : getFreeBlocks ()
返回 : int
解释 : 返回文件系统上剩余的所有块 包括预留的一般程序无法访问的
返回 : void
解释 : 执行一个由该对象所引用的文件系统雷斯塔特.(Google翻译)
想计算SDCard大小和使用情况时, 只需要得到SD卡总共拥有的Block数或是剩余没用的Block数,再乘以每个Block的大小就是相应的容量大小了单位byte.(见代码)
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/ -->
public void SDCardSizeTest() {
//取得SDCard当前的状态
String sDcString = android.os.Environment.getExternalStorageState();
if(sDcString.equals(android.os.Environment.MEDIA_MOUNTED)) {
//取得sdcard文件路径
File pathFile = android.os.Environment.getExternalStorageDirectory();
android.os.StatFs statfs = new android.os.StatFs(pathFile.getPath());
//获取SDCard上BLOCK总数
long nTotalBlocks = statfs.getBlockCount();
//获取SDCard上每个block的SIZE
long nBlocSize = statfs.getBlockSize();
//获取可供程序使用的Block的数量
long nAvailaBlock = statfs.getAvailableBlocks();
//获取剩下的所有Block的数量(包括预留的一般程序无法使用的块)
long nFreeBlock = statfs.getFreeBlocks();
//计算SDCard 总容量大小MB
long nSDTotalSize = nTotalBlocks * nBlocSize / 1024 / 1024;
//计算 SDCard 剩余大小MB
long nSDFreeSize = nAvailaBlock * nBlocSize / 1024 / 1024;
}//end of if
}//end of func
发表评论
-
Android JNI 编程常见小问题
2015-09-08 11:31 1186extern "C" { jint Jav ... -
Android ServiceManager注册自定义service
2015-08-19 09:53 4094当我们要使用android的系统服务时,一般都是使用Conte ... -
Android ALMP 架设web服务器配置
2014-10-08 18:48 1425随着信息时代的发展,智能手机已经越来越普及。下面本文将带大家把 ... -
Android UiAutomator 自动化测试
2014-07-04 17:39 9869一、一个BUG引发的问题 ... -
Android XP MTP支持
2014-03-18 16:41 2221家里电脑是win7,连上直接豌豆荚装驱动就好了。但单位的XP却 ... -
Android Launcher2 icon大小修改
2012-08-16 19:12 5992不同分辨率、不同屏幕的不同设备,android 原生的Laun ... -
android 浏览器APN切换
2012-04-16 16:42 2271业务需求:有些链接需 ... -
android 浏览器全屏显示
2012-04-16 16:40 4841业务需求:浏览器设置中支持全屏显示的功能。 分析:只需要在 ... -
Android MD5校验码的生成与算法实现
2012-03-05 15:05 20305在Java中,java.security.MessageDi ... -
Android View的xml属性
2012-02-27 13:25 2793java.lang.Object andro ... -
Android Gallery3D源码学习总结(三)——Cache缓存及数据处理流程
2011-12-29 11:04 4637第一,在应用程序中有三个线程存在:主线程(随activity的 ... -
Android Gallery3d源码学习总结(二)——绘制流程drawThumbnails
2011-12-29 11:02 2863此函数控制相册表格页 ... -
Android Gallery 3D 特效精华
2011-12-29 10:45 5267Android Gallery 3D 特效精华 一、布 ... -
Android Gallery3d源码学习总结(一)——绘制流程drawFocusItems
2011-12-29 10:42 2680显示单张图片相关的输入变量 int selecte ... -
Android:AppWidget,PendingIntent,RemoteViews用法
2011-11-25 10:09 5817什么是AppWidget?AppWidget就是我们平常在 ... -
Android软件汉化/精简/去广告教程
2011-08-23 12:32 2861前言: 现在随处都可以找到功能强大的汉化工具,操作简 ... -
Android ListView页眉页脚效果
2011-07-06 14:07 2639大家都知道,在我们调用ListView的addFooterVi ... -
Android 获取设备信息
2011-06-22 21:09 7896)android 获取设备型号、OS版本号: imp ... -
Android 应用安装设置
2011-05-31 16:18 1841应用程序的默认安装位置以及是否可移动取决于该程序的开发者的配置 ... -
Android Activity去除标题栏和状态栏
2011-05-31 13:10 40425一、在代码中设置 public void onCreate( ...
相关推荐
SD卡 下面用命令操作,不是在 工具上操作,手动自己创建 外部的SDcard。
Android模拟器sdcard操作 ,帮助我们更好学Android系统开发
android应用开发中关于SDCard读写操作的实例代码,在下载学习SDCard操作中,碰到很棘手的问题了。不过最后还在我的坚持下成功了,
Android_SDCard操作(文件读写,容量计算)Android_SDCard操作(文件读写,容量计算)
Android_SDCard操作(文件读写,容量计算).
具体介绍了android中sdcard的读写操作步骤和具体的实现过程,介绍了sdcard的应用等
获取外置SDcard路径,进行创建,写入,读取,删除操作。
主要是在模拟器上去建立系统的Sdcard镜像文件,和 push文件到device,
Android_SDCard操作(文件读写,容量计算)文件读写,容量计算
android外部存储文件操作,实现对sdcard上的文件进行操作
android 文件操作 输入流对象 输出流对象 SDCard读写
一个关于文件操作的静态工具类 实现手机SD卡目录或文件的拷贝 移动 删除 递归 Demo中有详细注释 在进行Demo测试时 建议先把测试的文件备份一下在测试 否则删除就找不回了 具体可见我博客...实现手机SD卡目录或文件的...
1.加入sdcard操作权限; 2.确认sdcard的存在; 3.不能直接在非sdcard的根目录创建文件,而是需要先创建目录,再创建文件; 实例如下: (1)在AndroidManifest.xml添加sdcard操作权限 <!-- sdcard权限 --> ...
由于考虑到手机本身的存储空间小,这时候我们需要把文件存储在SDcard中,今天自己也学习了一下在android进行sdcard的存储使用方法; 首先如果要在程序中使用sdcard进行存储,我们必须要在AndroidManifset.xml文件...
android sdcard 循环读取数据 文件操作等基本应用源代码
NULL 博文链接:https://z251257144.iteye.com/blog/1355245
sdcard: 是SD卡中的FAT32文件系统挂载的目录 sqlite_stmt_journals: 一个根目录下的tmpfs文件系统,用於存放临时文件数据。 sys : 用於挂载 sysfs文件系统。 在设备模型中,sysfs文件系统用来表示设备的结构.将...
有时我们需要删除android模拟器或手机上的sd卡文件,特别是... 您可能感兴趣的文章:Android用ListView显示SDCard文件列表的小例子android读取sdcard路径下的文件的方法Android对sdcard扩展卡文件操作实例详解andro
主要介绍了Android实现内存中数据保存到sdcard的方法,涉及Android的文件读写与I/O操作相关技巧,需要的朋友可以参考下