데이터베이스를 생성하고, 열고, 자료를 넣고, 쿼리를 통해서 데이터베이스에서 정보를 받아오는 작업은 SQLiteDaatabase 클래스와 SQLiteOpenHelper 클래스 내의 메서드를 통해 처리합니다. SQLiteDatabase 클래스는 데이터베이스에 자료를 추가하고, 수정하고, 삭제하는 등 데이터베이스의 자료 관리를 다루고, SQLiteOpenHelper 클래스는 데이터베이스의 생성, 열기 작업과 업그레이드를 담당합니다.
일반적인 데이터베이스 어댑터의 구조, 기능
- 데이터베이스 정보(데이터베이스 이름, 버전 등)
- 헬퍼 클래스(SQLiteOpenHelper; 데이터베이스 열기/닫기를 담당)
- 헬퍼 클래스의 인스턴스
- 데이터베이스(SQLiteDatabase)의 인스턴스
- 데이터베이스 작업에 필요한 메서드들(insert, update, delete, query)
[BookmarkDB.java]
[main.xml]
[row.xml]
리스트뷰에는 사이트의 제목과 주소를 모두 표시하므로 별도의 레이아웃 작성
[edit.xml]
데이터 삽입을 위해 다이얼로그를 사용
[MyBookmark.java]
출처 - 기초부터 다지는 커니의 안드로이드
일반적인 데이터베이스 어댑터의 구조, 기능
- 데이터베이스 정보(데이터베이스 이름, 버전 등)
- 헬퍼 클래스(SQLiteOpenHelper; 데이터베이스 열기/닫기를 담당)
- 헬퍼 클래스의 인스턴스
- 데이터베이스(SQLiteDatabase)의 인스턴스
- 데이터베이스 작업에 필요한 메서드들(insert, update, delete, query)
BookmarkDB 클래스 생성
Final 제한제 옵션을 추가하여 Bookmark 클래스 생성
[Bookmark.java]
[BookmarkDB.java]
public int update (String table, ContentValues values, String whereClause, String[] whereArgs)
조건(whereClause)에 맞는 데이터의 값을 수정하며, 변화가 발생한 레코드의 개수를 반환합니다. whereClause에 지정해야 할 조건 값들이 많을 땐 해당 조건의 값을 ?(물음표)로 대체한 후 각 물음표에 들어가야 할 값들을 whereArgs[]에 지정합니다.
[main.xml]
[row.xml]
리스트뷰에는 사이트의 제목과 주소를 모두 표시하므로 별도의 레이아웃 작성
[edit.xml]
데이터 삽입을 위해 다이얼로그를 사용
[MyBookmark.java]
public SimpleCursorAdapter (Context context, int layout, int layout, Cursor c, String[] from, int[] to)
SimpleCursorAdapter 어댑터를 생성합니다. layout에는 자료를 표시할 레이아웃의 리소스를, 커서(c)에는 데이터가 들어있는 커서를, from에는 리스트에 표시할 데이터의 열 이름을, to에는 데이터가 표시될 뷰의 id를 입력합니다.
출처 - 기초부터 다지는 커니의 안드로이드
'프로그래밍 > Android' 카테고리의 다른 글
SharedPreferences 설명 (0) | 2011.08.24 |
---|---|
콘텐트 프로바이더 (0) | 2011.08.24 |
SQLite3 - 데이터베이스 (0) | 2011.08.23 |
알림 메시지 (0) | 2011.08.23 |
AlertDialog, ProgressDialog (0) | 2011.08.23 |