`
407827531
  • 浏览: 1076448 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

查询SD卡容量信息

阅读更多

推荐安卓开发神器(里面有各种UI特效和android代码库实例)

import java.io.File;

import android.os.Environment;
import android.os.StatFs;

public class MemoryStatus {

	static final int ERROR = -1;
	
	static public boolean externalMemoryAvailable() {
	    return android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
	}
	
	static public long getAvailableInternalMemorySize() {
		File path = Environment.getDataDirectory();
		StatFs stat = new StatFs(path.getPath());
		long blockSize = stat.getBlockSize();
		long availableBlocks = stat.getAvailableBlocks();
		return availableBlocks * blockSize;
	}
	
	static public long getTotalInternalMemorySize() {
		File path = Environment.getDataDirectory();
		StatFs stat = new StatFs(path.getPath());
		long blockSize = stat.getBlockSize();
		long totalBlocks = stat.getBlockCount();
		return totalBlocks * blockSize;
	}
	
	static public long getAvailableExternalMemorySize() {
		if(externalMemoryAvailable()) {
			File path = Environment.getExternalStorageDirectory();
			StatFs stat = new StatFs(path.getPath());
			long blockSize = stat.getBlockSize();
			long availableBlocks = stat.getAvailableBlocks();
			return availableBlocks * blockSize;
		} else {
			return ERROR;
		}
	}
	
	static public long getTotalExternalMemorySize() {
		if(externalMemoryAvailable()) {
			File path = Environment.getExternalStorageDirectory();
			StatFs stat = new StatFs(path.getPath());
			long blockSize = stat.getBlockSize();
			long totalBlocks = stat.getBlockCount();
			return totalBlocks * blockSize;
		} else {
			return ERROR;
		}
	}
	
	static public String formatSize(long size) {
		String suffix = null;
	
		if (size >= 1024) {
			suffix = "KiB";
			size /= 1024;
			if (size >= 1024) {
				suffix = "MiB";
				size /= 1024;
			}
		}
	
		StringBuilder resultBuffer = new StringBuilder(Long.toString(size));
	
		int commaOffset = resultBuffer.length() - 3;
		while (commaOffset > 0) {
			resultBuffer.insert(commaOffset, ',');
			commaOffset -= 3;
		}
	
		if (suffix != null)
			resultBuffer.append(suffix);
		return resultBuffer.toString();
	}
}

 

分享到:
评论

相关推荐

    sd卡容量计算的详解及程序实现

    在编写程序实现SD卡容量计算时,开发者需要遵循这一规范来正确地解读SD卡的容量信息,并将其转换为可用的存储空间数据。 综合以上信息,我们可以总结出几个关键知识点: 1. SD卡容量计算的基本原理和方法。这可能...

    SD卡的容量

    总的来说,了解SD卡的容量信息是优化Android设备存储性能的重要步骤。通过监控和管理SD卡状态,用户可以确保设备始终有足够的存储空间运行各类应用和服务。同时,定期检查和维护SD卡健康,避免因存储不足导致的设备...

    android 查询存储卡剩余容量 (Environment 加 StatFs)

    在Android系统中,开发者可以通过Java API来获取存储卡(外部存储)的剩余容量信息。这里主要涉及两个关键类:`Environment`和`StatFs`。`Environment`是Android提供的一个系统类,它提供了与文件系统相关的常量和...

    SD卡数据手册.rar_SD卡中文资料_SD卡手册_SD卡数据手册_SD卡规范_SD卡;数据手册;接口协议

    首先,"SD卡中文数据手册"是学习SD卡的基础,它详细阐述了SD卡的技术规格、存储容量、传输速度、兼容性等关键信息。手册中通常会涵盖SD卡的不同版本(如SD、SDHC、SDXC),它们的区别在于存储容量和文件系统支持。...

    SD卡,TF卡修复工具 能够恢复SD卡的真正容量

    SD卡和TF卡是两种常见的存储卡类型,广泛应用于数码相机、智能手机、平板电脑和其它便携式设备中。它们提供了便捷的数据存储和转移功能。然而,随着时间的推移或不当使用,这些卡片可能会出现容量异常、数据丢失或...

    SD卡修复软件 修复容量突然变小成几十K的SD卡

    总的来说,"SD卡修复工具"对于解决SD卡容量异常问题是非常有价值的,它们可以帮助用户恢复存储空间,保护数据,并防止类似问题的再次发生。然而,为了保持SD卡的健康状态,用户应养成良好的使用习惯,并定期检查和...

    海马模拟器sd卡容量调整方法.docx

    在海马模拟器中,进入“设置” > “储存”,可以查看到手机内部存储和SD卡的容量。例如,如果SD卡显示为32GB,但我们需要更大的空间。 在调整容量前,确保备份SD卡上的所有重要数据,因为这个过程会涉及到SD卡镜像...

    基于C8051单片机的大容量SD卡存储系统的研究

    ### 基于C8051单片机的大容量SD卡存储系统的研究 #### 一、引言 自Intel推出了8051单片机以来,8位单片机经历了长时间的技术发展,在性能和速度方面都有显著提升。C8051单片机作为一款功能强大的8位微控制器,在...

    SD卡MiniSD卡与MicroSD卡的引脚定义等资料

    - **识别模式**:在此模式下,主机可以查询并识别SD卡的存在,并获取其基本信息,如制造商ID、产品型号等。 - **数据传输模式**:一旦SD卡被正确识别后,即可进入此模式进行数据读写操作。 #### 五、命令与响应 SD...

    SD存储卡物理层规范

    根据给定文件的信息,我们可以详细地探讨SD存储卡物理层规范的关键知识点,这些知识点主要集中在SD卡的物理接口、命令协议、系统特性和系统概念等方面。 ### 一、SD存储卡概述 SD存储卡(Secure Digital Memory ...

    一款存储卡sd卡量产工具

    在IT领域,存储卡,尤其是SD卡,是移动设备、数码相机和其他便携式设备中广泛使用的存储介质。"量产工具"通常指的是用于格式化、修复或批量生产这些存储卡的软件工具。针对"一款存储卡sd卡量产工具"这个主题,我们将...

    SD卡测速工具

    sd卡修复工具是通常SD/SDHC 存储卡文件系统以普通操作系统格式化软件被格式化,这个sd卡修复工具不遵照SD存储卡规格,从而不被手机或读卡器识别,或出现SD卡的容量变小。不能存储。存储不稳定的现象。 Panasonic ...

    SD卡 MMC卡 SDIO卡 TF卡资料SD卡V1.0 2.0协议 SD卡读写规范SD卡中文数据手册合集共计26个文档资料.zip

    本资料合集包含了SD卡从V1.0到V2.0的协议、读写规范以及接口规范等详细信息,对于理解其工作原理和技术细节非常有帮助。 1. **SD卡协议**:SD卡(Secure Digital Memory Card)是一种非易失性存储设备,遵循特定的...

    SD卡容量恢复

    在淘宝上,由于贪图便宜,买了个16G TF 卡 只花32.8元,JS 还包邮费,还送读卡器,。... 无法使用该卡,因为复制一定容量后,就无法打开,手机不认,电脑打不开卡中内容。如果大家有这样的情况可以用这个来试试。

    仿QQ音乐,检测标准SD卡和扩展SD卡总大小和容量

    在Android系统中,标准SD卡(也称为内部存储)和扩展SD卡(通常指的是外部存储或MicroSD卡)是两种常见的存储方式,用于增加设备的存储容量。在开发一款类似QQ音乐的应用时,检测这两种SD卡的总大小和剩余容量是一项...

    S7-200SMART PLC如何使用MicroSD存储卡来进行程序传输和固件更新?.docx

    ### S7-200SMART PLC 如何使用 MicroSD 存储卡来进行程序传输和固件更新? #### 一、概述 西门子 S7-200SMART 系列可编程逻辑控制器 (PLC) 支持使用 MicroSD 存储卡进行多种操作,包括程序传输、固件更新以及恢复...

    最新版(V4.1)SD卡规范中文

    SD卡(Secure Digital Card)是一种广泛使用的便携式存储卡标准,它的发展经历了多个版本,每个版本都在性能、容量和功能上进行了增强。最新版SD卡规范为V4.1,本文将根据标题、描述、标签及提供的部分内容来详细...

    SD存储卡的中文资料

    CMD线用于发送命令到SD卡并接收其响应,支持各种操作,如读写数据、查询卡状态、设置工作模式等。 3. **DAT0-3(双向数据信号)**:这四条数据线在SD卡的高速模式下实现并行数据传输,提高数据传输速率。在标准SD卡...

    SD卡的一般结构简介

    SD 卡(Secure Digital Memory Card)是一种为满足安全性、容量、性能和使用环境等各方面的需求而设计的一种新型存储器件。SD 卡允许在两种模式下工作,即 SD 模式和 SPI 模式。本文将详细介绍 SD 卡的内部结构、...

    SD卡格式化 低格 SD卡低格工具合集拯救SD卡

    SD卡作为一种广泛应用于数码相机、手机、平板电脑和其他便携式设备的数据存储媒介,有时可能会遇到各种问题,如无法读取、写入错误或者数据损坏等。这时,我们可能需要对SD卡进行格式化或低级格式化来解决这些问题。...

Global site tag (gtag.js) - Google Analytics