2012-07-22 5 views
1

내 sqlite 데이터베이스에서 모든 행을 쿼리 한 다음 내 app에 표시 할 listview에 전달하고 싶습니다. 내가 삽입 한 후 세 학생들이 내가 그들을 읽고 어떻게 내 데이터베이스에 객체, 지금listview 표시를 위해 sqlite 데이터베이스에서 가져온 객체를 저장하는 방법은 무엇입니까?

StudentDAO.java: 

public void add(Student student) 
    { 
     db = helper.getWritableDatabase(); 
     db.execSQL("insert into t_student (sid, name, age) values (?,?,?)", new Object[] 
       { student.getId(), student.getName(), student.getAge()} 
       ); 
    } 

public Student findAll() 
    { 
     db = helper.getWritableDatabase(); 
     Cursor cursor = db.rawQuery("select sid, name, age from t_student", (String[]) new Object() 
       ); 

     if(cursor.moveToNext()) 
      return new Student(cursor.getInt(cursor.getColumnIndex("sid")), cursor.getString(cursor.getColumnIndex("name")), cursor.getShort(cursor.getColumnIndex("age"))); 
     return null; 
    } 


MultiList.java: 

public class MultiList extends ListActivity { 

    ListView lv; 
    SimpleAdapter sd; 

    StudentDAO dao = new StudentDAO(MultiList.this); 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

Student Alex = new Student(); 
     chan.setId(1); 
     chan.setAge((short) 18); 
     chan.setName("Alex "); 
     dao.add(Alex); 

     Student Queena = new Student(); 
     chan2.setId(2); 
     chan2.setAge((short) 19); 
     chan2.setName("Queena"); 
     dao.add(Queena); 

     Student Tom = new Student(); 
     chan3.setId(3); 
     chan3.setAge((short) 20); 
     chan3.setName("Tom"); 
     dao.add(Tom); 

      dao.findAll();////how to store them??? 

당신이 볼 수 있듯이 : 여기

코드 (나는 student.java이 구현해야 할)입니다 그들을 저장? 내 findAll() 메서드는 학생 객체를 반환하기 때문에. 죄송합니다. 쉬운 질문 일 수 있습니다.

답변

0

두 가지 쉬운 옵션이 있습니다. 내보기에는 CursorAdapter를 사용하고 쿼리와 함께 커서를 전달하는 것이 가장 좋습니다.이 경우 listView는 표시된 요소 만로드하고 스크롤하는 동안 데이터베이스에서 dinamicaly로드.

또는 SimpleCursorAdapter를 사용하여 배열에 개체를 저장하고 쿼리를 실행할 수 있습니다.

+0

데이터베이스가 100 개 정도로 매우 작습니다. ArrayList를 사용하려고했습니다. studentArrayList = new ArrayList (); . 이해가 되니? –

+0

setListAdapter()를 사용하여 Adapter ... 설정을 사용하는 것을 잊지 마십시오. 및 CursorAdapter를 사용하는 경우 데이터베이스 쿼리로 직접 설정할 수 있습니다. –

관련 문제