현재 사진 촬영 후, 저장하면 path(/img/*.jpg)만 string 으로 받아와 몇가지 정보를 더 입력한 후에 DB에 저장되도록 하였습니다.
테이블 구조는
--------------------------------------------
name | category | opt1 | opt2 | path |
--------------------------------------------
이런 구조로 되어 있습니다.
이 전부를 리스트로 뿌려주는데, String 만 뿌려주는 것은 simple list adapter 이용해서 성공 하였는데요.
제가 하고 싶은 것은
path에 저장되어 있는 img의 썸네일과 , DB에 있는 몇몇 필드만 꺼내어 보여주고 싶습니다.
---------------------------------
썸네일 + name, category
---------------------------------
썸네일 + name, category
---------------------------------
이런 식으로요.
지금
그냥 simple list adapter 에서 해쉬맵 이용한 걸로 바꾸고 있는데 cursor가 계속 바운더리 밖에 있다고 (인덱스가 -1이라며)
exception 띄워주고 죽어버립니다.
솔직히 해쉬맵에 대해서 50%쯤 이해한 상황이구요 ㅜ path에서 img의 thumbnail로 접근하는 방법은 몰라서 그냥 drawable에 있는 icon 주소를 사용하고 있습니다. 어떻게 해야할지 감이 전혀 안오네요 ㅜㅜ 조언 좀 부탁드립니다. ㅜㅜ
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mDbHelper = new DbAdapter(this);
mDbHelper.open();// Database 열기
mCursor = mDbHelper.fetchAllRows();
startManagingCursor(mCursor);
ArrayList<clothItem> Cloth = new ArrayList<clothItem>();
List<HashMap<String, Object>> mList = new ArrayList<HashMap<String, Object>>();
int[] imgSrc = getResources().getIntArray(R.array.img);
if(mCursor.isFirst()){
for (int i = 0; i < mCursor.getCount(); i++) {
HashMap<String, Object> item = new HashMap<String, Object>();
item.put("ca1", mCursor.getString(1));
item.put("ca2", mCursor.getString(2));
item.put("ca3", imgSrc[1]);
mList.add(item);
mCursor.moveToNext();
}
}
else
Log.i(TAG, "에러남");
SimpleCursorAdapter sAdapter = new SimpleCursorAdapter(this,
R.layout.collection, mCursor, new String[] { "ca1", "ca2",
"ca3"}, new int[] { R.id.text1, R.id.text2,
R.id.img});
setListAdapter(sAdapter);
}
class clothItem {
String name;
String category;
//String season;
int img;
public clothItem(String name, String category, int img) {
super();
this.name = name;
this.category = category;
//this.season = season;
this.img = img;
}
}
}



