使用数据库时,当我调用 getContact() 函数时,我得到了奇怪的结果。
功能如下:
public List<Contact> getContacts(){
List<Contact> contactList = new ArrayList<Contact>();
Cursor cursor = getReadableDatabase().rawQuery("SELECT contact FROM contactlist", new String[] {});
if(cursor.moveToFirst()){
do{
Contact contact = new Contact();
contact.setName(cursor.getString(0));
contactList.add(contact);
}while(cursor.moveToNext());
}
return contactList;
}
正如人们所看到的,我只是想从以下函数中获取联系人姓名。但我最终得到这样的东西:
0 NAME1 null
0 NAME2 null
0 NAME3 null
我的数据库中有以下列:
id
contact
phoneNumber
有人可以帮我解决这个问题,所以我只能取回 NAME。
我正在按如下方式创建数据库:
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
String CREATE_CONTACTS_TABLE = "CREATE TABLE contactList ( id INTEGER PRIMARY KEY, contact TEXT, phoneNumber TEXT)";
db.execSQL(CREATE_CONTACTS_TABLE);
}
联系类别:
public class Contact {
int _id;
String _name;
String _phoneNumber;
public Contact(){
}
public Contact(int id, String name, String _phoneNumber){
this._id = id;
this._name = name;
this._phoneNumber = _phoneNumber;
}
public Contact(String name, String _phoneNumber){
this._name = name;
this._phoneNumber = _phoneNumber;
}
public Contact(String name){
this._name = name;
}
public int getID(){
return this._id;
}
public void setID(int id){
this._id = id;
}
public String getName(){
return this._name;
}
public void setName(String name){
this._name = name;
}
public String getPhoneNumber(){
return this._phoneNumber;
}
public void setPhoneNumber(String phoneNumber){
this._phoneNumber = phoneNumber;
}
}