Android下的实现对本地指定和筛选文件的目录显示

    博客分类:
  • 2014-09-Android 实现对本地指定文件目录下的显示
文件筛选 ListView SimpleAdapter

条件:

1.我们需要得到一些路径,某个文件目录下的。比如:"/kgmusic/download/' 下的。我打开手机看的是这个路径。

2. 我们是为了筛选出.MP3 文件。然后显示。不希望出现说显示所有的文件

3.确定用怎么样的方式用ListActivity 还是SimpleAdapter 通过list显示在自己自定的xml文件中

实现第一个条件:

1. 这是有点傻哈, 我是这样的。我们在手机中看到路经不一定android 所对应的路经。怎么看呢。可以通过adb shell 去显示。比如说:"/kgmusic/download/' 。它在Android下的路径其实是"/sdcard/kgmusic/download/"

Java代码
  1. //存放着音乐文件的路径
  2. privatefinalStringMUSIC_PATH="/sdcard/kgmusic/download/";

2.我们去实现FilenameFilter这个接口,取到filename结尾是.MP3的文件

Java代码
  1. //用来去筛选出对应的.mp3文件
  2. classmusicfilterimplementsFilenameFilter{
  3. /*
  4. *accept方法的两个参数的意义:dir:文件夹对像,也就是你原来调用list方法的File文件夹对像name:当前判断的文件名,
  5. *这个文件名就是文件夹下面的文件
  6. *返回:这个文件名是否符合条件,当为true时,list和listFiles方法会把这个文件加入到返回的数组里,false时则不会加入
  7. */
  8. publicbooleanaccept(Filedir,Stringfilename){
  9. //TODOAuto-generatedmethodstub
  10. return(filename.endsWith(".mp3"));
  11. }
  12. }

// 将这个文件显示在Listview 下 。我这里用的SimpleAdapter适配器去实现的。这里要两个xml.SetAlarm.this是这个本地Activity

Java代码
  1. privatevoidListSongsName(){
  2. //首先是要得到music文件的路径
  3. Filefile=newFile(MUSIC_PATH);
  4. List<Map<String,Object>>list=newArrayList<Map<String,Object>>();
  5. //将所有的文件加入到一个list文件中
  6. if(file.list(newmusicfilter()).length>0){
  7. for(Filefile1:file.listFiles(newmusicfilter())){
  8. Map<String,Object>map=newHashMap<String,Object>();
  9. map.put("filename",newEFfile(file1).getFile().getName());
  10. list.add(map);
  11. }
  12. }
  13. SimpleAdaptersa=newSimpleAdapter(SetAlarm.this,list,
  14. R.layout.musiclist,newString[]{"filename"},newint[]{R.id.MusicItem});
  15. listview.setAdapter(sa);
  16. }

贴下对应的mustlist.xml 文件吧

Xml代码
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:orientation="vertical">
  6. <TextView
  7. android:id="@+id/MusicItem"
  8. android:layout_width="fill_parent"
  9. android:layout_height="wrap_content"
  10. />
  11. </LinearLayout>

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. Android(安卓)根文件系统启动分析
  6. Android最火的框架系列(三)JiaoZiVideoPlayer
  7. Android(安卓)Studio Git初体验
  8. Android(安卓)系统编译与调试
  9. 关于Android(安卓)NDK中调用第三方的动态库

随机推荐

  1. Android中的常见FC及解决方式整理
  2. android 分享 api
  3. Android消息机制 Handler
  4. android 实现由下至上弹出并位于屏幕底部
  5. Android(安卓)GPS状态改变与监听
  6. android 设置静态wifi地址
  7. Android(安卓)软键盘小知识点
  8. android短信发送器源代码
  9. android 客户端 smtp 协议发送数据
  10. Working with Images in Google's Androi