2014-01-05 2 views
0

SQL Lite db 조작을 처음 사용합니다. SQL Lite db에서 데이터 조작

내가이 튜토리얼 SQL Lite tutorial

public class DatabaseHandler extends SQLiteOpenHelper { 

// All Static variables 
// Database Version 
private static final int DATABASE_VERSION = 1; 

// Database Name 
private static final String DATABASE_NAME = "PersonalAssistant"; 

// TASKS table name 
private static final String TABLE_TASKS = "TASKS"; 

// Tasks Table Columns names 
private static final String KEY_ID = "id"; 
private static final String UUID = "uuid"; 
private static final String ACTION = "action"; 
private static final String TIME = "time"; 
private static final String DAY = "day"; 
private static final String RECEPIENTS = "receipients"; 
private static final String BODY = "body"; 
private static final String SUBJECT = "subject"; 
private static final String STATUS = "status"; 

public DatabaseHandler(Context context) 
{ 
    super(context, DATABASE_NAME, null, DATABASE_VERSION); 
} 

// Creating Tables 
@Override 
public void onCreate(SQLiteDatabase db) { 
    String CREATE_CONTACTS_TABLE = "CREATE TABLE IF NOT EXISTS " + TABLE_TASKS + "(" 
      + KEY_ID + " INTEGER PRIMARY KEY autoincrement," +UUID + " TEXT,"+ ACTION + " TEXT," 
      + TIME + " TEXT," + DAY + " TEXT," + RECEPIENTS+ " TEXT," +BODY + " TEXT," + " TEXT," +SUBJECT + " TEXT," +SUBJECT + " TEXT," +")"; 
    db.execSQL(CREATE_CONTACTS_TABLE); 
} 

// Upgrading database 
@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    // Drop older table if existed 
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_TASKS); 

    // Create tables again 
    onCreate(db); 
} 
// add task to table 
public void addTask(Task task) 
{ 
    SQLiteDatabase db = this.getWritableDatabase(); 

    ContentValues values = new ContentValues(); 
    values.put(ACTION, task.getAction()); 

    values.put(UUID, task.getUuid()); 

    values.put(TIME, task.getTime()); 
    values.put(DAY, task.getDay()); 
    values.put(RECEPIENTS, task.getReceipients()); 
    values.put(BODY, task.getBody()); 
    values.put(SUBJECT, task.getSubject()); 
    values.put(STATUS, task.getStatus()); 

    // Inserting Row 
    db.insert(TABLE_TASKS, null, values); 
    db.close(); // Closing database connection 
}  ............. 

에서 DB 처리 클래스를 쓴 내 질문에 내가 내 응용 프로그램 활동에서 DB 조작이 클래스를 어떻게 부릅니까입니까?

SQLiteOpenHelper를 확장하지 않는 다른 활동에서 내 수업을 어떻게 instatiate합니까?

클래스 및 메서드를 정적으로 정의 할 수 있지만 좋은 방법입니까?

답변

2
당신은 그냥이처럼 DatabaseHandler 클래스에서 객체를 인스턴스화하여이를 수행 할 수 있습니다

:

DabataseHandler dbHandler; 
dbHandler = new DatabaseHandler(getApplicationContext()); 

그리고 다음 dbHandler을 사용하여 Databasehandler 클래스의 메소드를 사용할 수 있습니다. 예를 들어

:

Task myTask = new Task(); 
dbHandler.addTask(myTask);