package irdc.cunchu;import irdc.cunchu.R;import java.io.File;import java.text.DecimalFormat;import android.app.Activity;import android.os.Bundle;import android.os.Environment;import android.os.StatFs;import android.view.View;import android.widget.Button;import android.widget.ProgressBar;import android.widget.TextView;public class cunchu extends Activity{  private Button myButton;  private ProgressBar myProgressBar;  private TextView myTextView;  /** Called when the activity is first created. */  @Override  public void onCreate(Bundle savedInstanceState)  {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    myButton = (Button) findViewById(R.id.myButton);    myProgressBar = (ProgressBar) findViewById(R.id.myProgressBar);    myTextView = (TextView) findViewById(R.id.myTextView);    myButton.setOnClickListener(new Button.OnClickListener()    {      @Override      public void onClick(View arg0)      {        showSize();      }    });  }  private void showSize()  {    /*  将TextView及ProgressBar设置为空值及0 */    myTextView.setText("");    myProgressBar.setProgress(0);    /* 判断存储卡是否插入 */    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设置的最大值 */      int ss = Integer.parseInt(available[0]) * myProgressBar.getMax()          / Integer.parseInt(total[0]);      myProgressBar.setProgress(ss);      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;  }}

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"      package="irdc.cunchu"      android:versionCode="1"      android:versionName="1.0.0">    <application android:icon="@drawable/icon" android:label="@string/app_name">        <activity android:name="irdc.cunchu.cunchu"                  android:label="@string/app_name">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application></manifest> 

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:orientation="vertical"  android:layout_width="fill_parent"  android:layout_height="fill_parent"  >  <Button  android:id="@+id/myButton"  android:layout_width="wrap_content"  android:layout_height="wrap_content"    android:text="@string/strButton"  >  </Button>  <TextView    android:id="@+id/myTextView"  android:layout_width="fill_parent"   android:layout_height="wrap_content"   >  </TextView>  <ProgressBar   android:id="@+id/myProgressBar"  style="?android:attr/progressBarStyleHorizontal"  android:layout_width="fill_parent"  android:layout_height="wrap_content"  android:max="100"  android:progress="0">  </ProgressBar></LinearLayout>






更多相关文章

  1. android okgo post传数组
  2. Android TextView限定行数最大值,点击按钮显示所有内容
  3. Android为什么会有65536的方法数量限制
  4. Android 累计未读通知的数量
  5. C# android base-64 字符数组的无效长度
  6. Android中当item数量超过一定大小RecyclerView高度固定
  7. Android开发便签9:在android资源文件中定义字符串数组
  8. Android build.gradle buildConfigField 配置数组
  9. Android期末项目(一)—— 解析二维数组对象

随机推荐

  1. Android环境SDK搭建问题
  2. Android简易计算器(破烂Alpha版,后续更新)
  3. 在低版本Android上使用Material Design
  4. Android中的动画研究(二)
  5. Android_RadioGroup实现Tab
  6. Android传感器使用实例1
  7. Android九宫格解锁的实现
  8. apk安装法之二----一段Android实现应用下
  9. Android(安卓)px、dp、sp之间相互转换
  10. android 内核编译成功