안드로이드 개발 질문/답변
(글 수 45,052)
project Build Target에서
Android 2.1-upate1선택하고 하면 정상적으로 작동하는데
Android 2.2로 선택하거나 실제폰(sky 베가x)에서 테스트 하면 아래와 같은 에러가 납니다.
버젼에 따라 안되는 건가요?
테이블에는 분명 _id로 pk를 잡은 상태입니다.
테이블
---------------------------------------------------------------------------------------------------------------
CREATE TABLE fruit (_id INTEGER PRIMARY KEY,name TEXT,num
INTEGER,note TEXT);
--------------------------------------------------------------------------------------------------------------
에러 내용
--------------------------------------------------------------------------------------------------------------
04-01 04:39:04.825: ERROR/AndroidRuntime(2031): Caused by: java.lang.IllegalArgumentException: column '_ID' does not exist
--------------------------------------------------------------------------------------------------------------
소스
--------------------------------------------------------------------------------------------------------------
ListView listView = (ListView)findViewById(R.id.main_listview_fruit); //ListView 열기
mCursor = db.rawQuery("SELECT * FROM fruit", null); //쿼리 날리고
mCursor.moveToFirst(); //커서 처음으로 보내고
String[] from = new String[]{"name","num"}; //가져올 DB의 필드 이름
int[] to = new int[]{R.id.lf_tv_name,R.id.lf_tv_num}; //각각 대응되는 xml의 TextView의 id
final SimpleCursorAdapter adapter = new SimpleCursorAdapter(
listView.getContext(), //ListView의 context
R.layout.list_fruit, //ListView의 Custom layout
mCursor, //Item으로 사용할 DB의 Cursor
from, //DB 필드 이름
to //DB필드에 대응되는 xml TextView의 id
);
listView.setAdapter(adapter); //어댑터 등록



