189 8069 5689

Android怎么实现读取手机内存中的所有音乐-创新互联

这篇文章主要介绍了Android怎么实现读取手机内存中的所有音乐,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的城固网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

读取手机内存中的音乐信息需要做如下几步:

1)创建一个XML文件,存放获取到的信息,使用ListView控件

2)创建一个新的XML文件,对LIstView中的item对象进行布局

3)需要创建一个Music类用于存放需要获取的Music的主要信息

4)需要创建一个帮助类,用于获取手机中的音乐信息,并通过一个集合类传递获取到的信息

5)创建一个自定义适配器,用于加载ListView的每个子Item

6)实现对数据的加载,并返回到用户界面

  主要的代码实现如下:

一、帮助类模块

public ArrayList getMusic(Context context) {
  arrayList = new ArrayList();
  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 arrayList;
 private Context context;
 private TextView music_singer,music_name,music_size;
 private MusicInfo musicInfo;
 public Music_adapter(Context context,ArrayList 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怎么实现读取手机内存中的所有音乐”这篇文章对大家有帮助,同时也希望大家多多支持创新互联建站,关注创新互联网站制作公司行业资讯频道,更多相关知识等着你来学习!

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


网站题目:Android怎么实现读取手机内存中的所有音乐-创新互联
本文链接:http://cdxtjz.cn/article/csjdos.html

联系我们

您好HELLO!
感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。
  • 电话:028- 86922220 18980695689
  • 商务合作邮箱:631063699@qq.com
  • 合作QQ: 532337155
  • 成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼

小谭建站工作室

成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务!

小谭观点

相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。
我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。