2012-07-19 4 views

답변

-1

다음은 DBAdapter이며 삽입 및 기타 유용한 방법을 포함합니다. 나는 당신에게 데이터베이스 구조를 제공하고 있습니다. 리스너를 목록에 넣을 수 있습니다. onClick listener에서 검색 목록보기를 사용해보세요.

import java.util.ArrayList; 

import com.Test7.Tasks; 

import android.R.integer; 
import android.content.ContentValues; 
import android.content.Context; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 

public class DBAdapter { 

private Context context; 
private SQLiteDatabase notesdb; 
private DBHelper helper; 

public DBAdapter(Context context) 
{ 
    this.context = context; 
    helper = new DBHelper(context); 
} 

public void open() 
{ 
    notesdb = helper.getWritableDatabase(); 
} 

public void close() 
{ 
    notesdb.close(); 
} 

public long insertTasks(Tasks tasks) 
{ 
    ContentValues values = new ContentValues(); 
    values.put(DBHelper.TASKS_TITLE, tasks.getTasksTitleString()); 
    return notesdb.insert(DBHelper.TABLE_NAME, null, values); 
} 

public long updateTask(Tasks tasks, int id) 
{ 
    ContentValues values = new ContentValues(); 
    values.put(DBHelper.TASKS_TITLE, tasks.getTasksTitleString()); 
    return notesdb.update(DBHelper.TABLE_NAME, values, DBHelper.TASKS_ID + "= ? ", 
      new String[] { String.valueOf(id) }); 
} 

public ArrayList<Tasks> getAllTasks() 
{ 
    ArrayList<Tasks> tasks = new ArrayList<Tasks>(); 
    String[] columns = {DBHelper.TASKS_ID, DBHelper.TASKS_TITLE}; 
    Cursor cursor = notesdb.query(DBHelper.TABLE_NAME, columns, null, null, null, null, null); 
    String tasksTitleString = ""; 
    int count = cursor.getCount(); 
    int id = 0; 
    if(cursor != null && count > 0) 
    { 
     cursor.moveToFirst(); 
     for (int i = 0; i < count; i++) { 
      id = cursor.getInt(cursor.getColumnIndex(DBHelper.TASKS_ID)); 
      tasksTitleString = cursor.getString(cursor.getColumnIndex(DBHelper.TASKS_TITLE)); 
      cursor.moveToNext(); 
     } 
    } 
    return tasks; 
} 

public int getID(Tasks tasks) 
{ 
    String[] columns = {DBHelper.TASKS_ID, DBHelper.TASKS_TITLE}; 
    Cursor cursor = notesdb.query(DBHelper.TABLE_NAME, columns, null, null, null, null, null); 
    String tasksTitleString = ""; 
    int count = cursor.getCount(); 
    int id = 0; 
    if(cursor != null && count > 0) 
    { 
     cursor.moveToFirst(); 
     for (int i = 0; i < count; i++) { 
      id = cursor.getInt(cursor.getColumnIndex(DBHelper.TASKS_ID)); 
      tasksTitleString = cursor.getString(cursor.getColumnIndex(DBHelper.TASKS_TITLE)); 
      if(tasksTitleString.equals(tasks.getTasksTitleString())) 
      { 
       return id; 
      } 
      cursor.moveToNext(); 
     } 
    } 
    return id; 
} 
    } 

데이터베이스를 구성하는 데 다음 클래스를 사용하십시오. POJO 데이터베이스를 만들어보십시오. 내 것이 뒤 따른다.

import android.content.Context; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteOpenHelper; 
import android.util.Log; 

public class DBHelper extends SQLiteOpenHelper { 

public static final String DB_NAME = "tasksdb8"; 
public static final String TABLE_NAME = "tasks"; 
public static final String TASKS_ID = "_id"; 
public static final String TASKS_TITLE = "title"; 

private static String CREATE_TABLE_SQL = "Create table " 
     + DBHelper.TABLE_NAME + " (" + DBHelper.TASKS_ID 
     + " INTEGER PRIMARY KEY AUTOINCREMENT, " + DBHelper.TASKS_TITLE 
     + " TEXT);"; 

public DBHelper(Context context) 
{ 
    super(context, DBHelper.DB_NAME, null, 1); 
} 

@Override 
public void onCreate(SQLiteDatabase database) { 
    database.execSQL(DBHelper.CREATE_TABLE_SQL); 
    Log.d("DBHelper", "Table Created: " + DBHelper.CREATE_TABLE_SQL); 
} 

@Override 
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) { 
    // TODO Auto-generated method stub 

} 

} 

이 내 POJO입니다 :

public class Tasks { 

private String tasksTitleString; 
private int id; 

public Tasks(String tasksTitleString, int id) { 
    super(); 
    this.tasksTitleString = tasksTitleString; 
    this.id = id; 
} 

public Tasks(String tasksTitleString) { 
    super(); 
    this.tasksTitleString = tasksTitleString; 
} 

public String getTasksTitleString() { 
    return tasksTitleString; 
} 

public int getId() { 
    return id; 
} 
public void setId(int id) { 
    this.id = id; 
} 

public String isTasksCompleted() { 
    return tasksCompleted; 
} 

public void setTasksCompleted(String tasksCompleted) { 
    this.tasksCompleted = tasksCompleted; 
} 

} 
+1

이 아래 표시된 이유를 말해 주실 수 있습니까? –

+0

잘 모르겠습니다. 나는 그것을 표시하지 않았다. – Preeyah

+0

POJO가 무엇인지 알 수 있습니까? 나는 그것에 대해 들어 본 적이 없으며 전에 사용했습니다. – Preeyah

관련 문제