`
salc3k
  • 浏览: 901 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

列出sdcard里所有.mp3文件,并且可以点击播放

阅读更多

大家好,我们今天要利用Android  MediaPlayer

 

Step 1:preparation work.

mksdcard 512M sdcard.img

create a new avd named AndroidSdcard

 

push songs into sdcard(before you push,you make sure your avd is running,else the operation of push will not work):

adb push f:\music\1.mp3 /sdcard

Step 2: Layout UI desigen:

create two .xml files we called song_item.xml and songlist.xml the code are:

song_item.xml:

<?xml version="1.0" encoding="utf-8"?>
<TextView android:id="@+id/text1" xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

songlist.xml:


<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent">

    <ListView android:id="@id/android:list"
              android:layout_width="fill_parent" 
              android:layout_height="fill_parent"
              android:layout_weight="1"
              android:drawSelectorOnTop="false"/>

    <TextView android:id="@id/android:empty"
              android:layout_width="fill_parent" 
              android:layout_height="fill_parent"
              android:text="No songs found on SD Card."/>
</LinearLayout>

Step 3: the core code MeusicDemo.java:

package com.android.test;

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

import android.app.ListActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

class Mp3Filter implements FilenameFilter {
    public boolean accept(File dir, String name) {
        return (name.endsWith(".mp3"));
    }
}

public class MeusicDemo extends ListActivity {
    
 private static final String MEDIA_PATH = new String("/sdcard/");
 private List<String> songs = new ArrayList<String>();
 private MediaPlayer mp = new MediaPlayer();
 
 @Override
    public void onCreate(Bundle icicle) {
        try {
         super.onCreate(icicle);
         setContentView(R.layout.songlist);
         updateSongList();
        } catch (NullPointerException e) {
         Log.v(getString(R.string.app_name), e.getMessage());
        }
    }
    
    public void updateSongList() {
     File home = new File(MEDIA_PATH);
  if (home.listFiles( new Mp3Filter()).length > 0) {
      for (File file : home.listFiles( new Mp3Filter())) {
       songs.add(file.getName());
      }
  
      ArrayAdapter<String> songList = new ArrayAdapter<String>(this,R.layout.song_item,songs);
      setListAdapter(songList);
  }     
    }
    
 @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
  try {
   
   mp.reset();
   mp.setDataSource(MEDIA_PATH + songs.get(position));
   mp.prepare();
   mp.start();
  } catch(IOException e) {
   Log.v(getString(R.string.app_name), e.getMessage());
  } 
 }
}

Step 4:run it.the result like this:

 

now u can enjoy  the music.lol~

if u wanna the source code please leave your email address, i will send u!

分享到:
评论

相关推荐

    安卓模拟器sdcard.img文件打开修改

    `sdcard.img`文件是Android模拟器中代表SD卡的镜像文件,它包含了模拟器SD卡的所有数据。下面我们将详细探讨如何处理这个文件以及相关的工具。 1. **理解sdcard.img文件** `sdcard.img`是一个二进制文件,它模拟了...

    播放SDcard的全部音频文件.

    在Android平台上,播放SDcard(外部存储)中的所有音频文件是一项常见的任务,尤其对于音乐播放器或者媒体应用来说。这个任务涉及到多个知识点,包括文件系统操作、多媒体处理、以及Android的权限管理。以下是对这些...

    android读取sdcard路径下的文件的方法

    代码如下:// 读取sdcard文件private void sdcardRead(){String fileName = “/sdcard/my_sdcard.txt”;// assets下文件//String fileName = “/sdcard/test/my_sdcard_test.txt”;// sdcard下子目录文件String ret =...

    sdcard_tools.rar

    文件名列表只有一个"sdcard_tools",这可能是压缩包内的主程序或工具集的可执行文件或脚本,用户解压后运行该文件即可开始使用这些工具。 综上所述,这个"sdcard_tools.rar"可能是一个跨平台的工具包,提供了在...

    android中sdcard的读写.doc

    - 其中,“2048M”表示SDCard的大小为2GB,“D:\AndroidTool\sdcard.img”表示镜像文件的存放路径。 2. **访问SDCard的权限配置**: - 在AndroidManifest.xml文件中添加必要的权限声明。 - 创建与删除文件权限:...

    预置一些文件到系统sdcard目录.txt

    预置一些文件到系统sdcard目录

    openwrt-orangepi-zero-ext4-sdcard.img.gz

    OrangePi Zero 安装OpenWrt 能够实现wifi和播放音乐。 详细安装和操作步骤: First Run boot-config: http://192.168.10.1/cgi-bin/modules/boot-config/index.cgi Click Create a backup of uboot (dtb-file) ...

    android外部存储文件操作,实现对sdcard上的文件进行操作

    5. **列出目录中的文件**:使用`File.listFiles()`获取目录下的所有文件和子目录。 ```java File[] files = dir.listFiles(); if (files != null) { for (File f : files) { Log.d("File", f.getName()); } ...

    安卓MediaPlayer 播放MP3文件

    例如,假设我们有两个MP3文件`Hello.mp3`和`PlayGroundTest.mp3`,我们可以这样做: ```java mediaPlayer.setNextDataSource("/sdcard/PlayGroundTest.mp3"); ``` 注意,如果SDCard上的文件权限未正确设置,程序...

    Android应用源码SdCard读写文件实例.zip

    在Android平台上,对SDCard(外部存储)进行文件读写是常见的操作,尤其对于需要存储大量数据或用户数据的应用来说。这个"Android应用源码SdCard读写文件实例.zip"压缩包提供了一个示例,帮助开发者理解如何在...

    修改system读取sdcard权限.rar

    在Android系统中,由于安全性和隐私保护的考虑,对应用程序访问外部存储卡(SDcard)的权限有着严格的控制。在Android 6.0(API级别23)之后,系统引入了运行时权限管理机制,应用需要在运行时请求访问SDcard的权限...

    一个可以把数据库存在sdcard的工具.zip

    这个开源项目"一个可以把数据库存在sdcard的工具.zip"提供了一个Android助手类,旨在简化在SD卡上创建和管理数据库的过程,特别是对于那些需要大量数据存储或者希望用户能方便地访问、备份和分享数据库的应用来说,...

    检测当前系统中是否存在sdcard,并在sdcard中创建一个文件

    本文将深入探讨如何检测Android系统是否支持SDcard,并在SDcard上创建并写入文件,主要涉及的技术点包括Android的存储权限、SDcard的检测、FileOutputStream的使用。 首先,我们需要了解Android对外部存储的访问...

    sdcard.txt

    【标题】"sdcard.txt" 文件分析 在Android操作系统中,SD卡(Secure Digital Card)是用户存储数据的一种常见方式,尤其是对于那些需要扩展设备存储空间的设备而言。"sdcard.txt"文件可能是对Android系统中与SD卡...

    android读取sdcard的txt文件,翻书的效果

    可以遍历SDCard根目录,通过文件扩展名过滤出TXT文件。 3. **文件读取**: 读取TXT文件内容通常使用`BufferedReader`或`Scanner`类。逐行读取文件内容,然后存储到适当的数据结构(如ArrayList)中,以便后续显示...

    安卓Android源码——SdCard读写文件实例.zip

    使用`File`类的`listFiles()`方法可以获取指定目录下的所有文件和子文件夹,然后遍历它们。 9. **注意事项** - 文件操作可能抛出`IOException`,需进行异常处理。 - 当SDCard被卸载或不可用时,文件操作可能会...

    Android 获取SDCard卡容量.rar

    Android获取手机内置存储SDCard的使用情况,包括SD卡容量、已使用大小,剩余容量大小等信息,将获取的过程写入按钮事件中,单击按钮后,获取SD卡容量信息。  if(Environment.getExternalStorageState().equals...

Global site tag (gtag.js) - Google Analytics