android – 我想阻止我的音乐播放器应用程序每次应用程序启动时扫描目录中的音频文件.我怎样才能做到这一点?

android – 我想阻止我的音乐播放器应用程序每次应用程序启动时扫描目录中的音频文件.我怎样才能做到这一点?,第1张

概述我想阻止我的音乐播放器应用程序在每次应用程序启动时扫描目录中的音频文件.我怎样才能做到这一点? 我一直在使用以下代码来扫描音频文件. public void getSongList() { ContentResolver contentResolver=getContentResolver(); Uri musicUri=android.provider.MediaStore.Audio @H_502_0@我想阻止我的音乐播放器应用程序在每次应用程序启动时扫描目录中的音频文件.我怎样才能做到这一点?

我一直在使用以下代码来扫描音频文件.

public voID getSongList() {  ContentResolver contentResolver=getContentResolver();  Uri musicUri=androID.provIDer.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;  Cursor musicCursor = contentResolver.query(musicUri,null,null);  if(musicCursor!=null && musicCursor.movetoFirst()) {    //get columns    int TitleColumn = musicCursor.getColumnIndex                (androID.provIDer.MediaStore.Audio.Media.Title);    int IDColumn = musicCursor.getColumnIndex                (androID.provIDer.MediaStore.Audio.Media._ID);    int artistColumn = musicCursor.getColumnIndex                (androID.provIDer.MediaStore.Audio.Media.ARTIST);    int albumIDColumn = musicCursor.getColumnIndex(MediaStore.Audio.Media.ALBUM_ID);    //add songs to List    do {       long thisID = musicCursor.getLong(IDColumn);       String thisTitle = musicCursor.getString(TitleColumn);       String thisArtist = musicCursor.getString(artistColumn);       long thisAlbumID=musicCursor.getLong(albumIDColumn);       Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");       Bitmap albumartBitMap=null;       Uri albumartUri = ContentUris.withAppendedID(sArtworkUri,thisAlbumID);       try {         albumartBitMap = MediaStore.Images.Media.getBitmap(this.getContentResolver(),albumartUri);         Matrix m = new Matrix();         m.setRectToRect(new RectF(0,albumartBitMap.getWIDth(),albumartBitMap.getHeight()),new RectF(0,300,300),Matrix.ScaletoFit.CENTER);         albumartBitMap = Bitmap.createBitmap(albumartBitMap,albumartBitMap.getHeight(),m,true);       } catch (IOException e) {         e.printstacktrace();       }       songList.add(new Song(thisID,thisTitle,thisArtist,albumartBitMap));    }    while (musicCursor.movetoNext());  }}

我希望应用程序只在有新文件时进行扫描.因为如果我每次都扫描整张SD卡,那么启动应用程序需要花费太多时间.请帮帮我

解决方法 无需将所有歌曲保留在本地应用列表中.

要显示mp3List,您可以使用带限制的内容提供者光标列表适配器查询(逐页滚动查询)

要直接搜索使用contentprovIDer查询方法.

只在本地数据库上保留一个指向mp3 uri的播放列表.

此链接可能会帮助您:
How to update listview whose data was queried from database through SimpleCursorAdapter?

总结

以上是内存溢出为你收集整理的android – 我想阻止我的音乐播放器应用程序每次应用程序启动时扫描目录中的音频文件.我怎样才能做到这一点?全部内容,希望文章能够帮你解决android – 我想阻止我的音乐播放器应用程序每次应用程序启动时扫描目录中的音频文件.我怎样才能做到这一点?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1135232.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存