Android 시스템에서 SQLite 데이터 집합을 처리해야합니다.Android에서 SQLite 데이터 집합을 처리하는 방법
내 dataBaseHelper 파일 (DataBaseAccessor)에 다음과 같은 코드가 있습니다 (목록보기에 첨부 된 경우 관련 데이터가 표시됨).
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;
}
이제 데이터를 처리하고 반환 된 원래 목록을 기반으로 다른 테이블에 새 레코드를 만들 수 있도록 시스템을 확장해야합니다.
list.get(0) = [email protected]
list.get(1) = [email protected]
etc...
어떻게 얻을 수 액세스 -이 :
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();
}
토스트는 다음을 표시합니다 : -
은 내가 (스피너에서 관련 목록 ID를 선택) 버튼에 부착 된 다음 시도 대신에 실제 데이터에 ... .entity.QuestionListQuestion @ 407bc170 또는 완전히 오프 트랙입니까? 당신이 당신의QuestionListQuestion
클래스의
toString()
방법을 구현하지 않았기 때문에 당신이보고있는 출력은
많은 감사
나는 여기서 어디로 가야할지에 대한 아이디어를 얻은 http://www.javabeat.net/2007/08/overriding-the-tostring-method-in-object-class/을보고있다. 다른 제안이 있으면 감사드립니다. – user1459083
내가 이해한다면 목록에있는 개체에 대한 액세스 권한을 원합니다. 오브젝트에 액세스하여 오브젝트를 조작하려면 해당 오브젝트에 대한 참조가 필요합니다. 'ObjectInList itemFromList = list.get (indexNumber)'는'indexNumber'에있는 객체에 대한 참조를 제공합니다. 그런 다음'itemsFromList'를 사용하여 해당 객체의 메소드를 호출 할 수 있습니다. –
예, 목록 개체의 데이터에 액세스하려고합니다. QuestionListQuestionQuestionID, QuestionListQuestionSortOrder 및 QuestionListQuestionSupplementalQuestionIDYes를 가져와 다른 테이블에서 새 레코드를 작성해야합니다.GenerateQuestions.Java에서 단추를 실행하려면 코드가 필요하지만 DatabaseAccessor.Java에서 쿼리를 호출합니다. 내게는 그 일을하는 방법을 알 수 없습니다. – user1459083