我试图从我的SQLite数据库中提取几个字符串,我已经在我的应用程序上工作了。但是,当我尝试读取所有字符串时,我得到的是#34; [] []"。这是我的字符串返回方法
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;
}
任何人都可以建议为什么我得到的是&#34; [] []&#34; (当然还有返回字符串开头和结尾的两个字符串)?
答案 0 :(得分:1)
使用.toString()无法从ArrayLists
获取数据。如果您要获取每个列表的第一个数据,可以使用此:
dun = "Testsum " + s.get(0) + " " +t.get(0) + " Checksum";
或者如果你想要所有,请改用For
循环
答案 1 :(得分:0)
s
和t
是ArrayLists,显然是空的。括号表示法是toString()
方法表示此类对象的方式。我不确定您希望在字符串dun
中返回哪些信息,但是如果您想要显示每个列表中有多少项:
dun = "Testsum " + s.size() + " " + t.size() + " Checksum";