Android

안드로이드 - 데이터베이스(SQLite) 사용법

남자두부 2015. 6. 22. 22:46
반응형

1

 

데이터베이스 클래스를 만든다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
public class DataBase extends SQLiteOpenHelper {
    public static String TABLE_NAME = "test_table", test;
    public static int count;
    public static Cursor cursor;
    
    SQLiteDatabase SQL_DB;
 
    //데이터베이스 생성, 있으면 불러오기
    public DataBase(Context context) {
        super(context, "test_DB.db"null1);
 
        SQL_DB = this.getWritableDatabase();
    }
 
    //테이블 생성
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(
            "create table " +
            TABLE_NAME +
            "(" +
            "_id integer primary key autoincrement, " +
            "test text)");
    }
    
    //테이블 재생성
    public void onUpgrade(
        SQLiteDatabase db, int oldVersion, int newVersion) {
            db.execSQL(
                "drop table if exists " +
                TABLE_NAME +
                ";");
            onCreate(db);
    }
 
    //데이터 저장
    public void InsertRecord(String memo) {
        ContentValues CV = new ContentValues();
        
        CV.put("test", test);
        
        SQL_DB.insert(TABLE_NAME, null, CV);
    }
 
    //데이터를 커서에 저장
    public Cursor QueryData() {
        cursor =
            SQL_DB.rawQuery("select _id, test from " + TABLE_NAME, null);
        
        if(cursor != null) {
            count = cursor.getCount();
            for(int i = 0; i < count; i++) {
                cursor.moveToNext();
            }
        }
        return cursor;
      }
    
    //업데이트
    public void UpdateRecord(String updat, long id) {
        SQL_DB.execSQL(
            "update " + 
            TABLE_NAME +
            " set test='" +
            update +
            "' where _id = '" +
            id +
            "'");
    }
    
    //모든 데이터 삭제
    public void AllDeleteRecord() {
        SQL_DB.execSQL(
            "delete from " +
            TABLE_NAME);
    }
    
    //데이터 삭제
    public void DeleteRecord(long id) {
        SQL_DB.execSQL(
            "delete from " +
            TABLE_NAME +
            " where _id = '" +
            id +
            "'");
    }
}
cs

 

2

 

메소드를 만든다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public void itemView() {
    final DataBase DB = new DataBase(this);
    DataBase.cursor = DB.QueryData();
        
    if (DataBase.cursor != null) {
        String[] columns = {"memo"};
        int[] reIds = {R.id.textView3};
            
        SimpleCursorAdapter adapter = new SimpleCursorAdapter
            (this, R.layout.list_item, DataBase.cursor, columns, reIds);
            
        ListView listView = (ListView) findViewById(R.id.listView);
        listView.setAdapter(adapter);
            
        listView.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(
                AdapterView<?> parent, View view, int position, long id) {
                //아이템 클릭 시 발생하는 작업
        });
    }
}
cs

 

3

 

메소드를 OnCreate에 삽입한다.

 

*

 

커서어뎁터를 사용한다.

반응형