Android编程获取SD卡路径及剩余容量的方法

Android 中读取microSD卡文件时抛出NullPointerException错误解决办法

本文实例陈诉了Android编制程序获取CF读取卡路线及剩余容积的法门。分享给大家供大家参谋,具体如下:

连锁源码:

public static String getExternalStoragePath() {
 // 获取SdCard状态
 String state = android.os.Environment.getExternalStorageState();
 // 判断SdCard是否存在并且是可用的
 if (android.os.Environment.MEDIA_MOUNTED.equals(state)) {
 if (android.os.Environment.getExternalStorageDirectory().canWrite()) {
   return android.os.Environment.getExternalStorageDirectory().getPath();
 }
 }
 return null;
}
public static long getAvailableStore(String filePath) {
 // 取得sdcard文件路径
 StatFs statFs = new StatFs(filePath);
 // 获取block的SIZE
 long blocSize = statFs.getBlockSize();
 // 获取BLOCK数量
 // long totalBlocks = statFs.getBlockCount();
 // 可使用的Block的数量
 long availaBlock = statFs.getAvailableBlocks();
 // long total = totalBlocks * blocSize;
 long availableSpare = availaBlock * blocSize;
 return availableSpare;
}
package com.example.musicplayer;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;


public class MainActivity extends Activity {

  private ListView listView;
  private final String path = "/storage/sdcard/mp3/";
  private List<String> musicList;
  private ViewHolder viewHolder;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    listView = (ListView) findViewById(R.id.lv_music);

    Toast.makeText(getApplicationContext(), path, Toast.LENGTH_SHORT).show();

    initMusic();
  }

  private void initMusic() {
    File file = new File(path);
    File[] files = file.listFiles();
    musicList = new ArrayList<String>();

    for (File f : files) {
      if (f.getName().endsWith(".mp3")) {
        musicList.add(f.getAbsolutePath());
      }
    }
    listView.setAdapter(new MusicListAdapter());
  }

  private class MusicListAdapter extends BaseAdapter{

    @Override
    public int getCount() {
      return musicList.size();
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
      View view = null;
      if(convertView == null){
        view = View.inflate(getApplicationContext(), R.layout.activity_music_item, null);
        viewHolder = new ViewHolder();
        viewHolder.musicName = (TextView) view.findViewById(R.id.tv_music_name);
      } else {
        view = convertView;
      }

      String path = musicList.get(position);

      viewHolder.musicName.setText(path.substring(path.lastIndexOf("/") + 1));
      return view;
    }

    @Override
    public Object getItem(int position) {
      // TODO Auto-generated method stub
      return null;
    }

    @Override
    public long getItemId(int position) {
      // TODO Auto-generated method stub
      return 0;
    }


  }
}

越多关于Android相关内容感兴趣的读者可查阅本站专项论题:《Android编程开辟之TF内存卡操作方法汇总》、《Android开辟入门与进级教程》、《Android财富操作技能汇总》、《Android视图View工夫总结》及《Android控件用法总括》

赢得PCIe闪存卡中MP5文件夹下的文件消息时在foreach时抛出NullPointerException,最终开掘是未曾增添读取SD内部存款和储蓄器卡的权杖

可望本文所述对我们Android程序设计有着帮忙。

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

您大概感兴趣的稿子:

  • Android获取监听SD读取卡状态
  • Android
    获取内外CF读取卡路线二种形式计算
  • Android
    寻觅SD存款和储蓄卡文件的支付示范
  • Android编制程序达成向TF卡写入数据的情势
  • Android开辟之获得CF闪存卡及手提式有线电话机ROM容积的办法
  • Android编制程序读取sd卡中图纸的秘诀
  • Android
    中读取SD存款和储蓄卡文件时抛出NullPointerException错误消释办法

获取SD卡路径:”/mnt/sdcard/”
“/storage/sdcard/”

法定推荐:

Environment.getExternalStorageDirectory.getPath();

该办法获得的路径最终未有’/’

"/mnt/sdcard"  
"/storage/sdcard"

感激阅读,希望能协助到大家,多谢大家对本站的支撑!

你或者感兴趣的篇章:

  • Android获取监听SDXC存款和储蓄卡状态
  • Android
    获取内外SD卡路线二种方法计算
  • Android
    搜索CF内部存款和储蓄器卡文件的开支示范
  • Android编制程序完结向SD读取卡写入数据的章程
  • Android编制程序获取miniSD存款和储蓄卡路线及剩余体积的艺术
  • Android开采之获得SDHC卡及手提式有线话机ROM体积的法子
  • Android编制程序读取sd卡中图纸的点子

Post Author: admin

发表评论

电子邮件地址不会被公开。 必填项已用*标注