2014-04-05 4 views
0

내 응용 프로그램에서 작업하는 SQLite 데이터베이스에서 두 개의 문자열을 가져 오려고합니다. 그러나 내가 읽는 문자열을 읽으려고하면 "[] []"입니다. 이것은 내 문자열 반환 방법이다SQLite 데이터베이스에서 읽을 때 대괄호 가져 오기

내가지고있어 모두가 "[] []"(반환 된 문자열의 시작과 끝에서 물론 두 문자열을) 왜
public String getData(){ 
    db = myDBHelper.getReadableDatabase(); 
    String[] rows = new String[]{KEY_NAME,KEY_TOPICS}; 
    Cursor c = db.query(DATABASE_TABLE, rows, null, null, null, null, null); 
    String dun = ""; 
    int iRow = c.getColumnIndex(KEY_ROWID); 
    int iSubject = c.getColumnIndex(KEY_NAME); 
    int iTopics = c.getColumnIndex(KEY_TOPICS); 

    ArrayList<String> s = new ArrayList<String>(); 
    ArrayList<String> t = new ArrayList<String>(); 


    for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){ 
     String sS = c.getString(iSubject); 
     String tS = c.getString(iTopics); 
     s.add(sS); 
     t.add(tS); 
    } 

    dun = "Testsum " + s.toString() + t.toString() + " Checksum"; 
    c.close(); 
    return dun; 
} 

사람이 제안시겠습니까?

답변

0

st은 분명히 비어있는 ArrayList입니다. 대괄호 표기법은 이러한 객체가 toString() 메소드로 어떻게 표현되는지를 나타냅니다. 나는 당신이 당신의 문자열 dun 반환하고자하는지 정보를 잘 모르겠지만, 각 목록에 얼마나 많은 항목을 표시 할 것인지 : 당신은로 .toString를 사용 ArrayLists 중 데이터를 얻을 수

dun = "Testsum " + s.size() + " " + t.size() + " Checksum"; 
+0

좋아 내가 컬럼에있는 문자열을 반환하고 싶다면 이렇게 " KEY_NAME "및"KEY_TOPICS "을 변경하려면 무엇이 필요합니까? –

+0

작동 방법은 다르지만 각 List를 단일 String으로 반환합니다. 단일 String을 사용하면 항목을 개별적으로 사용/처리해야하는 경우와 다를 수 있습니다. 예를 들어't.toString()'은'[Food, Entertainment, Health]'와 같은 것을 반환 할 수 있습니다. List를 반환 한 경우 사용하기가 더 쉽습니다. 목록은 비어 있지만 데이터베이스 또는 쿼리에 문제가있을 수 있습니다. –

1

(). 각 목록의 첫 번째 데이터를 가져 오기 위해 시도하는 경우에 당신은이를 사용할 수 있습니다
dun = "Testsum " + s.get(0) + " " +t.get(0) + " Checksum";

를하거나 모든를 원하는 경우, For 루프를 사용하는 대신

관련 문제