上一篇学习了对数据库的操作,那么查询到数据最重要的是把数据显示给用户,实现这一个实验,
那就是先对数据进行查询,拿到数据,用db,query()方法,把数据封装到一个Person类中,,
personList = new ArrayList<>();
MyOpenHelper ch = new MyOpenHelper(this,"people.db",null,1);
//如果数据库不存在就先创建数据库,再获取可读可写的数据库对象,如果数据库存在,就直接打开
SQLiteDatabase db = ch.getWritableDatabase();
//如果存储空间满了,那么返回的是只读数据库
//SQLiteDatabase db = ch.getReadableDatabase();
Cursor cursor = db.query("person", null, null, null, null, null,null);
while(cursor.moveToNext()) {
String _id = cursor.getString(cursor.getColumnIndex("_id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
String salary = cursor.getString(cursor.getColumnIndex("salary"));
String phone = cursor.getString(cursor.getColumnIndex("phone"));
Person p = new Person(_id, name, salary, phone);
personList.add(p);
然后把数据显示至屏幕中:
LinearLayout ll = (LinearLayout) findViewById(R.id.ll);
for (Person p:personList){
//1,集合中每有一条元素,就new一个textView
TextView tv = new TextView(this);
//2,把人物的信息设置为文本框的内容
tv.setText(p.toString());
//3,把TextView设置成线性布局的子节点
ll.addView(tv);
}
这里是直接定义一个LinearLayout:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<LinearLayout
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
</LinearLayout>
</ScrollView>
定义一个Person类,这个类:
package domain;
/**
* Created by xm on 2016/4/23.
*/
public class Person {
private String _id;
private String name;
private String phone;
private String salary;
public String get_id() {
return _id;
}
public void set_id(String _id) {
this._id = _id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getSalary() {
return salary;
}
public void setSalary(String salary) {
this.salary = salary;
}
@Override
public String toString() {
return name+"," + phone+"," + salary;
}
//构造
public Person(String _id, String name, String phone, String salary) {
this._id = _id;
this.name = name;
this.phone = phone;
this.salary = salary;
}
}