반응형
안드로이드 내장 DB 사용법 처음 사용하시는 분들을 위해 최대한 간단히 작성하였습니다.
KBaseColumns.java
package com.example.user_kev1n.kandroiddb;

import android.provider.BaseColumns;

public final class KBaseColumns {
    public KBaseColumns() {}
    public static abstract class KColumns implements BaseColumns {
        public static final String TABLE_NAME = "names";
        public static final String COLUMN_ID = "id";
        public static final String COLUMN_NAME = "name";
    }
}

KSQLiteHelper.Java
 
package com.example.user_kev1n.kandroiddb;


import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class KSQLiteHelper extends SQLiteOpenHelper{
    public static final int DATABASE_VERSION = 1;
    public static final String DATABASE_NAME = "kdb.db";

    private static final String TEXT_TYPE = " TEXT";
    private static final String COMMA_SEP = ",";
    private static final String SQL_CREATE_ENTRIES =
            "CREATE TABLE " + KBaseColumns.KColumns.TABLE_NAME + " (" +
                    KBaseColumns.KColumns.COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
                    KBaseColumns.KColumns.COLUMN_NAME + TEXT_TYPE+");";
    // CREATE TABLE NAMES (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT);


    private static final String SQL_DELETE_ENTRIES =
            "DROP TABLE IF EXISTS " + KBaseColumns.KColumns.TABLE_NAME;
    // DROP TABLE IF EXISTS NAMES;

    public KSQLiteHelper(Context context) {
        // DB 생성
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }
    public void onCreate(SQLiteDatabase db) {
        // 테이블 생성
        db.execSQL(SQL_CREATE_ENTRIES);
    }
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // 버전이 업그레이드 되었을 경우 테이블 삭제하고 다시 생성
        db.execSQL(SQL_DELETE_ENTRIES);
        onCreate(db);
    }
}
반응형
Posted by kev1n
,