한 걸음 두 걸음

android 안드로이드 ] SQLite(임베디드) 내부 저장소 활용하기 본문

FrontEnd/Android

android 안드로이드 ] SQLite(임베디드) 내부 저장소 활용하기

언제나 변함없이 2019. 6. 8. 14:21
반응형

SQLite나 firebase 데이터베이스는 내부 저장소로 활용할 수 있고

서버로 구현하면 mySQL이나 MariaDB를 사용하게 됩니다. 보통 mySQL의 라이센스 문제가 많기 때문에 Maria로 가시곤 하죠.

저번에 node js 서버와 MongoDB로 연결해서 사용하려고 AWS에 올리려고 했는데 putty가 안먹어 서버올리는데 실패했기 때문에 ㅜㅜ 다시 로컬로 데이터베이스를 만들어보기로 했습니다. 일단 프로젝트 마감은 해야하니까요. 시간만 많았으면 서버통신으로 해보고싶었는데..


SQLite는 안드로이드 기기 내부의 로컬에 파일 형태(.db)로 저장되어 사용됩니다.
때문에 인터넷이 없어도 사용할 수 있는 것이 특징인데요. 방대한 양의 데이터를 처리하는데 적합하지 않고 자칫 어플리케이션 자체의 용량이 너무 커져버릴 수 있으므로 간단한 데이터베이스 구현으로만 사용하시는 것을 추천드립니다.

SQL 쿼리문 중 가장 단순한 형태만 알아도 충분히 사용이 가능합니다. (join projection등이 쓰이지않습니다.)
SQLite는 데이터 베이스를 만드는 절차는 다음과 같습니다.

  1. 데이터베이스 만들기 ( 한 번 만들고 난 이후에는 다시 만들지 않고 '열기'로 사용합니다)
  2. 데이터베이스 테이블 만들기 (create table~)
  3. 레코드 추가하기 (insert into)
    하고나면 데이터베이스가 완성되고 이제
  4. 데이터베이스 조회하기(select)
    으로 사용하시면 됩니다.

데이터베이스 열기/ 삭제하기/ create,insert등의 반환값이 없는 SQL/ 반환데이터가 없는 SQL문 등의 제어 함수는 다음과 같습니다.

public abstract SQLiteDatabase openOrCreateDataBase(String name, int mode, SQLiteDatabase.CursorFactory factory)
public abstract boolean deleteDatabase (Strong name)
public void execSQL(String sql) throws SQLException //결과없음(create, insert)
public Cursor rawQuery(String sq) throws SQLException //결과있음(select)

 

반응형