Android/SQLite 2019. 5. 17. 00:59SQLiteOpenHelper를 사용하여 DB 생성 12345678910111213141516171819202122232425 import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class MyDBHelper extends SQLiteOpenHelper {// 나중에 데이터베이스를 변경하려면 버전을 증가시키면 됩니다.public static final int DATABASE_VERSION = 1; public static final String DATABASE_NAME = "my.db";public MyDBHelper(Context context) {super(context, DATABASE_NAME, null, DATABASE_VERSION);} public void onCreate(SQLiteDatabase db) {// 테이블 생성db.execSQL("CREATE TABLE mytable (column1 INTEGER, column2 TEXT, column3 REAL, column4 TEXT)"); }public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// 버전이 증가하면 해당 테이블을 삭제하고 다시 생성합니다.db.execSQL("DROP TABLE IF EXISTS mytable");onCreate(db);}public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) { onUpgrade(db, oldVersion, newVersion);}} cs 데이터를 담아둘 MyTableList 생성 public class MyTableList {public int column1;public String column2;public double column3;public String column4;public MyTableList(int column1, String column2, double column3, String column4) { this.column1 = column1;this.column2 = column2;this.column3 = column3;this.column4 = column4;}} cs MyDBHelper를 상속받아서 데이터를 처리하는 MyTable 생성 123456789 10111213141516171819202122232425262728293031323334353637383940414243 import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import java.util.ArrayList;public class MyTable extends MyDBHelper { private SQLiteDatabase db;public MyTable(Context context) {super(context); // 데이터를 쓰고 읽기 위해서 db 열기db = getWritableDatabase();}public void insert(int column1, String column2, double column3, String column4) {// 데이터 쓰기db.execSQL("INSERT INTO mytable VALUES(" + id + ",'" + column1 + "','" + column2 + "','" + column3 + "','" + column4 + "')"); }public void update(int column1, String column2, double column3, String column4) {// 조건에 일치하는 행의 데이터 변경db.execSQL("UPDATE mytable SET column2='" + column2 + "',column3='" + column3 + "',column4='" + column4 + "' WHERE column1=" + column1); }public void delete(int column1) {// 조건에 일치하는 행을 삭제db.execSQL("DELETE FROM mytable WHERE column1=" + column1);}public ArrayList<MyTable> select() {// 테이블의 모든 데이터 선택Cursor mCursor = db.rawQuery("SELECT * FROM mytable", null); ArrayList<MyTable> list = new ArrayList<>();if(mCursor.moveToFirst()) {do {list.add(new MyTable(mCursor.getInt(0), mCursor.getString(1), mCursor.getDouble(2), mCursor.getString(3)));} while(mCursor.moveToNext()); }mCursor.close();return list;}} cs 액티비티에서 데이터 insert, update, select 123456 789101112131415161718192021222324 import android.os.Bundle;import android.util.Log;import androidx.appcompat.app.AppCompatActivity;import com.win.database.MyTableList;import java.util.ArrayList;public class Activity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);MyTable mMyTable = new MyTable(this);mMyTable.insert(1, "column2", 3.0, "column4");mMyTable.update(1, "column4", 2.0, "column2");ArrayList<MyTableList> list = mMyTable.select(); for(MyTableList mtl : list)Log.d("MyTableList", mtl.column2);}} cs