반응형
안녕하세요 돼지왕 왕돼지입니다.
오늘은 MediaStore 에 Scan 이 완료된 녀석들을 기준으로, Image 를 보여주는, 아주 심플한 ImageView 에 대한 Sample Code를 올려봅니다.
public class SimpleImageViewer extends Activity {
private ImageView mImage;
private Cursor mCursor;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.imageviewer);
ListView list = (ListView)findViewById(R.id.listview);
mImage = (ImageView)findViewById(R.id.imageview);
ContentResolver cr = getContentResolver();
mCursor = cr.query(Images.Media.EXTERNAL_CONTENT_URI, null, null, null, null);
SimpleCursorAdapter Adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_1,
mCursor, new String[] { MediaColumns.DISPLAY_NAME },
new int[] { android.R.id.text1});
list.setAdapter(Adapter);
list.setOnItemClickListener(mItemClickListener);
startManagingCursor(mCursor);
}
AdapterView.OnItemClickListener mItemClickListener = new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
mCursor.moveToPosition(position);
String path = mCursor.getString(mCursor.getColumnIndex(Images.ImageColumns.DATA));
try {
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inSampleSize = 4;
Bitmap bm = BitmapFactory.decodeFile(path, opt);
mImage.setImageBitmap(bm);
}
catch (OutOfMemoryError e) {
Toast.makeText(SimpleImageViewerthis,"Image is too big to decode.",0).show();
}
}
};
@override
public void onDestory(){
if ( mCursor != null )
mCursor.close();
}
@override
public void onDestory(){
if ( mCursor != null )
mCursor.close();
}
}
처음에 ListView 에는 Cursor 를 이용하여 이름을 표시하도록 하였고,
List 를 클릭하면 Bitmap decode 를 해서 imageview 에 보여주는 방식입니다.
나머지 View 구성은 모두 쉽게 하실 수 있을거라 믿습니다~
로그인 없이 추천 가능합니다. 손가락 꾸욱~
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[Android/안드로이드] Media ( Audio, Video ) Recording APIs. (0) | 2012.02.16 |
---|---|
[Android/안드로이드] Media DB 의 Table과 Column 정보들. (2) | 2012.02.16 |
[Android/안드로이드] App Widget 제작시 updatePeriodMillis 의 오작동 or 사기. (0) | 2012.02.16 |
[Android/안드로이드] Timer 를 이용한 App Widget Update Example (15) | 2012.02.16 |
[Android/안드로이드] Service 를 이용한 App Widget Update (0) | 2012.02.16 |
댓글