Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Row
- Hello World
- FutureBuilder
- flutter
- AppBar
- Networking
- Load Image
- InkWell
- navigator
- Flutter 앱 배포
- Flutter 예제
- Flutter 강좌
- Snackbar
- Column Widget
- Flutter Tutorial
- 반석천
- MainAxisAlignment
- CrossAxisAlignment
- Cached Image
- Flutter Example
- WillPopScope
- Row Widget
- sqlite
- node.js
- listview
- Image.network
- Scaffold
- ListTile
- HTTP
- ListView.builder
Archives
- Today
- Total
꿈꾸는 시스템 디자이너
간단한 SQLite 예제 본문
SQLite를 이용한 DB생성, Table 생성/삭제, Data 추가/업데이트/삭제/읽기 예제이다.
아래의 블로그를 참조했음을 밝힌다.
DB를 한번이라도 다뤄본적이 있다면 이해할 수 있는 예제이므로 설명을 생략..
다만 DB를 생성하고 열기위한 openOrCreateDatabase() 메소드의 호출은 Activity상에서만 가능하다는 제약이 있다.
(추가) 이러한 제약을 해결하기 위해서는 SQLiteOpenHelper를 이용해야 하는데 그 방법은 별도(http://here4you.tistory.com/50)로 정리해두었다.
package com.example.databasetest;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
// 상수 관련
String dbName = "apList.db"; // name of Database;
String tableName = "apListTable"; // name of Table;
int dbMode = Context.MODE_PRIVATE;
// Database 관련 객체들
SQLiteDatabase db;
// GUI 관련
public Button btCreateDB, btCreateTable, btRemoveTable, btInsertData,
btRemoveData;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btCreateDB = (Button) findViewById(R.id.btCreatDB);
btCreateTable = (Button) findViewById(R.id.btCreateTable);
btRemoveTable = (Button) findViewById(R.id.btRemoveTable);
btInsertData = (Button) findViewById(R.id.btInsertData);
btRemoveData = (Button) findViewById(R.id.btRemoveData);
db = openOrCreateDatabase(dbName,dbMode,null);
}
public void onClick(View v) {
int id = v.getId();
if (id == btCreateDB.getId()) {
//createDatabase(dbName,dbMode);
} else if (id == btCreateTable.getId()) {
createTable();
} else if (id == btRemoveTable.getId()) {
removeTable();
} else if (id == btInsertData.getId()) {
insertData("hahahehe");
} else if (id == btRemoveData.getId()) {
selectAll();
}
}
// Database 생성 및 열기
public void createDatabase(String dbName, int dbMode){
db = openOrCreateDatabase(dbName,dbMode,null);
}
// Table 생성
public void createTable(){
String sql = "create table " + tableName + "(id integer primary key autoincrement, "+"voca text not null)";
db.execSQL(sql);
}
// Table 삭제
public void removeTable(){
String sql = "drop table " + tableName;
db.execSQL(sql);
}
// Data 추가
public void insertData(String voca){
String sql = "insert into " + tableName + " values(NULL, '" + voca +"');";
db.execSQL(sql);
}
// Data 업데이트
public void updateData(int index, String voca){
String sql = "update " + tableName + " set voca = '" + voca +"' where id = "+index +";";
db.execSQL(sql);
}
// Data 삭제
public void removeData(int index){
String sql = "delete from " + tableName + " where id = "+index+";";
db.execSQL(sql);
}
// Data 읽기(꺼내오기)
public void selectData(int index){
String sql = "select * from " +tableName+ " where id = "+index+";";
Cursor result = db.rawQuery(sql, null);
// result(Cursor 객체)가 비어 있으면 false 리턴
if(result.moveToFirst()){
int id = result.getInt(0);
String voca = result.getString(1);
Toast.makeText(this, "index= "+id+" voca="+voca, 0).show();
}
result.close();
}
// 모든 Data 읽기
public void selectAll(){
String sql = "select * from " + tableName + ";";
Cursor results = db.rawQuery(sql, null);
results.moveToFirst();
while(!results.isAfterLast()){
int id = results.getInt(0);
String voca = results.getString(1);
Toast.makeText(this, "index= "+id+" voca="+voca, 0).show();
results.moveToNext();
}
results.close();
}
}
'Development > Android' 카테고리의 다른 글
| 프레그먼트(Fragment)간 통신(Communication) 예제 (0) | 2013.08.02 |
|---|---|
| SQLiteOpenHelper 사용법 (1) | 2013.07.25 |
| ProgressDialog와 AlertDialog 사용법 (0) | 2013.07.15 |
| 개발폰에 구글 플레이 스토어(Google Play Store) 수동 설치 및 구글맵 설치 (0) | 2013.06.14 |
| LocationManager 설정시 주의 사항 (2) | 2013.06.13 |
Comments