我试图制作简单的android应用程序,用户输入自己的信息,然后将其保存在数据库中,并使用listview显示用户信息。我有三个java文件: DBHelper.java、MainActivity.java和userInfo.java。
(MainActivity.java)是用户输入姓名和电子邮件的地方。
(DBHelper.java)是创建数据库以保存用户信息的地方。
(userInfo.java)是可以显示用户信息的地方。
在我的应用程序中,我使用textview成功地显示了数据库中的数据,我的问题是如何使用listview显示来自数据库的数据。
更新:这是来自getData文件的DBHelper.java ()方法:
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);发布于 2014-11-06 07:15:50
如何使用listview显示数据库中的数据。
由于您没有提供任何关于listview及其适配器的代码,我想您不知道从哪里开始。
您应该使用自定义适配器或基本适配器(来自android)创建一个listview。然后,将数据库中的数据添加到listview的适配器中,并使用notifyDataSetChanged()确保在listview上刷新数据。
简单教程:discription&aid=65&aaid=90
深度(推荐的)教程:http://www.vogella.com/tutorials/AndroidListView/article.html
https://stackoverflow.com/questions/26773652
复制相似问题