2014-11-03 13 views
1

我想做一個簡單的android應用程序,它從數據庫中獲取用戶的信息,並且我想通過它們之間的線來分開這些信息。android從數據庫中分離出一張桌子的行

這樣的:

enter image description here

這裏是我的代碼:

public String getData() { 
     // TODO Auto-generated method stub 
     String[] columns = new String[] { KEY_ID2, KEY_NAME, KEY_EMAIL}; 
     Cursor c = ourDbase.query(TABLE_SCORE, columns, null, null, null, null, null + " DESC"); 
     String result =""; 

     int iRow = c.getColumnIndex(KEY_ID); 
     int iName = c.getColumnIndex(KEY_NAME); 
     int iEmail= c.getColumnIndex(KEY_EMAIL); 

     for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){ 
      result = result + c.getString(iEmail) + " " + c.getString(iName) + " -" + c.getString(iRow)+ "\n"; 
     } 

     return result; 
    } 
+0

哇你爲什麼要這樣做?是不是更容易把一切都放在一個abject返回一個該對象的列表? – TheRedFox 2014-11-03 13:27:35

回答

1

你的意思是你想要的東西,如:

1 Jason [email protected] Mark [email protected] Freya [email protected] 

你可以這樣做:

 for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){ 
       result = result + c.getString(iEmail) + " " + c.getString(iName) + " -" + c.getString(iRow)+ "\n"; 
       result+="-"; //add "-" for each person 
      } 

請告訴我,如果我錯過了解你的問題。

UPDATE

從你的例子看,你可能想使用personList。如果你想要這個,試試:

public List<Person> getData() { 
     // TODO Auto-generated method stub 
     String[] columns = new String[] { KEY_ID2, KEY_NAME, KEY_EMAIL}; 
     Cursor c = ourDbase.query(TABLE_SCORE, columns, null, null, null, null, null + " DESC"); 
     List<Person> people = new ArrayList<Person>(); 

     int iRow = c.getColumnIndex(KEY_ID); 
     int iName = c.getColumnIndex(KEY_NAME); 
     int iEmail= c.getColumnIndex(KEY_EMAIL); 

     for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){ 
      Person p = new Person(); 
      p.setEmail(c.getString(iEmail)); 
      //set other info, like id, name 
      people.add(person); 
     } 

     return people; 
    } 

person是一個新的public class私人id,name and email

UPDATE

public class Person { 
    private String name, id, email; 
    //create the name,id, email setter - getter or just make those variables public 
} 

這是應該是什麼類Person這樣的:

隨意問,如果你不理解或我想念你明白。

+0

insert'result + =「\ n」;'最後在循環中 – 2014-11-03 13:27:48

+0

@MD謝謝。但似乎線程啓動器想要別的東西...我會嘗試首先澄清 – 2014-11-03 13:35:12

+0

@Blaze Tama謝謝,我想要的就是每行之後的一行,就像圖像我現在會嘗試你的答案。 – user3891365 2014-11-03 13:58:36

相關問題