본문 바로가기
  • 콩's 코딩노트
Android

Android Studio - SQLite3 데이터베이스 활용하는 방법

by Cong_S 2022. 7. 14.

AWS의 서버를 이용하지 않고 

앱 내의 SQLite3기반 데이터베이스를 활용하는 방법에 대해 알아보자.

 

제일 먼저 해야할 일은 패키지를 만들어야한다.

 

우선 예시로 들 프로젝트는 이름과 전화번호를 저장하는 ContactManager 프로젝트이다.

 

패키지 안에 클래스들을 만들어준다.

 

Contact 클래스 안에는 Contact 객체를 만드는 데 필요한 요소를 입력한다.

// Contact 클래스

public class Contact {
    public int id;
    public String name;
    public String phone;

    public Contact(int id, String name, String phone) {
        this.id = id;
        this.name = name;
        this.phone = phone;
    }

    public Contact(String name, String phone) {
        this.name = name;
        this.phone = phone;
    }

 

util 클래스에는 프로젝트에서 사용될 상수들을 정리해준다.

// util 클래스

public class util {

    // 데이터베이스 관련된 상수
    public static final int DATABASE_VERSION = 1;
    public static final String DATABASE_NAME = "contact_db";
    public static final String TABLE_NAME = "contact";

    // 테이블의 컬럼 관련된 상수
    public static final String KEY_ID = "id";
    public static final String KEY_NAME = "name";
    public static final String KEY_PHONE = "phone";
}

 

DatabaseHandler 클래스에는 프로젝트에서 사용될 각종 함수들을 정리해준다.

제일 중요한 부분은 DatabaseHandler 클래스는 SQLitrOpenHelper에서 상속받아 만든 클래스라는 점이다.

public class DatabaseHandler extends SQLiteOpenHelper {
    public DatabaseHandler(@Nullable Context context) {
        super(context, util.DATABASE_NAME, null, util.DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        // 테이블 생성
        String CREATE_CONTACT_TABLE = "create table " + util.TABLE_NAME + "("+
                util.KEY_ID + " integer primary key, " +
                util.KEY_NAME + " text, " +
                util.KEY_PHONE + " text )";

        Log.i("MyContact", "테이블 생성문 : " + CREATE_CONTACT_TABLE);

        sqLiteDatabase.execSQL(CREATE_CONTACT_TABLE);

    }

   ......

        return contactList;
    }


}

이제 DatabaseHandler 에서 만든 데이터베이스의 저장하는 함수들을 이용해 SQLite3 데이터베이스에 접근하고 저장하고 편집할 수 있다.

댓글