210202
[데이터베이스] SQLite로 로컬에 데이터 저장하고 조회하기 본문
데이터베이스는 보통 데이터들을 저장하는 용도로 사용된다.
데이터베이스는 테이블을 사용해서 데이터들을 저장하는데 이를 사용하기 위해서는 SQL문을 알아야한다.
안드로이드에서 데이터베이스를 만드는 법은 다음과같다.
1. SQLiteDatabase객체를 반환하는 openOrCreateDatabase 메소드를 통해서 데이터베이스를 오픈
2. SQliteDatabase객체의 execSQL 메소드를 호출하고 파라미터로 SQL문을 전달하여 SQL문을 실행시킴
예시
public void setDatabase(String databaseName){
database = openOrCreateDatabase(databaseName, MODE_PRIVATE, null);
// database 변수는 미리 onCreate 전에 선언해줬다고 가정
if(database != null){
String tableName = "user";
String sql = "create table " + tableName + "(_id integer PRIMARY KEY autoincrement, name text, age integer, mobile text)";
database.execSQL(sql);
}
}
데이터베이스에서 데이터를 추가하는 방법은 다음과 같다.
1. 데이터 추가하는 SQL문 작성
2. execSQL 메소드로 추가
예시
public void insertData(String name, int age, String mobile) {
if (database != null) {
String sql = "insert into customer(name, age, mobile) values(?, ?, ?)";
Object[] params = {name, age, mobile};
database.execSQL(sql, params);
}
}
데이터베이스에서 데이터를 조회하는 방법은 다음과 같다.
1. 데이터를 조회하는 SQL문 작성
2. Cursor 객체를 반환하는 rawQuery 메소드를 사용
3. Cursor객체를 이동시키면서 데이터 조회
예시
public void selectData(String tableName) {
if (database != null) {
String sql = "select name, age, mobile from " + tableName;
Cursor cursor = database.rawQuery(sql, null);
for (int i = 0; i < cursor.getCount(); i++) {
cursor.moveToNext();
String name = cursor.getString(0);
int age = cursor.getInt(0);
String mobile = cursor.getString(2);
}
cursor.close();
}
}
'Android > 기능구현' 카테고리의 다른 글
[Java] Room 기초적인 사용법 (0) | 2020.07.30 |
---|---|
[카카오톡 릴리즈 키값 구하기] 카카오링크 사용시 카카오톡 릴리즈 키값 쉽게 구하기 (0) | 2020.07.09 |
[동적버튼 생성] 코틀린으로 동적버튼 생성, margin값 dp로 설정 (0) | 2020.06.27 |
Comments