package exam.MediaPlayerTest;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.MediaStore;
import android.provider.MediaStore.MediaColumns;
import android.provider.MediaStore.Audio.AudioColumns;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
 
public class ArtistList extends Activity implements OnItemClickListener
{
 String[] mListData = new String[]{AudioColumns.TITLE , AudioColumns.ARTIST,AudioColumns.ALBUM};
 private Object mediaTitle;
 private Cursor mCursor;
 
 public void onCreate(Bundle saveInstanceState)
 {
  super.onCreate(saveInstanceState);
  requestWindowFeature(Window.FEATURE_NO_TITLE);
  setContentView(R.layout.artist_list);
  Log.e("MediaList","시작Artist");
  
  Cursor cur = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, mListData, null, null, null);
  
  ArtistListAdapter artistAdapter = new ArtistListAdapter(this , cur);
  ListView ArtistListLv = (ListView)this.findViewById(R.id.artist_list);
  ArtistListLv.setAdapter(artistAdapter);
  ArtistListLv.setOnItemClickListener(this);
 }
 @Override
 public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
  // TODO Auto-generated method stub
  Log.e("View",""+arg1);
  Log.e("int",""+arg2);
  Log.e("Long",""+arg3);
  Intent listIntent = new Intent(ArtistList.this , MediaDisplay.class);
  startActivity(listIntent);
 }
 
 
}



리스트.java 입니다..


 

package exam.MediaPlayerTest;
import android.content.Context;
import android.database.Cursor;
import android.provider.MediaStore;
import android.provider.MediaStore.Audio.AudioColumns;
import android.provider.MediaStore.Audio.Media;
import android.provider.MediaStore.MediaColumns;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class ArtistListAdapter extends BaseAdapter
{
 
 
// String[] mListData = {Media.TITLE,Media.ARTIST,Media.ALBUM};
// String[] mList2Data = {"Play a groovy mix of songs that go well together","Let Groove surprise you with an albu, artist or mix","Groove on the sontgs you know","Play sets of three songs by artist"};
 
 public Context mContext;
 private View converView;
 private Cursor mCursor;
 private int mediaTitle;
 private int mediaArtist;
 private int mediaAlbum;
 
 public ArtistListAdapter(Context context , Cursor c) {
  // TODO Auto-generated constructor stub
  mContext = context;   // 리스트뷰 화면정보..context
  mCursor = c;
 }
 @Override
 public int getCount() {
  // TODO Auto-generated method stub
  Log.e("COUNT",""+mCursor.getCount());
  return mCursor.getCount();
 }
 @Override
 public Object getItem(int position) {
  // TODO Auto-generated method stub
  
  return null;
 }
 @Override
 public long getItemId(int position) {
  // TODO Auto-generated method stub
  return position;
 }
 @Override
 public View getView(int position, View convertView, ViewGroup parent) {
  // TODO Auto-generated method stub
  LayoutInflater itemInflate = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  converView = itemInflate.inflate(R.layout.artist_list_item, null);
  TextView artistListTv = (TextView)converView.findViewById(R.id.artist_tv);
  TextView artistListTv2 = (TextView)converView.findViewById(R.id.artist_tv2);
  
  mCursor.moveToFirst();
  mediaTitle = mCursor.getColumnIndex(AudioColumns.TITLE);
  mediaArtist = mCursor.getColumnIndex(AudioColumns.ARTIST);
  mediaAlbum = mCursor.getColumnIndex(AudioColumns.ALBUM);
  
  try {
   
   artistListTv.setText(mCursor.getString(mediaTitle));
   artistListTv2.setText(mCursor.getString(mediaArtist));
  } catch (Exception e) {
   // TODO: handle exception
   Log.e("Exception",e.toString());
   
  }finally{
   // 데이터 없으면 팝업..or 뒤로가기.
  }
  return converView;
 }
 
}



adapter.java 입니다..


 

구조는 대충 위와같구요.

문제는 미디어파일을 가져올때 count 의 갯수는 맞게 가져오는듯 합니다.

이에관한 태그정보가 불일치 하네요.

이전에 들어있던 미디어정보만 가지고오고있는듯 합니다....( 최신100곡 넣어 테스트)

증상은..파일리스트가 이전에 들어있던 , 미디어 파일만 가져와서..정작 새로넣은 음악의 리스트는 보여주지 못하고있는 증상을 보입니다..

제가 추측한게 맞는건지 , 소스 보시고 조언부탁도 드립니다.


 

그럼 수고하세요.