如何在Android中处理SQLite数据集

如何在Android中处理SQLite数据集,android,sqlite,Android,Sqlite,我需要在Android系统中处理SQLite数据集 在我的dataBaseHelper文件(DataBaseAccessor)中,我有以下代码(当附加到listview时会显示相关数据) 我如何才能访问实际数据而不是。实体。QuestionListQuestion@407bc170还是我完全偏离了轨道 非常感谢您看到的输出是因为您尚未实现QuestionListQuestion类的toString()方法。除此之外,看起来你确实有你想要的数据。只需尝试输出对象的ID,而不是连接对象本身(将在引擎

我需要在Android系统中处理SQLite数据集

在我的dataBaseHelper文件(DataBaseAccessor)中,我有以下代码(当附加到listview时会显示相关数据)

我如何才能访问实际数据而不是。实体。QuestionListQuestion@407bc170还是我完全偏离了轨道


非常感谢

您看到的输出是因为您尚未实现
QuestionListQuestion
类的
toString()
方法。除此之外,看起来你确实有你想要的数据。只需尝试输出对象的ID,而不是连接对象本身(将在引擎盖下调用
toString()


另外,由于在单击按钮时看起来您正在执行数据库操作,因此请确保在UI线程之外执行数据库操作。请查看,以获取更高级别的概述。您可能希望使用
AsyncTask
执行相关数据库操作。

我同意@wsanville的说法,
get()
方法将返回列表中该位置的对象。当您打印出一个对象(在toast、log、System.out.println等中)时,它将使用打印输出中的
toString()
值。默认的
toString()
是包名,后跟@,后跟该对象的十六进制表示形式。您的类将需要重写
toString()
方法,因此当您使用
get()
时,它将打印出您在
toString()
方法中输入的任何内容。

感谢您的快速回答。你能告诉我应该在哪里添加toString()方法吗?我该如何输出对象的ID?你可以在
QuestionListQuestion
类中重写该方法,看起来您正在将ID存储在
QuestionListQuestionID
成员变量中。我本来打算在准备好处理详细信息后使用AsyncTask,但我仍在努力实现您的两个建议以显示数据。我正在查看这一点,这让我知道从这里可以走到哪里。任何其他建议,我都非常感激。如果我理解正确,您希望访问列表中的对象。如果希望访问对象以操纵它们,则需要对它们的引用
ObjectInList itemFromList=list.get(indexNumber)
将在
indexNumber
处提供对对象的引用。然后可以使用
itemsFromList
从该对象调用方法。是的,我确实希望访问列表对象中的数据。我需要检索QuestionListQuestionID、QuestionListQuestionSortOrder和QuestionListQuestionSupplementalQuestionId,然后使用它们在另一个表中创建新记录。我需要代码从GenerateQuestions.Java中的一个按钮运行,但我从DatabaseAccessor.Java调用查询,我一辈子都不知道该怎么做。我只是不断地获取哈希代码,而不是数据。我在网上找不到任何例子,所以这真的令人沮丧。如果有人能进一步帮助我,我会非常感激。大家好,因为我一直在挣扎,所以我决定重新思考。
public static ArrayList<QuestionListQuestion> getQuestionListQuestions(long id){
String qry = "select QuestionListQuestionID, QuestionListQuestionQuestionListID, QuestionListQuestionQuestionID, QuestionListQuestionSortOrder, QuestionListQuestionSupplementalQuestionIDYes, QuestionListQuestionSupplementalQuestionIDNo, QuestionListQuestionSupplementalQuestionIDText, QuestionListQuestionSurveyGroupID from QuestionListQuestion  where  QuestionListQuestionQuestionListID=" + id;
ArrayList<QuestionListQuestion> list = new ArrayList<QuestionListQuestion>();
try{
    Cursor cursor = wdb.rawQuery(qry, null);
while (cursor.moveToNext()) {
QuestionListQuestion questionlistquestion = new QuestionListQuestion();
    questionlistquestion.QuestionListQuestionID = cursor.getLong(0);
    questionlistquestion.QuestionListQuestionQuestionListID = cursor.getLong(1);
    questionlistquestion.QuestionListQuestionQuestionID = cursor.getLong(2);
    questionlistquestion.QuestionListQuestionSortOrder = cursor.getLong(3);
questionlistquestion.QuestionListQuestionSupplementalQuestionIDYes = cursor.getString(4);       questionlistquestion.QuestionListQuestionSupplementalQuestionIDNo = cursor.getString(5);
questionlistquestion.QuestionListQuestionSupplementalQuestionIDText = cursor.getString(6);
questionlistquestion.QuestionListQuestionSurveyGroupID = cursor.getLong(7);
list.add(questionlistquestion);
}
    cursor.close();
}
catch (Exception e) {
    e.printStackTrace();
}
return list;
}
QuestionListID = (String) SiteGenerateQuestions.this.spnQuestL.getSelectedItem().toString();
long SpinnerSelectedBT;
SpinnerSelectedBT = GenerateQuestions.this.spnQuestL.getSelectedItemId();
list = DatabaseAccessor.getQuestionListQuestions(SpinnerSelectedBT);
for (int i=0; i < list.size(); i++){
Toast.makeText(SiteGenerateQuestions.this," list.get(" + i + ")   = " + list.get(i) + " "  , Toast.LENGTH_SHORT).show();
}
list.get(0) =  com.tw.question.entity.QuestionListQuestion@407a6F70
list.get(1) =  com.tw.question.entity.QuestionListQuestion@407bc170
etc...