Android开发之初级开发_读取手机或者SD卡容量

布局文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/showsize"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true" />

    <TextView
        android:id="@+id/showphonesize"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/showsize" />

</RelativeLayout>

 

源代码:

import java.io.File;

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

public class MainActivity extends Activity
{
    private TextView showsize, showphone;

    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        showsize = (TextView) findViewById(R.id.showsize);
        showphone = (TextView) findViewById(R.id.showphonesize);
        GetSDsize();
        GetPhonesize();
    }

    private void GetPhonesize()
    {
        File path = Environment.getDataDirectory();
        StatFs stat = new StatFs(path.getPath());
        long blockSize = stat.getBlockSize();
        long totalBlocks = stat.getBlockCount();
        long availableBlocks = stat.getAvailableBlocks();
        long totalphonesize = blockSize * totalBlocks;
        long avaiphonetotal = blockSize * availableBlocks;
        String totalphone = Formatter.formatFileSize(this, totalphonesize);
        String avaiphone = Formatter.formatFileSize(this, avaiphonetotal);
        showphone.setText("手机总容量:" + totalphone + "\n" + "手机剩余容量:" + avaiphone);
    }

    private void GetSDsize()
    {
        File path = Environment.getExternalStorageDirectory();
        StatFs stat = new StatFs(path.getPath());
        long blockSize = stat.getBlockSize();
        long totalBlocks = stat.getBlockCount();
        long avaiSize = stat.getAvailableBlocks();
        long totalsize = blockSize * totalBlocks;
        long avaitotal = blockSize * avaiSize;
        String total = Formatter.formatFileSize(this, totalsize);
        String avai = Formatter.formatFileSize(this, avaitotal);
        showsize.setText("SD卡总容量:" + total + "\n" + "SD剩余容量:" + avai);

    }

}

 

posted @ 2014-05-06 19:33  loneliness__白色  阅读(105)  评论(0)    收藏  举报