`

查看SDCard的容量情况

 
阅读更多

 

 

private Button myButton;
	private TextView myTextView;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.sd_size);
		
		myButton = (Button) findViewById(R.id.button1);
		myTextView = (TextView) findViewById(R.id.textView1);
		myButton.setOnClickListener(new Button.OnClickListener() {
			public void onClick(View arg0) {
				showSize();
			}
		});
	}

	private void showSize() {
		/* 将TextView及ProgressBar设定为空值及0 */
		myTextView.setText("");
		/* 判断记忆卡是否插入 */
		if (Environment.getExternalStorageState().equals(
				Environment.MEDIA_MOUNTED)) {
			/* 取得SD CARD档案路径一般是/sdcard */
			File path = Environment.getExternalStorageDirectory();
			/* StatFs看文件系统空间使用状况 */
			StatFs statFs = new StatFs(path.getPath());
			/* Block的size */
			long blockSize = statFs.getBlockSize();
			/* 总Block数量 */
			long totalBlocks = statFs.getBlockCount();
			/* 已使用的Block数量 */
			long availableBlocks = statFs.getAvailableBlocks();
			String[] total = fileSize(totalBlocks * blockSize);
			String[] available = fileSize(availableBlocks * blockSize);
			/* getMax取得在main.xml里ProgressBar设定的最大值 */
			String text = "总共" + total[0] + total[1] + "\n";
			text += "可用" + available[0] + available[1];
			myTextView.setText(text);
		} else if (Environment.getExternalStorageState().equals(
				Environment.MEDIA_REMOVED)) {
			String text = "SD CARD已移除";
			myTextView.setText(text);
		}
	}

	/* 回传为字符串数组[0]为大小[1]为单位KB或MB */
	private String[] fileSize(long size) {
		String str = "";
		if (size >= 1024) {
			str = "KB";
			size /= 1024;
			if (size >= 1024) {
				str = "MB";
				size /= 1024;
			}
		}
		DecimalFormat formatter = new DecimalFormat();
		/* 每3个数字用,分隔如:1,000 */
		formatter.setGroupingSize(3);
		String result[] = new String[2];
		result[0] = formatter.format(size);
		result[1] = str;
		return result;
	}
 


  • 大小: 15 KB
分享到:
评论

相关推荐

    win Mobile SDcard容量 电池 信息查询

    WindowsMobile VB dot net SDcard 容量查询 GetDiskFreeSpaceExW 调用 API Battery 状态查询 GetSystemPowerStatusEx 调用 API 给自己将来备忘

    Android获取sdcard 信息

    #### 三、计算SDCard容量 有了`blockSize`、`totalBlocks`和`availableBlocks`,我们就可以计算SDCard的总容量和可用容量了。总容量等于`blockSize * totalBlocks`,而可用容量则等于`blockSize * availableBlocks`...

    Android 获取SDCard卡容量.rar

    Android获取手机内置存储SDCard的使用情况,包括SD卡容量、已使用大小,剩余容量大小等信息,将获取的过程写入按钮事件中,单击按钮后,获取SD卡容量信息。  if(Environment.getExternalStorageState().equals...

    Android 平台上SDCard的自动mount的解决方法

    2. **验证驱动加载情况**:在Android设备启动过程中,通过日志工具(如`logcat`)查看是否有SDCard驱动加载成功的记录。如果没有,可能需要检查驱动配置或重新编译内核。 3. **测试SDCard读写功能**:使用简单的...

    获取sdcard容量

    当进行文件操作,特别是大文件的写入时,了解SD卡的剩余容量至关重要,以防在写入过程中因空间不足导致错误。本文将详细介绍如何在Android中获取SD卡的容量,并提供相关的编程实践。 ### 1. Android SD卡概述 在...

    Android_SDCard操作(文件读写,容量计算).

    Android SDCard 操作(文件读写、容量计算) Android SDCard 操作是指在 Android 系统中对 SD 卡的读写和容量计算操作。SD 卡是 Android 设备中的一种外部存储设备,用于存储数据、音乐、图片、视频等文件。 ...

    Android_SDCard操作(文件读写,容量计算)

    - **MEDIA_BAD_REMOVAL**:“bad_removal”,表示SDCard在没有被正确卸载的情况下被移除了。 - **MEDIA_CHECKING**:“checking”,表示正在对SDCard进行磁盘检查。 - **MEDIA_MOUNTED**:“mounted”,表示SDCard已...

    Android 解析如何检测获取SDCard内存剩余空间.rar

    SDCard存储卡在 Android 手机上是可以随时插拔的,每次的动作都会引起Android系统ACTION_BROADCAST,本例子将计算出 SDCard 的剩余容量和总容量。供测试的sd卡中存了两首歌和一个30M的文件,现在检测剩余的空间正好...

    SDcard 接口 协议 时序图

    此外,它可能还会讨论如何正确连接和初始化SDcard,以及如何处理错误和异常情况。 “SD卡-中文学习笔记.pdf”通常是对SDcard协议理解和实践的个人总结,可能包含实用技巧和常见问题解决方案。 “SD卡I/O接口设计....

    Android数据存储之Sdcard

    外部存储,尤其是Sdcard,主要用来存放大容量、可共享的文件,如音频、视频、图片和文档。 在Android中,访问Sdcard需要相应的权限。在AndroidManifest.xml文件中,添加以下代码以请求读写权限: ```xml ``` 从...

    SDCard内存大小统计

    本话题主要关注如何统计SDCard的存储大小,包括内置SDCard和外置SDCard,以及USB存储设备的容量。统计这些信息对于了解设备的存储状况,管理应用程序和数据,以及优化存储空间的使用至关重要。 首先,我们要理解...

    Android数据存储之--SDCard

    使用SDCard的优点在于其容量大,用户可以自由地插入和移除,但同时也需要注意权限问题,因为读写SDCard通常需要`READ_EXTERNAL_STORAGE`和`WRITE_EXTERNAL_STORAGE`权限。 在Android中,访问SDCard主要通过`...

    android Sdcard的相关操作

    这个命令允许开发者指定镜像文件的名称(如`sdcard.img`)和容量(如`1024MB`)。例如,`mksdcard -l sdcard 1024MB D:\sdcard.img`会在D盘生成一个1GB的名为`sdcard.img`的SDCard镜像文件。`-l sdcard`是设置逻辑...

    Android如何获取SDCard_内存

    在Android开发中,了解外部存储(如SD卡)的状态及空间使用情况对于许多应用程序来说至关重要。例如,当应用需要存储大量数据时,确保有足够的可用空间可以避免运行时错误或者用户数据丢失等问题。本文将详细介绍...

    Android_SDCard.rar_android

    计算SDCard容量通常涉及到文件系统的统计信息。在Android中,可以使用`StatFs`类来获取存储分区的信息,包括总块数、可用块数以及单个块的大小。以下是一个示例: ```java StatFs stat = new StatFs(Environment....

    android手机外置SDcard(TF卡)获取方法

    在大多数Android设备中,用户可以在"存储"设置中查看SDcard的状态和容量。打开文件管理器应用,通常可以看到“外部存储”或“SDcard”等选项,点击即可浏览和管理TF卡上的文件。 在Android系统中,对外置SDcard的...

    sdcard2

    标题“sdcard2”可能指的是Android系统中与SD卡相关的技术讨论或问题,尤其是在Android开发环境中。这篇博文链接指向了ITEYE博客上的一篇文章,但具体的内容由于在这里没有给出,我们只能根据标题和标签来推测可能...

    手机apk拷贝到sdcard

    另一部分是SD卡(或称外部存储),可以扩展设备的存储容量,用户可以自由管理其内容,包括存放APK文件。 3. **移动APK到SD卡**:在Android中,用户通常可以通过设置或第三方应用来移动已安装的应用到SD卡。对于未...

    android SDCard 操作

    外部存储,即SDCard,可以是物理插入的SD卡或内置的emulated SD卡,用于用户存储多媒体文件、文档等大容量数据。 1. **手动创建外部SDCard**: 在Android模拟器中,可以通过ADB(Android Debug Bridge)命令来创建...

Global site tag (gtag.js) - Google Analytics