package com.example.sdoperation;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import android.support.v7.app.ActionBarActivity;import android.support.v7.app.ActionBar;import android.support.v4.app.Fragment;import android.text.format.Formatter;import android.os.Bundle;import android.os.Environment;import android.os.StatFs;import android.util.StateSet;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;import android.os.Build;public class MainActivity extends ActionBarActivity implements OnClickListener{        private Button btnSaveSD;        private Button btnReadSD;        private Button btnGetSD;        private Button btnGetPhone;        private TextView tvMemory;        @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                //获得组件        btnGetSD = (Button) findViewById(R.id.btn_get);        btnSaveSD = (Button)findViewById(R.id.btn_saveSD);        tvMemory = (TextView) findViewById(R.id.tv_memoray);        btnReadSD = (Button)findViewById(R.id.btn_readSD);        btnGetPhone = (Button)findViewById(R.id.btn_readPhone);                //添加点击事件        btnGetSD.setOnClickListener(this);        btnSaveSD.setOnClickListener(this);        btnReadSD.setOnClickListener(this);        btnGetPhone.setOnClickListener(this);    }    @Override    public void onClick(View v) {        switch (v.getId()) {        case R.id.btn_saveSD:            saveFile2Sd();            break;        case R.id.btn_readSD:            readFile2Sd();            break;        case R.id.btn_get:            getSDDetail();            break;        case R.id.btn_readPhone:            getPhoneDetail();            break;        default:            break;        }            }    /**     * 读手机内存     */    private void getPhoneDetail() {        File path = Environment.getDataDirectory();        StatFs stat = new StatFs(path.getPath());        long blockSize = stat.getBlockSize();        long blockCount = stat.getBlockCount();        long avilableBlocks = stat.getAvailableBlocks();                long totalSize = blockSize*blockCount;        long avilableSize = blockSize*avilableBlocks;                String totalSizeStr = Formatter.formatFileSize(this, totalSize);        String alilableSizeStr = Formatter.formatFileSize(this, avilableSize);                tvMemory.setText("总内存:"+totalSizeStr + "可用内存:" +alilableSizeStr);    }    /**     * 读SD卡内存     */    private void getSDDetail() {        File path = Environment.getExternalStorageDirectory();        StatFs stat = new StatFs(path.getPath());        long blockSize = stat.getBlockSize();        long blockCount = stat.getBlockCount();        long avilableBlocks = stat.getAvailableBlocks();                long totalSize = blockSize*blockCount;        long avilableSize = blockSize*avilableBlocks;                String totalSizeStr = Formatter.formatFileSize(this, totalSize);        String alilableSizeStr = Formatter.formatFileSize(this, avilableSize);                tvMemory.setText("总内存:"+totalSizeStr + "可用内存:" +alilableSizeStr);    }    /**     * 向SD卡写数据     */    private void saveFile2Sd()  {        //获得SD卡的状态        String sdState = Environment.getExternalStorageState();        if (sdState.equals(Environment.MEDIA_MOUNTED)) {            File file = new File(Environment.getExternalStorageDirectory(), "info.txt");            FileOutputStream fos;            try {                fos = new FileOutputStream(file);                fos.write("xxx".getBytes());                fos.close();                Toast.makeText(this, "保存成功", Toast.LENGTH_SHORT).show();            } catch (Exception e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        } else {            Toast.makeText(this, "SD卡不存在", Toast.LENGTH_SHORT).show();        }    }        /**     * 从SD卡读数据     */    private void readFile2Sd()  {        //获得SD卡的状态        String sdState = Environment.getExternalStorageState();        if (sdState.equals(Environment.MEDIA_MOUNTED)) {            File file = new File(Environment.getExternalStorageDirectory(), "info.txt");            BufferedReader br;            try {                br = new BufferedReader(new FileReader(file));                String content = br.readLine();                tvMemory.setText(content);                br.close();                Toast.makeText(this, "读取成功", Toast.LENGTH_SHORT).show();            } catch (Exception e) {                Toast.makeText(this, "SD卡不存在", Toast.LENGTH_SHORT).show();            }        } else {            Toast.makeText(this, "SD卡不存在", Toast.LENGTH_SHORT).show();        }    }}

更多相关文章

  1. Android(安卓)GPS 获得 经纬度 并得到该 坐标 精确地址
  2. 【Android】隐藏底部虚拟按键,亲测可用
  3. 操作Android(安卓)手机通讯录数据库
  4. Android中手机文件储存路径
  5. Android在onCreate()中获得控件尺寸
  6. Android获得系统时间(24小时制)
  7. android 获得 View
  8. Android学习之通过content provider获得联系人
  9. [Android]判断网络连接是否可用

随机推荐

  1. android获取手机号码以及imsi信息
  2. android按钮监听器的四种技术
  3. android网络图片的下载
  4. Android PinyinIME 源码笔记 -- 0. 简介
  5. Android Webview调用系统相册实现多选图
  6. Android图形报表之AchartEngine(附开发包
  7. Installation error: INSTALL_FAILED_INS
  8. 解决ListView的ItemView中带有Button时,On
  9. android前台渲染图片
  10. Android应用程序中的多个Activity的显示