android存取数据(基础)

来源:互联网 发布:大津阈值算法 编辑:程序博客网 时间:2024/06/01 09:02
存取数据
获得app包名:在activity中:this.getPackageName()
sdcard:
1.读取在4.0之前是不需要权限的,只有写需要权限,4.0开始增加了读写权限。
2.打开权限如下:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
3.判断手机sd是否已挂载:
String sdState = Environment.getExternalStorageState();
if(Environment.MEDIA_MOUNTED.equals(sdState)){
//已挂载成功
}
4.获得sd路径:
File sdcardDir = Environment.getExternalStorageDirectory();

手机内存:
获得手机内存app包下的files文件夹路径:
在activity中:this.getFilesDir();
获得手机内存路径:Environment.getDataDirectory();
获得内存大小:
/**
* 参数path:是存储器根目录:
*   File path=Environment.getExternalStorageDirectory();SD卡内存根目录
*   File path=Environment.getDataDirectory();手机内存根目录:
*/
public void getMemoryInfo(File path){
//获得一个磁盘状态对象
StatFs statFs=new StatFs(path.getPath());
long blockSize = statFs.getBlockSize();//获得一个扇区的大小
long blockCount = statFs.getBlockCount();//获得总扇区数量
long availableBlocks = statFs.getAvailableBlocks(); //获得可用扇区数量
String tatalMemory=Formatter.formatFileSize(this, blockSize*blockCount);//内存总大小
String availableMemory = Formatter.formatFileSize(this, blockSize*availableBlocks);//内存可用大小
Log.i("tatalMemory", availableMemory);
Log.i("availableMemory",availableMemory);

}

0 0