我正在与另外两个人一起开展一个项目,你可能会猜到它有点需要与别人的代码合作。我们正在开发的应用程序从互联网获取信息,每个项目包括标题,链接,帖子和日期。此信息将读入游标,然后在单个字符串缓冲区中输出。如果要在模拟器窗口中整齐地显示信息,这显然是无用的。我希望有人可以帮助我理解如何使用信息使其易于使用(即一个TextView中的每个条目,以及列表视图中的所有条目)。
private void showEvents() {
SQLiteDatabase db = post.getWritableDatabase();
Cursor cursor= db.rawQuery("SELECT "+TITLE+", "+LINK+", "+POST+", "+DATE+" FROM "+TABLE_NAME+" "+"ORDER BY "+DATE+" DESC;",null);
startManagingCursor(cursor);
TextView tv = new TextView(this);
// Stuff them all into a big string
StringBuilder builder = new StringBuilder("");
while (cursor.moveToNext()) {
String title = cursor.getString(0);
String link = cursor.getString(1);
String post = cursor.getString(2);
String date= cursor.getString(3);
builder.append(title).append(": " );
builder.append(link).append(": " );
builder.append(post).append(": " );
builder.append(date).append("\n" );
}
// Display on the screen
tv.setText(builder);
this.setContentView(tv);
}
此代码基本上只输出所有内容,未显示在屏幕上。我一直试图想出如何进入while循环来捕获每个实体(标题,链接,帖子,日期之一)并从那里开始。
感谢任何建议。
答案 0 :(得分:0)
我建议你读一本书。一个将涵盖这些主题的是Manning Publications的“Android in Practice”。
有几个重要的必需元素,但关键概念是“适配器”,它将视图与数据连接起来。您最终会定义POJO来表示每条记录中的数据,并且您的自定义适配器会从该POJO映射到视图字段。
答案 1 :(得分:0)
每次进入这个while循环时,你正在读另一行(因为moveToNext())
while (cursor.moveToNext()) {
String title = cursor.getString(0);
String link = cursor.getString(1);
String post = cursor.getString(2);
String date= cursor.getString(3);
builder.append(title).append(": " );
builder.append(link).append(": " );
builder.append(post).append(": " );
builder.append(date).append("\n" );
}