안드로이드 sqlite

2014. 5. 1. 01:52Mobile/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