获取app文件大小 并对应响应单位:B KB MB GB; DecimalFormat

原创 2016年08月30日 15:58:28

 

分享:

注:参考很多资料,最后理解的基础上自己整理编写,如有冒犯,敬请见谅!谢谢

 

第一步:计算文件大小并对应相应单位

/**
	 * 文件大小计算
	 * @param fileSize
	 * @return
	 * 1B = 8b; 1KB = 1024B; 1MB = 1024KB; 1GB = 1024MB
	 */
	public String formattFileSize(int fileSize){
		DecimalFormat df = new DecimalFormat("#.00");
		String fileUnit = "";
		String woringSize = "0B";
		if(fileSize == 0){
			return woringSize;
		}
		if(fileSize < 1024){
			fileUnit = df.format((int)fileSize) + "B";
		}else if(fileSize < 1048576 && fileSize >= 1024){
			fileUnit = df.format((int)fileSize / 1024) + "KB";
		}else if(fileSize < 1073741824 && fileSize >= 1048576){
			fileUnit = df.format((int)fileSize / 1048576) + "MB";
		}else{
			fileUnit = df.format((int)fileSize / 1073741824) + "GB";
		}
		return fileUnit;
	}


二、获取appList

/**
	 * getAppList()
	 * 根据包信息,获取app
	 */ 
	private void getAppList() { 
		View mAppView = View.inflate(mContext, R.layout.car_networking_applications_listview, null);
		app_list = (ListView)mAppView.findViewById(R.id.app_list);
	
		List<PackageInfo> mPackageInfosList = getAppPackageInfoList(mContext);
		for(int i = 0; i < mPackageInfosList.size(); i++){
			PackageInfo mPackageInfo = mPackageInfosList.get(i);
			 
			mBean = new ApplicationsBean();
			mBean.setAppIcon(mPackageManager.getApplicationIcon(mPackageInfo.applicationInfo));
			mBean.setAppName(mPackageManager.getApplicationLabel(mPackageInfo.applicationInfo).toString());
			mBean.setPackgName(mPackageInfo.packageName);
			mBean.setAppVersion(mPackageInfo.versionName);
			String packgeName = mPackageInfo.applicationInfo.packageName;
			<span style="color:#ff0000;">if(mPackageInfo.packageName.equals(packgeName)){
				String dir = mPackageInfo.applicationInfo.publicSourceDir;
				int size = Integer.valueOf((int) new File(dir).length());
				String dbSize = formattFileSize(size);
</span>				mBean.setAppSize(dbSize);
 			<span style="color:#ff0000;">}
</span> 			
			mList.add(mBean);
		} 
		applicationsLists_layout.addView(mAppView);
		mAdapter =  new ApplicationAdapter(mContext, R.layout.car_networking_applications_txtview, mList);
		app_list.setAdapter(mAdapter);
	}
	


三、Adapter中

mViewHolder.txt_size1.setText(mList.get(position).getAppSize())


四、效果

 

 

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

android实现图片左右滑动效果:viewpager

看着大神在做项目,很多都不会的自己闲着多尴尬,看着博客上图片左右滑动效果,别人弄的好漂亮,自己不会,着急。于是自己也练练 在网上搜了下思路,好多都是使用viewpager+fragment。不过我这里...

ListView中单个item的跑马灯效果;及所有item实现跑马灯

为使界面效果更完善 ,能让用户知道一条消息后面未显示的内容。需对ListView进行设置跑马灯效果。 本案例中,实现以下跑马灯效果: 1、ListView需要用手触碰点击,才实现跑马灯(且是一个ite...

android 获取文件夹、文件的大小 以B、KB、MB、GB 为单位

android 获取文件夹、文件的大小 以B、KB、MB、GB 为单位 public class FileSizeUtil { public static final in...

android 获取文件夹、文件的大小 以B、KB、MB、GB 为单位

android 获取文件夹、文件的大小 以B、KB、MB、GB 为单位 public class FileSizeUtil { public static final in...

我的Android进阶之旅------>Java文件大小转换工具类 (B,KB,MB,GB,TB,PB之间的大小转换)

Java文件大小转换工具类 (B,KB,MB,GB,TB,PB之间的大小转换) 有时候要做出如下所示的展示文件大小的效果时候,需要对文件大小进行转换,然后再进行相关的代码逻辑编写。下面是一个Jav...

数据存储单位从B/KB/MB/GB到NB/DB,如何转化?全球数据量有多少

数据存储单位的换算 计算机中的数据存储是以字节(Byte)为基本计算单位的,往上分别是KB,MB,GB...,那么到底有多少数据存储单位?最大的数据存储单位是多少? 他们之间的换算关系是如何,总...

b kb mb gb tb带单位符号的单位转换

/** 转换容量单位换算方法zk **/ function unitConver(limit){ var limit=limit.toLowerCase();//转换为小写 if(limit....

文件大小与占用空间大小(附带字节转KB,MB公式)

很多人一直在困惑,一个文件或文件夹属性中的“大小(Size)”和“占用空间(Size on disk)”通常不相互匹配。“大小”的值表示文件实际大小的字节数,而“占用空间”的值表文件占用硬盘空间大小的...

[已解决]批处理查看文件大小的字节怎样转换成KB和MB?

[已解决]批处理查看文件大小的字节怎样转换成KB和MB? http://bbs.csdn.net/topics/390837366 批处理代码:     @echo off     for /f ...
  • csnewdn
  • csnewdn
  • 2016年11月17日 13:06
  • 847

计算机存储单位Byte、KB、MB、GB、TB、PB、EB、ZB、YB、DB、NB

在计算机报上看到荷兰银行的20个数据中心有大约7pb磁盘和超过20pb的磁带存储,而且每年50%~70%存储量的增长,于是想看看pb究竟有多大,计算一下27pb大约为 40万个80的硬盘大小。1Byt...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:获取app文件大小 并对应响应单位:B KB MB GB; DecimalFormat
举报原因:
原因补充:

(最多只允许输入30个字)