安卓获取手机内存,SD卡内存使用状态的方法

内存状态获取类:

public class MemoryUtils {
public static final int TotalMemory = 0;
public static final int AvailableMemory = 1;
public static final int freeMemory = 2;

public static String GetMemoryinfo(Context context,File pathFile,int MemoryType) {
StatFs statFs=new StatFs(pathFile.getPath());
long blockSize=statFs.getBlockSize();
switch (MemoryType) {
case TotalMemory:
return Formatter.formatFileSize(context, statFs.getBlockCount()*blockSize);
case AvailableMemory:
return Formatter.formatFileSize(context, statFs.getAvailableBlocks()*blockSize);
case freeMemory:
return Formatter.formatFileSize(context, statFs.getFreeBlocks()*blockSize);
default:
return "0";
}
}
}

调用:

public void sdCartClick(View view) {
TextView textView=(TextView)findViewById(R.id.tvinfo);
File file=Environment.getExternalStorageDirectory();
String textString="总内存:"+MemoryUtils.GetMemoryinfo(this,file , MemoryUtils.TotalMemory);
textString+="|可用内存:"+MemoryUtils.GetMemoryinfo(this,file, MemoryUtils.AvailableMemory);
textString+="|空闲内存:"+MemoryUtils.GetMemoryinfo(this,file, MemoryUtils.freeMemory);
textView.setText(textString);
}

public void PhoneDataClick(View view) {
File file=Environment.getDataDirectory();
TextView textView=(TextView)findViewById(R.id.tvinfo);
String textString="总内存:"+MemoryUtils.GetMemoryinfo(this,file , MemoryUtils.TotalMemory);
textString+="|可用内存:"+MemoryUtils.GetMemoryinfo(this,file, MemoryUtils.AvailableMemory);
textString+="|空闲内存:"+MemoryUtils.GetMemoryinfo(this,file, MemoryUtils.freeMemory);
textView.setText(textString);
}
public void DownLoadCacheClick(View view) {
TextView textView=(TextView)findViewById(R.id.tvinfo);
File file=Environment.getDownloadCacheDirectory();
String textString="总内存:"+MemoryUtils.GetMemoryinfo(this,file , MemoryUtils.TotalMemory);
textString+="|可用内存:"+MemoryUtils.GetMemoryinfo(this,file, MemoryUtils.AvailableMemory);
textString+="|空闲内存:"+MemoryUtils.GetMemoryinfo(this,file, MemoryUtils.freeMemory);
textView.setText(textString);
}

时间: 2024-10-29 19:08:01

安卓获取手机内存,SD卡内存使用状态的方法的相关文章

Android下获取手机和SD卡的总空间和可用空间

获取SD卡的总空间和可用空间 File path = Environment.getExternalStorageDirectory(); StatFs stat = new StatFs(path.getPath()); long blockSize = stat.getBlockSize(); long totalBlocks = stat.getBlockCount(); long availableBlocks = stat.getAvailableBlocks(); long tota

Android手机外置SD卡(TF卡)的获取方法

Android手机上的外置SD卡,起初的时候,即在Android出世的前几年,那时手机的存储是十分有限的,不像现在到处可见16G.32G和64G的存储,因而那时候的手机有的厂商允许插入外置的SD卡,此时这张卡仍处于手机的扩展部分.后来,随着手机的发展以及存储能力的增加,这张外置SD卡,逐渐成为了手机的一部分,不再允许可挺拔了,当然现在依然有的手机允许对存储进行拓展,比如三星等. 那张拓展的存储卡,现在叫做TF卡,且不是所有的手机都支持它,但是有时候有些奇葩需求偏要优先存储在TF卡里面,这叫不得不

安卓手机内外SD卡互换

相信有許多人....有內置sd太小...外置sd(sdcard2或extsd)卻只能放資料.... 一些遊戲或者是影音播放軟體....根本不會去讀外置sd(sdcard2或extsd)..... 記憶卡買多大都沒啥用.....非常困擾..... 終於...給我找到修改路徑的方法.......注意....android4.0以上適用....4.0以下的話路徑不太一樣!! 1.android4.0版本適用 2.需root 3.使用ES文件瀏覽器,找到system/etc/vold.fstab這個文件

安卓系统无法读写SD卡(2015-04-02更新)

安卓4.4及以后的系统对二级外部存储设备做了读写权限限制,导致应用程序可能不能读写外置SD卡,以下方法可以解除限制. 1.Root系统. 2.安装RE管理器. 3.用RE管理器修改“/system/etc/permissions”目录下的"platform.xml"文件,找到以下标签,添加红色字体部分. <permission name="android.permission.WRITE_EXTERNAL_STORAGE" >          <

android Loger日志类(获取内置sd卡)

Android手机自带内部存储路径的获取 原文地址:http://my.oschina.net/liucundong/blog/288183 直接贴代码: public static String getExternalSdCardPath() { if (SDCardUtils.isSDCardEnable()) { File sdCardFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath());

apk安装 手机没sd卡安装失败解决方案

今天在发布1.5.4版本的时候 测试下自动化更新的时候遇到了公司一个同事三星手机安装失败,请看截图 在eclipse下报错信息如下: 所以百度随便搜下都能找到解决方案 INSTALL_FAILED_MEDIA_UNAVAILABLE,这个问题的原因为Android应用安装位置当前不可用.而Android应用安装位置有手机rom内和sdcard两种.由于Android设备没有sdcard便有可能出现INSTALL_FAILED_MEDIA_UNAVAILABLE. 解决办法有两种: 1.Andro

手机的sd卡的写入和读取数据的方

我们要实现的是:往输入框输入数据,点击一个写入按钮,将输入框内的数据写入到sd卡上,在点击读取按钮,则将sd卡上只等的文件名称内的数据显示到一个textView上. 首先,看一下XML文件,很简单,只有两个按钮,一个输入框,和一个文本控件: 保存的数据可以到mnt/sdcard/下查看 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:

Android_ 重写系统Crash处理类,保存Crash信息到SD卡 和 完美退出程序的方法

转载时注明地址:http://blog.csdn.net/xiaanming/article/details/9344703 我们开发Android应用的时候,当出现Crash的时候,系统弹出一个警告框,如下图一,有些手机会黑屏几秒钟然后还伴随着振动,作为我们开发人员,是很讨厌这样子的Crash,因为这意味着我们又要改bug,每个程序员都希望自己开发出来的东西bug少点,稳定点,但是没有bug的程序几乎是不可能的,作为用户,如果出现这样子的警告框,他的心情也会很不爽,也许还会破口大骂,如果用图二

往SD卡中写文件的方法。

1 package com.lixu.writetosd; 2 3 import java.io.File; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 import android.app.Activity; 7 import android.os.Bundle; 8 import android.os.Environment; 9 import android.widget.Toast; 10 11 p