[안드로이드] - SQLiteOpenHelper 를 이용한 DB 처리
○ SQLiteOpenHelper 를 이용한 DB 처리 |
※ SQLiteOpenHelper 는 버전도 관리해주고 고급스러운 작업을 할 때 많이 사용한다 ※ SQLiteOpenHelper 는 abstract 메소드 즉 추상 메소드여서 상속받아 새로 클래스를 구현해서 객체를 생성해 사용해야한다 반드시 각각의 메소드를 Override 해줘야한다 ※ select문 구현시 .getReadableDatabase() 이고 나머지는 .getWritableDatabase()를 사용한다
public class DBManager extends SQLiteOpenHelper { SQLiteDatabase db; public DBManager(Context context) { // 생성자 생성 super(context, "myDB", null, 1); // context, db네임, 팩토리 null, 버전 1, DB생성 } @Override public void onCreate(SQLiteDatabase db) { String sql = "create table if not exists customer (name text, sb text, sms text, email text);"; // 테이블 생성 db.execSQL(sql); // 이걸로 실행한다 } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } } public class InsertActivity extends AppCompatActivity { EditText input1; String strInput1, strInput2, strInput3, strInput4; RadioButton input21, input22; CheckBox input3, input4; DBManager dmanager; // 오픈이나, 디비생성(위에서 새로 상속받아 만든 클래스로 객체 생성) SQLiteDatabase db; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_insert); this.setTitle("고객 등록"); } public void buttonClick(View v){ input1 = (EditText)findViewById(R.id.editText1); // EditText 객체로 가져옴 strInput1 = input1.getText().toString(); // 성명 값 가져옴 input21 = (RadioButton)findViewById(R.id.radio1); // RadioButton 객체로 가져옴 input22 = (RadioButton)findViewById(R.id.radio2); if( input21.isChecked() ) { // 남인지 여인지 라디오 버튼 체크 값 가져옴 strInput2 = "남"; } else { strInput2 = "여"; } input3 = (CheckBox)findViewById(R.id.checkBox1); // CheckBox 객체 가져옴 if( input3.isChecked() ){ // 체크박스 값을 가져옴 strInput3 = "sms"; } else { strInput3 = " "; } input4 = (CheckBox)findViewById(R.id.checkBox2); // CheckBox 객체 가져옴 if ( input4.isChecked()){ // 체크박스 값을 가져옴 strInput4 = "email"; } else { strInput4 = " "; } Toast.makeText(this, " " + strInput1 + " " + strInput2 + " " + strInput3 + " " + strInput4, Toast.LENGTH_LONG).show(); try { dmanager = new DBManager(this); // 객체 생성 -> myDB 디비가 생성 or 불러오기 db = dmanager.getWritableDatabase(); // select 문 구현 시 .getReadableDatabase() 이다 !!! String sql = "insert into customer values('" + strInput1 + "', '" + strInput2 + "', '" + strInput3 + "', '" + strInput4 + "');"; db.execSQL(sql); } catch(Exception e){ System.out.println("insert error : " + e); } } } |
'안드로이드' 카테고리의 다른 글
[안드로이드] - BufferedReader 와 readLine 으로 파일 읽어오기 (0) | 2017.09.13 |
---|---|
[안드로이드] - Calendar 이용한 년월일 날짜 출력 (0) | 2017.06.14 |
[안드로이드] - SQLite select문 ListView로 출력하기 (0) | 2017.05.22 |
[안드로이드] - SQLiteDatabase 를 이용한 DB 처리 (0) | 2017.05.19 |
[안드로이드] - setOnItemClickListener 이용한 ListView 이벤트 처리 (0) | 2017.05.08 |