1
SQLite 데이터베이스에 ListView 데이터를 저장해야합니다. 목록에서 이름을 클릭하면 데이터베이스에 저장해야합니다. 어떻게해야합니까? DBAdapter 클래스를 생성해야합니까? 도와주세요.에뮬레이터의 데이터를 sqlite 데이터베이스에 저장하는 방법은 무엇입니까?
SQLite 데이터베이스에 ListView 데이터를 저장해야합니다. 목록에서 이름을 클릭하면 데이터베이스에 저장해야합니다. 어떻게해야합니까? DBAdapter 클래스를 생성해야합니까? 도와주세요.에뮬레이터의 데이터를 sqlite 데이터베이스에 저장하는 방법은 무엇입니까?
다음은 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;
}
}
이 아래 표시된 이유를 말해 주실 수 있습니까? –
잘 모르겠습니다. 나는 그것을 표시하지 않았다. – Preeyah
POJO가 무엇인지 알 수 있습니까? 나는 그것에 대해 들어 본 적이 없으며 전에 사용했습니다. – Preeyah