您的位置:首页 > 编程语言 > Java开发

如何获取SD卡的 剩余容量和总容量(Eclipse,studio如何导入现存的项目)

2016-02-24 19:43 585 查看
延伸:1、安卓是一个开源的开发软件,源代码都是可以查看的,如何导项目 !

1、如果是android studio 直接import project 导入android项目!

2、如果是eclipse ,其import只能导入eclipse项目,而不能导入android项目,new project... ,选择android ,

打开其文件夹, 选择 android project from existing Code ,而后选择其文件夹即可。

2、快速查找方法在项目中的引用,光标移入方法,右键点击,reference--project ,可以查看方法在哪里被调用过 。

3、快速定位到报bug的代码 ,小技巧 : 1、查询关键字

android studio:

在方法名称

使用快捷键Ctrl+alt+H

右边





现使用情况
配合ctrl+shift+F全局搜索

基本都

(整个空间里面找)


eclipse :点击图标File --search ,可以选择查找关键字,word ,也可以指定是xml 文件还是 .java文件

casesensitive 查看是否是大写!

关键代码:

//检测SD卡是否已经挂起

               if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
                try {

//获取SD存储卡的路径
                       File path = Environment.getExternalStorageDirectory();
                     //Retrieve overall information about the space on a filesystem获取所有内存file存储的空间信息
                       StatFs stat = new StatFs(path.getPath());
                    //获取一个块的内存长度
                       long blockSize = stat.getBlockSizeLong();
                       long totalBlocks = stat.getBlockCountLong();
                       long availableBlocksLong = stat.getAvailableBlocksLong();
                                        //求得SD卡剩余内存
                       long availableCount=availableBlocksLong*blockSize;


} catch (Exception e) {


e.printStackTrace();
                           }

实现代码:在TextView内显示SD卡的剩余内存;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView text = (TextView) findViewById(R.id.text);
        String textSize = null;
        text.setText(textSize);
        //判断SD卡是否挂起
        if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
            try {
                File path = Environment.getExternalStorageDirectory();
                //Retrieve overall information about the space on a filesystem获取所有内存file存储的空间信息
                StatFs stat = new StatFs(path.getPath());
                //获取一个块的内存长度
                long blockSize = stat.getBlockSizeLong();
                long totalBlocks = stat.getBlockCountLong();
                long availableBlocksLong = stat.getAvailableBlocksLong();
                //求得SD卡总共内存
                long totalCount=totalBlocks*blockSize;
                 //求得SD卡剩余内存
                long availableCount=availableBlocksLong*blockSize;
textSize=fromatSize(availableCount);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    /*
    方法判断存储空间还剩余多少,并转换单位
     */
    private String formatSize(long size) {
        if (size > 1024 * 1024 * 1024) {
            return size / (1024 * 1024 * 1024) + "G";
        }else if(size>1024*1024){
            return size/(1024*1024)+"M";
        }else if(size>1024){
            return size/1024+"字节";
        }else {
            return "存储空间不足1Kb";
        }
    }
}


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: