RT,请教各位大虾~
Lucene这个有人提过,但是觉得这个框架的体积比较大,而且又不是需要什么功能,只是要搜索就OK了。

解决方案 »

  1.   


    ContentResolver resolver = context.getContentResolver();Cursor cursor = resolver.query(
             MediaStore.Audio.Media.EXTERNAL_CONTENT_URI , 
             new String[]{...},
             null,
             null,
             null
            );再加上对mp3文件的查循条件应该就可以了.
      

  2.   

    恩,也可以用Intent过滤文件类型
      

  3.   


    这个正确在加上STAGEFRIGHT中的SniffMP3函数就可以了,:-)
      

  4.   

    这个看了一下,发现是和数据打交道哦。我在Android上面还没学习过关于数据库的东西,而且我搜索的MP3没有提交过数据库,这个也能查出来?而且这样的话当需要指定一个路径的时候怎么办?那些参数我上网查了一下没查到什么,所以也就不太明白这些差数的意思了。
      

  5.   

    系统不是自带一个music的app吗?楼主需要研究下那个app
      

  6.   

    这个是标准方法.只要插着SD卡的android手机以USB连接模式接上PC,就会把手机里的内容和DB同步.我没有实际弄过音乐文件的.不过图象文件的类似处理我做过,android自代的gallery就是这样做的.你可以试试使用adb shell命令去删除sd卡上的图象,即使你删了gallery里还是能显示已经删除图象的略缩图,再用USB联上PC,再看看gallery,你会发现这时才完完全全的看不到那张图了. 我虽然没有试过声音的,不过我觉得应该是一样的.
      

  7.   


    正解
    音频文件信息存储在
    /data/data/com.android.providers.media/databases/ 下的external.db中的audio表
    可以用sqlite3打开,不过需要有system权限
      

  8.   

    可以用Intent过滤文件类型
      

  9.   

    android里边framework中的类MediaScanner是实现这样的功能的,它根据MediaFile中定义的媒体类型(音乐,视频,图片)调用native方法实现递归扫描sd卡,解析相应的信息并存入MediaProvider这个数据库.
    如果你只是想单纯的获取系统的音乐信息,自己做播放器,就按楼上几位所说的通过ContentResolver查询MediaProvider数据库,如果你自己想了解其中的原理,建议研究MediaProvider和MediaScanner
      

  10.   

    contentprovoider正解,不过在使用的时候要考虑,系统数据库中的数据是不会随着文件变化后就马上变化滴! 需要发开机广播·