Android基础--获取SD卡可用容量

import java.io.File;

import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.os.StatFs;
import android.app.Activity;
import android.text.format.Formatter;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

         File path = Environment.getExternalStorageDirectory();
         StatFs stat = new StatFs(path.getPath());
         long blockSize;
         long totalBlocks;
         long availableBlocks;

         //检测系统当前版本号
         if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2){
            blockSize = stat.getBlockSizeLong();
            totalBlocks = stat.getBlockCountLong();
            availableBlocks = stat.getAvailableBlocksLong();
         }
         else{
            blockSize = stat.getBlockSize();
            totalBlocks = stat.getBlockCount();
            availableBlocks = stat.getAvailableBlocks();
         }

         TextView tv = (TextView) findViewById(R.id.tv);
         tv.setText(formatSize(availableBlocks * blockSize));

    }

     private String formatSize(long size) {
            return Formatter.formatFileSize(this, size);
       }

}
时间: 2024-10-14 19:37:19

Android基础--获取SD卡可用容量的相关文章

查看源代码查找获取sd卡剩余容量的代码

下载android源码,找到app下的Settings应用源码,导入Settings项目(android项目源码) 查找“可用空间”得到 <string name="memory_available" msgid="418542433817289474">"可用空间"</string> 查找"memory_available",得到 <Preference android:key="me

android关于获取SD卡手机内存的容量

/** * 获取SD的信息的方法 */ private void getSd() { // TODO Auto-generated method stub File path=Environment.getExternalStorageDirectory(); StatFs stat=new StatFs(path.getPath()); long blockSize=stat.getBlockSize(); long totalBlacks=stat.getBlockCount(); long

android如何获取SD卡上的多媒体文件

获取视频文件: ContentResolver contentResolver = mContext.getContentResolver();         String[] projection = new String[]{MediaStore.Video.Media.TITLE};         Cursor cursor = contentResolver.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, projection, 

Android获取SD卡总容量,可用大小,机身内存总容量及可用大小

public long getSDTotalSize() { /*获取存储卡路径*/ File sdcardDir= Environment.getExternalStorageDirectory(); /*StatFs 看文件系统空间使用情况*/ StatFs statFs=new StatFs(sdcardDir.getPath()); long blockSize= statFs.getBlockSizeLong(); long totalSize=statFs.getBlockCount

无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.demo1" /> 上面targetPackage指定的包要和应用的package相同. (2)在清单文件中ap

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

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

Android开发学习---如何写数据到外部存储设备(sd卡),Environment.getExternalStorageDirectory,怎么获取sd卡的大小?

本文主要介绍如何写数据到sd卡,这里主要到的技术是Environment中的方法. 1. 2.实现代码: /datasave/src/com/amos/datasave/savePasswordService.java //写数据到sdcard public void savePasswordToSDCard(String name, String password) { // android 2.1 /sdcard/xx.txt // android 2.2 /mnt/sdcard/xx.tx

获取sd卡的内存空间和可用空间

protected void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.activity_main);     //或sd的路径   File file=Environment.getExternalStorageDirectory();   //获取sd卡的所有信息   StatFs fs=new StatFs(file.getPat

Android 获取SD卡路径和判断SD卡是否存在

android获取sd卡路径方法: 不建议直接写死android sd卡的路径. public String getSDPath(){ File sdDir = null; boolean sdCardExist = Environment.getExternalStorageState() .equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在 if (sdCardExist) { sdDir = Environment.getEx