2015.5.9安卓笔记之sd卡和settings应用
2015-05-18 18:51
66 查看
1.默认状态下,读取sd卡不需要添加任何权限,往sd卡写入数据则需在AndroidManifest里面添加WRITE_EXTERNAL_STORAGE权限.
2.在应用SD卡时,最好判断SD卡是否可用:Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState());
3.获得sd卡所在目录: Environment.getExternalStorageDirectory();
4.掌握settings源码分析,注意两个快捷键操作:Ctrl+T:寻找方法 Ctrl+F查找
5.获得sd卡和手机内存大小:
File path=Environment.getExternalStorageDirectory();//获得sd卡目录
StatFs stat=new StatFs(path.getPath());
long blockSize=stat.getBlockSize();//得到硬盘中每一块的大小
long totalBlocks=stat.getBlockCount();//得到总的块数
long availableBlocks=stat.getAvailableBlocks();//得到可用空间的块数
String totalStr=Formatter.formatFileSize(this, totalBlocks*blockSize);//将得到的大小格式化为多少(MB/GB/TB/PB)单位的
String availStr=Formatter.formatFileSize(this, availableBlocks*blockSize);
String tag="MainActivity";
Log.i(tag, totalStr);
Log.i(tag, availStr);
tv.setText("SD卡总内存:"+totalStr+"\n"+"SD卡可用内存:"+availStr+"\n"+getRomSpaceInfo());
}
public String getRomSpaceInfo(){
File path=Environment.getDataDirectory();//获得手机内存目录
StatFs stat=new StatFs(path.getPath());
long blockSize=stat.getBlockSize();//得到硬盘中每一块的大小
long totalBlocks=stat.getBlockCount();//得到总的块数
long availableBlocks=stat.getAvailableBlocks();//得到可用空间的块数
String totalStr=Formatter.formatFileSize(this, totalBlocks*blockSize);
String availStr=Formatter.formatFileSize(this, availableBlocks*blockSize);
return "手机内存总空间为:"+totalStr+"\n手机内存可用空间为:"+availStr;
}
2.在应用SD卡时,最好判断SD卡是否可用:Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState());
3.获得sd卡所在目录: Environment.getExternalStorageDirectory();
4.掌握settings源码分析,注意两个快捷键操作:Ctrl+T:寻找方法 Ctrl+F查找
5.获得sd卡和手机内存大小:
File path=Environment.getExternalStorageDirectory();//获得sd卡目录
StatFs stat=new StatFs(path.getPath());
long blockSize=stat.getBlockSize();//得到硬盘中每一块的大小
long totalBlocks=stat.getBlockCount();//得到总的块数
long availableBlocks=stat.getAvailableBlocks();//得到可用空间的块数
String totalStr=Formatter.formatFileSize(this, totalBlocks*blockSize);//将得到的大小格式化为多少(MB/GB/TB/PB)单位的
String availStr=Formatter.formatFileSize(this, availableBlocks*blockSize);
String tag="MainActivity";
Log.i(tag, totalStr);
Log.i(tag, availStr);
tv.setText("SD卡总内存:"+totalStr+"\n"+"SD卡可用内存:"+availStr+"\n"+getRomSpaceInfo());
}
public String getRomSpaceInfo(){
File path=Environment.getDataDirectory();//获得手机内存目录
StatFs stat=new StatFs(path.getPath());
long blockSize=stat.getBlockSize();//得到硬盘中每一块的大小
long totalBlocks=stat.getBlockCount();//得到总的块数
long availableBlocks=stat.getAvailableBlocks();//得到可用空间的块数
String totalStr=Formatter.formatFileSize(this, totalBlocks*blockSize);
String availStr=Formatter.formatFileSize(this, availableBlocks*blockSize);
return "手机内存总空间为:"+totalStr+"\n手机内存可用空间为:"+availStr;
}
相关文章推荐
- 安卓学习笔记获取手机内存与SD卡路径及大小
- 【安卓笔记】notification使用
- 【安卓笔记】全面解析Service组件
- 安卓系统学习笔记(一)
- 【安卓笔记】在拨号界面通过拨打指定号码来启动某个秘密界面
- 安卓学习笔记之项目文件夹解析
- 安卓 实现一个底部导航栏(新手笔记-2)
- 8-13笔记-安卓兼容
- 【cocos2d-x 3.X自学笔记】[转]Eclipse配置安卓开发环境(解决SDK manager下载慢问题)
- 安卓笔记:为RecyclerView添加动画
- 安卓笔记之BroadcastReceiver广播
- 安卓学习笔记 6-10 热更新
- Android开发学习笔记6--安卓程序调试方法
- 安卓笔记之一些题目记录
- 安卓笔记-封装的HttpUtils
- 安卓设备驱动开发学习笔记1——开发环境配置
- 安卓笔记:对话框的用法(Dialog)
- 安卓第十六天笔记-音频与视频播放
- 安卓开发笔记——自定义广告轮播Banner(实现无限循环)
- 【安卓笔记】作为内部类的广播接收者