我正在尝试制作简单的Android应用程序,用户输入其信息,然后将其保存在数据库中并使用listview显示用户信息。我有三个java文件:DBHelper.java,MainActivity.java和userInfo.java。
(MainActivity.java)是用户输入其姓名和电子邮件的地方。
(DBHelper.java)是创建数据库以保存用户信息的地方。
(userInfo.java)是可以显示用户信息的地方。
在我的应用程序中,我使用textview成功显示了数据库中的数据,我的问题是如何使用listview显示数据库中的数据。
更新: 这是来自DBHelper.java文件的getData()方法:
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 Person {
private int ID;
private String NAME;
private String EMAIL;
public Person()
{
ID=0;
NAME="";
EMAIL="";
}
public Person(String qNAME, int qEMAIL) {
NAME = qNAME;
EMAIL= qEMAIL;
}
public int getID()
{
return ID;
}
public String getNAME() {
return NAME;
}
public int getEMAIL() {
return EMAIL;
}
public void setID(int id)
{
ID=id;
}
public void setNAME(String qNAME) {
NAME = qNAME;
}
public void setSCORE(int qEMAIL) {
EMAIL= qEMAIL;
}
}
这是我从数据库获取数据并在userInfo.java中将其设置在textview中的代码:
DbHelper userInfo = new DbHelper(this);
userInfo .open();
String data = userInfo .getData();
userInfo .close();
tv.setText(data);
答案 0 :(得分:0)
如何使用listview显示数据库中的数据。
由于您没有提供有关listview及其适配器的任何代码,我假设您不知道从哪里开始。
您应该使用自定义创建的适配器或基本适配器(来自android)创建listview
。之后,将数据库中的数据添加到listview的适配器,并使用notifyDataSetChanged
()确保数据在listview
上刷新。
深入(推荐)教程:http://www.vogella.com/tutorials/AndroidListView/article.html