android 获取手机SD卡和手机的内部存储
生活随笔
收集整理的這篇文章主要介紹了
android 获取手机SD卡和手机的内部存储
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ? 在開發過程中有時候會獲取手機的SD存儲使用狀況。
布局文件
<LinearLayout 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:orientation="vertical" ><TextViewandroid:id="@+id/memory"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center"/></LinearLayout>實現類
package com.example.phonememorystate;import java.io.File; import java.text.Format;import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.os.StatFs; import android.text.format.Formatter; import android.widget.TextView;public class MainActivity extends Activity {private TextView memoryInfo;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);memoryInfo = (TextView) findViewById(R.id.memory);//外部存儲的地址File SDPath = Environment.getExternalStorageDirectory();String SDMemory = getMemoryInfo(SDPath);//手機內部存儲的地址File PhonePath = Environment.getDataDirectory();String PhoneMemory = getMemoryInfo(PhonePath);memoryInfo.setText("SD卡:" + SDMemory + "\n手機內存:" + PhoneMemory);}private String getMemoryInfo(File path){//獲取一個磁盤的狀態對象StatFs stat = new StatFs(path.getPath());//獲得一個扇區的大小long blockSizes = stat.getBlockSize();//獲取扇區總數long totalBlocks = stat.getBlockCount();//獲得可用扇區數量long availableBlocks = stat.getAvailableBlocks();//獲得總空間String totalMemory = Formatter.formatFileSize(this, blockSizes * totalBlocks);//獲得可用空間String availableMemory = Formatter.formatFileSize(this, availableBlocks * blockSizes);return "總空間:" + totalMemory + "\n可用空間" + availableMemory;} }
總結
以上是生活随笔為你收集整理的android 获取手机SD卡和手机的内部存储的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AChartEngine中的Render
- 下一篇: 一汽解放j6l500马力有液力缓速器吗?