1
우선 나는 초보자입니다. 여기에 customlost에서 노래의 이름을 추가하는 코드가 있습니다. 내가 필요로하는 것은 mediastore (메타 데이터를 시도했지만 앱이 응답을 멈추었습니다)를 사용하는 일부 기능입니다. ...앨범 및 아티스트 정보로 mediastore.audio를 사용하여 맞춤 목록보기에 추가하는 방법은 무엇인가요?
공용 클래스 FragmentSongs는 조각을 확장 {
private MediaPlayer mp =new MediaPlayer();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_a, container, false);
ListView SngList = (ListView) view.findViewById(R.id.SongList);
File f=new File("/sdcard");
ArrayList<SongDetails> Songinfo = getSongsFromDirectory(f);
if (Songinfo.size()>0){
SngList.setAdapter(new CustomAdapter(Songinfo));
return view;
}
else return null;
}
public ArrayList<SongDetails> getSongsFromDirectory(File f)
{// MediaMetadataRetriever metaRetriever = new MediaMetadataRetriever();
ArrayList<SongDetails> songs = new ArrayList<SongDetails>();
if (!f.exists() || !f.isDirectory())
{
return songs;
}
File[] files = f.listFiles(new Mp3Filter());
for(int i=0; i<files.length; i++)
{
if (files[i].isFile()){
// metaRetriever.setDataSource(files[i].getName());
//metaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST);
SongDetails detail=new SongDetails();
detail.setIcon(R.drawable.ic_launcher);
String fileName = files[i].getName();
detail.setSong(files[i].getName());
detail.setArtist(files[i].getName());
detail.setAlbum(files[i].getName());
songs.add(detail);
}else if (files[i].isDirectory()){
songs.addAll(getSongsFromDirectory(files[i]));
}
}
return songs;
} }
class Mp3Filter implements FileFilter{
public boolean accept(File file){
return (file.isDirectory()||file.getName().endsWith(".MP3")|| file.getName().endsWith(".mp3"));
}
당신의 시간 동안 잘하지만 어떻게 그것을 내 목록에 추가 할 수 있습니까? –
일단 커서가 있으면 커서를 이동합니다. cursor.movefirst(), cursor.movenext() 등. 각 루프에 데이터 cursor.getString ()을 어댑터 listitems.org에 추가하면 걸려 있는지 알 수 있습니다. –
Theo
코드를 조금 더 설명 할 수 있습니까? 만약이 커서를 조각 내에서 구현하려고한다면 –