获取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 获取文件夹、文件的大小 以B、KB、MB、GB 为单位

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

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

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

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

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

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

在计算机报上看到荷兰银行的20个数据中心有大约7pb磁盘和超过20pb的磁带存储,而且每年50%~70%存储量的增长,于是想看看pb究竟有多大,计算一下27pb大约为 40万个80的硬盘大小。1Byt...

【C++】Byte/KB/MB/GB/TB/PB/EB 单位换算C++代码

字节单位换算公式: 1 GB = 1024 MB1 MB = 1024 KB1 KB = 1024 Bytes1 Byte = 8 bits 将字节单位转化为目标单位 根据公式我写了一段C++代码,用...

计算机存储单位:bit, Byte, KB, MB, GB, TB, PB, EB, ZB, BB

一、计算机的存储单位有哪些呢?     计算机存储单位一般用 bit, Byte, KB, MB, GB, TB, PB, EB, ZB, BB来表示,      我们经常将Byte简称为B,...

计算机存储单位:bit, Byte, KB, MB, GB, TB, PB, EB, ZB, BB

转载出处:http://blog.csdn.net/liulin_good/article/details/7212355  一、计算机的存储单位有哪些呢?   计算机存储单位一般用 ...

1BIT,1BYTE,1KB,1MB,1GB,1TB等计量单位换算

原文地址:http://www.cnblogs.com/svennee/p/4088078.html      在数字世界里没有电影、没有杂志、没有一首首的乐曲,只有一个个的数字“1”和“0”。以前...

计算机存储单位:bit, Byte, KB, MB, GB, TB, PB, EB, ZB, BB

一、计算机的存储单位有哪些呢?     计算机存储单位一般用 bit, Byte, KB, MB, GB, TB, PB, EB, ZB, BB来表示,       我们经常将Byte简称为B,...

计算机存储单位:bit, Byte, KB, MB, GB, TB, PB, EB, ZB, BB

一、计算机的存储单位有哪些呢?     计算机存储单位一般用 bit, Byte, KB, MB, GB, TB, PB, EB, ZB, BB来表示,      我们经常将Byte简称为B,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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