-
서버 없이 개인 휴대폰에 App별로 저장하는 방식.
저장위치: 'data/data/[package_name]/databases
DB객체 생성 또는 얻기
SQLiteDatabase db = openOrCreateDatabase("testdb", MODE_PRIVATE, null);
Query 실행
db.execSQL(String sql) select문을 제외한 insert, update 등의 SQL 수행
db.rawQuery(String sql, String[] selectionArgs) select문의 SQL 수행
Cursor, 결과 행
Cursor cs = db.rawQuery("select ? from ?", new String[]{"*", "testtb"});
cursor 위치 조절 기능
cs.moveToNext(): 다음 행 선택.
cs.moveToPrevious(): 이전 행 선택.
cs.moveToFirst(): 가장 첫 번째 행 선택.
cs.moveToLast(): 가장 마지막 행 선택.cursor 값 얻기
ss = {cs.getString(0), cs.getString(1)};SQLiteOpenHelper
table생성이나 schema변경 등의 작업을 일원화 해서 sql 작업을 할 때 table 등이 생성된 상태인지 판단하지 않아도 되게 할 수 있다.
SQLiteOpenHelper는 추상 class이므로 상속받는 sub class를 만들어 사용해야 한다.
onCreate() 앱이 설치된 후 'SQLiteOpenHelper'가 최초로 이용되는 순간 한 번 호출.
onUpgrade() db버전이 변경될 때마다 호출.getReaderbleDatabase(), getWritableDatabase() 함수로 SQLiteDatabase를 얻어 사용할 수 있다.
insert, update, delete 함수
rawQuery, execSQL의 함수로 sql문을 직접 작성해 실행하는 방법 외에 함수로 각 기능을 호출 할 수 있다.
db.insert(...)
db.update(...)
db.delete(...)
db.query(...) select문//insert 처리 ContentValues vs = new ContentValues(); vs.put("name", "Hong"); vs.put("id", "gil"); db.insert("testtb", null, vs);
//select 처리 Cursor c = db.query("testtb", new String[]{"name", "id"}, "id=?", new String[]{"gil"}, null, null, null);
함수 사용법 Ex
'Android' 카테고리의 다른 글
AndroidStudio - Tab Space 탭키 간격 (0) 2020.07.19 Android - Scoped Storage Mode (0) 2020.07.19 Android - BitmapFactory 이미지 크기 조정 (0) 2020.07.19 Android - local DBMS, Realm (0) 2020.07.19 Android - ConstrainLayout (0) 2020.07.19 Android - GridLayout (0) 2020.07.19 Android - TableLayout (0) 2020.07.19 Android - View Attributes(속성) (0) 2020.07.18