亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android怎么實現讀取手機內存中的所有音樂

發布時間:2021-10-21 11:22:21 來源:億速云 閱讀:201 作者:小新 欄目:開發技術

這篇文章主要介紹了Android怎么實現讀取手機內存中的所有音樂,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

讀取手機內存中的音樂信息需要做如下幾步:

1)創建一個XML文件,存放獲取到的信息,使用ListView控件

2)創建一個新的XML文件,對LIstView中的item對象進行布局

3)需要創建一個Music類用于存放需要獲取的Music的主要信息

4)需要創建一個幫助類,用于獲取手機中的音樂信息,并通過一個集合類傳遞獲取到的信息

5)創建一個自定義適配器,用于加載ListView的每個子Item

6)實現對數據的加載,并返回到用戶界面

   主要的代碼實現如下:

一、幫助類模塊

public ArrayList<Object> getMusic(Context context) {
  arrayList = new ArrayList<Object>();
  resolver = context.getContentResolver();
  cursor = resolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
    null, null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
  if (cursor != null) {
   while (cursor.moveToNext()) {
    musicInfo = new MusicInfo();
    musicInfo.setSinger_Name(cursor.getString(cursor
      .getColumnIndex(MediaStore.Audio.Media.ARTIST)));// 歌手名
    musicInfo.setSong_Name(cursor.getString(cursor
      .getColumnIndex(MediaStore.Audio.Media.TITLE)));// 歌曲名
    musicInfo.setSong_size(FormatChange.formatSize(cursor
      .getInt(cursor
        .getColumnIndex(MediaStore.Audio.Media.SIZE))));// 歌曲的大小
    musicInfo
      .setSong_time(FormatChange.toTime(cursor.getInt(cursor
        .getColumnIndexOrThrow(MediaStore.Audio.Media.DURATION))));// 歌曲時間
    musicInfo.setUrl(cursor.getString(cursor
      .getColumnIndex(MediaStore.Audio.Media.DATA)));
    arrayList.add(musicInfo);
   }
  }
  
  cursor.close();
  return arrayList;
 }

我是用普通方法做的,也可以使用靜態實現。

二、適配器模塊

private ArrayList<Object> arrayList;
 private Context context;
 private TextView music_singer,music_name,music_size;
 private MusicInfo musicInfo;
 public Music_adapter(Context context,ArrayList<Object> arrayList){
  this.context=context;
  this.arrayList=arrayList;
 }
 @Override
 public int getCount() {
  return arrayList.size();
 }
 @Override
 public Object getItem(int position) {
  return arrayList.get(position);
 }
 @Override
 public long getItemId(int id) {
  return id;
 }
 @Override
 public View getView(int position, View view, ViewGroup arg2) {
  if (view==null) {
   view=LayoutInflater.from(context).inflate(R.layout.music_format,null);
  }
  
  music_name=(TextView) view.findViewById(R.id.music_name);
  music_singer=(TextView) view.findViewById(R.id.music_singer);
  music_size=(TextView) view.findViewById(R.id.music_size);
  musicInfo=(MusicInfo) arrayList.get(position);
  music_name.setText(musicInfo.getSong_Name());
  music_singer.setText(musicInfo.getSinger_Name()+"|"+musicInfo.getSong_time());
  music_size.setText(musicInfo.getSong_size()); //這里一定需要轉換成字符串類型的
 
  return view;
 }

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Android怎么實現讀取手機內存中的所有音樂”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

深水埗区| 阳高县| 深圳市| 鄂温| 博罗县| 随州市| 青田县| 石狮市| 武川县| 额敏县| 枞阳县| 云安县| 吐鲁番市| 阿巴嘎旗| 铜梁县| 曲阳县| 瑞昌市| 绥宁县| 石门县| 衡南县| 昌邑市| 凤山市| 两当县| 临泽县| 南投县| 武清区| 蒙自县| 饶平县| 新民市| 隆尧县| 潞西市| 茌平县| 长治县| 西昌市| 余干县| 托里县| 通许县| 云南省| 巴林左旗| 马龙县| 阳泉市|