안드로이드 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 |