안드로이드 sqlite
2014. 5. 1. 01:52ㆍMobile/Android
반응형
안드로이드 sqlite + 안드로이드 데이터베이스 + 안드로이드 db
서버통신을 안하고 개인적인 앱을 만들경우 혹은 간단한 DB를 사용하고 싶은면 안드로이드 지원하는 SQLiteOpenHelper 를 상속받아 사용하면 된다 :)
기초적인 쿼리 짜실 줄 아시면 밑에 있는 소스가 간단하게 이해 될것이다.
조금만 더 응용하면 광범위 하게 쓰일 수도있다.
조금더 간편하게 쓰고싶은데...........일단 보고 따라해보자~~~~
메인엑티비티 부분이다.
package com.example.ggarisqliteopenhelper;
import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
DBManagerHandler handler;
Button btn01;
Button btn02;
TextView tv01;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
handler = new DBManagerHandler(getApplicationContext());
tv01 = (TextView)findViewById(R.id.tv01);
findViewById(R.id.btn01).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//정보를 넣어라
handler.insert("KIM", "20", "01012345678", "SEOUL");
handler.close();
Toast.makeText(getApplicationContext(), "정보를 저장함", 1).show();
}
});
findViewById(R.id.btn02).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//정보가저오기
Cursor cursor = handler.select();
startManagingCursor(cursor);
while (cursor.moveToNext()) {
int _id =cursor.getInt(cursor.getColumnIndex("_id"));
String name =cursor.getString(cursor.getColumnIndex("name"));
String age =cursor.getString(cursor.getColumnIndex("age"));
String phone =cursor.getString(cursor.getColumnIndex("phone"));
String addr =cursor.getString(cursor.getColumnIndex("addr"));
tv01.setText("seq="+_id+"//"+"이름="+name +"//"+"나이="+age+"//"+"폰="+phone+"//"+"주소="+addr);
}
}
});
}
}
DBManager 부분
package com.example.ggarisqliteopenhelper;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DBManager extends SQLiteOpenHelper {
private final static String TB_NAME = "ggari";
public static final String DB_NAME = "ggari.db";
public static final int DB_VERSION = 1;
String quary ;
//constructor
public DBManager(Context context) {
super(context, DB_NAME, null,DB_VERSION);
quary = "CREATE TABLE "+ TB_NAME +"(_id INTEGER PRIMARY KEY AUTOINCREMENT "
+ "," + "name TEXT "
+ "," + "age TEXT"
+ "," + "phone TEXT"
+ "," + "addr TEXT "
+ ");";
}
//테이블을 생성
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(quary);
}
//업그레이드
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
DBManagerHandler 부분
package com.example.ggarisqliteopenhelper;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
public class DBManagerHandler {
private DBManager mDBManager;
private SQLiteDatabase db;
public DBManagerHandler (Context context){
this.mDBManager =new DBManager(context);
}
//닫기
public void close() {
db.close();
}
//저장
public void insert (String nm , String age , String ph ,String addr){
db = mDBManager.getWritableDatabase();
ContentValues val = new ContentValues();
val.put("name", nm);
val.put("age", age);
val.put("phone",ph);
val.put("addr", addr);
db.insert("ggari", null, val);
}
//가저오기
public Cursor select(){
db=mDBManager.getReadableDatabase();
Cursor cursor = db.query("ggari", null, null, null, null, null, null);
return cursor;
}
}
/** 업데이트방법
* public int update(String table, ContentValues values, String whereClause, String[] whereArgs) {}
*
* 삭제방법
* public int delete(String table, String whereClause, String[] whereArgs) {}
*/
끝~
반응형
'Mobile > Android' 카테고리의 다른 글
| 안드로이드 서비스 (0) | 2014.06.02 |
|---|---|
| 안드로이드 JSON (0) | 2014.05.21 |
| [안드로이드] Android Observer (0) | 2014.04.27 |
| 안드로이드 appcompat_v7 (14) | 2014.04.26 |
| 안드로이드 자바스크립트 연동 (6) | 2014.04.21 |