-
[Android Studio-java] SQLite 사용법Programming/Android 2021. 7. 7. 23:43
SQLite란?
모바일 환경에 최적화된 DB.즉, 안드로이드 앱 안에 내장되어있는 DBMS를 말한다.
1. SQLite를 명령 프롬프트에서 접속
명령프롬프트 단축키는 윈도우키+R 한다음에 cmd를 입력함.
1) 안드로이드에서 avd 실행
2) 명령프롬프트에서 adb.exe 폴더로 이동 (위치는 \sdk\platform-tools\)
(만일 기본 값으로 설치했다면 c:\users\사용자명\AppData\Local\Android\SDK\platform-tools\ 폴더)
cd c:\CookAndroid\SDK\platform-tools\
DIR adb.exe
adb root //root 권한으로 adb 재시작
adb shell //셸 실행해서 AVD 내부로 접근
cd \data\data\com.cookandroid.프로젝트명 //cd: 현재 폴더 변경
ls -l //현재 파일 및 디렉토리 목록 출력
mkdir databases //mkdir: 디렉터리 생성
cd databases
pwd //현재 디렉터리 경로 출력
1)데이터베이스 생성
sqlite3 testDB
2) 테이블 생성
CREATE TABLE 테이블명 (열이름1 데이터형식1(크기), 열이름2 데이터형식2(크기2) ...);
3) 데이터 입력
INSERT INTO 테이블명 VALUES (값1, 값2, 값3 ...);
*값이 string이면 ' ' 안에 적어야함.
4) 데이터 조회.활용
SELETE 열이름1, 열이름2 ... FROM 테이블이름 WHERE 조건;
2. SQLite 활용
SQLiteOpenHelper class
public class myDBHelper extends SQLiteOpenHelper { public myDBHelper(Context context){ super(context, "groupDB", null, 1); //자동으로 생성되는 것 } //table 생성 public void onCreate(SQLiteDatabase db){ db.execSQL("CREATE TABLE groupTBL (gName CHAR(20) PRIMARY KEY, gNumber INTEGER);"); //형식 주의 } //table 삭제,생성,초기화 public void onUpgrade(SQLiteDatabase db, int oldVersion, intnewVersion){ db.execSQL("DROP TABLE IF EXISTS groupTBL); onCreate(db); } }
초기화 리스너
myHelper = new myDBHelper(this); btnInit.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){ sqlDB = myHelper.getWritableDatabase(); myHelper.onUpgrade(sqlDB,1,2); sqlDB.close(); } });
입력 리스너
btnInsert.setOnClickListener(new View.OnClickListener(){ public void onClic(View v){ sqlDB = myHelper.getWritableDatabase(); sqlDB.execSQL("INSERT INTO groupTBL VALUES ( ' " + edtName.getText().toString() + " '. " + edtNumber.getText().toString() ");"); sqlDB.close(); } });
DB조회 리스너
btnSelect.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){ sqlDB = myHelper.getReadableDatabase(); Cursor cursor; cursor = sqlDB.rawQuery("SELECT * FROM groupTBL;" , null); String strNames = "그룹이름" +"\r\n" + "---" + "\r\n"; String strNumbers = "인원" + "\r\n" + "---" + "\r\n"; while(cursor.moveToNext()) { strNames += cursor.getString(0) + "\r\n"; strNumbers += cursor.getString(1) +"\r\n"; } edtNameResult.setText(strNames); edtNumberResult.setText(strNumbers); cursor.close(); sqlDB.close(); } });
'Programming > Android' 카테고리의 다른 글
[Java] 안드로이드 파일 처리의 기본 (0) 2021.07.02 안드로이드 스튜디오 오류나는 경우 (0) 2021.05.16