我发现本教程http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/,作者使用此代码从数据库中检索信息:
Contact getContact(int id) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID,
KEY_NAME, KEY_PH_NO }, KEY_ID + "=?",
new String[] { String.valueOf(id) }, null, null, null, null);
if (cursor != null)
cursor.moveToFirst();
Contact contact = new Contact(Integer.parseInt(cursor.getString(0)),
cursor.getString(1), cursor.getString(2));
// return contact
return contact;
}
有人可以解释一下这段代码是什么意思:
Contact contact = new Contact(Integer.parseInt(cursor.getString(0)),
cursor.getString(1), cursor.getString(2));
答案 0 :(得分:1)
通过传递ID,姓名和电话号码来创建联系人对象。 此方法通过匹配作为参数传递的id来从数据库中获取该特定联系行。
答案 1 :(得分:1)
联系人是一个 POJO 类,有三个属性
int _id;
String _name;
String _phone_number;
该行只是实例化Contact
类,其构造函数有三个参数用于初始化它的字段。
最后cursor.getString(0)
表示从cursor
对象中检索所请求列的值为String
。参数0
是一个表示列索引的整数。
答案 2 :(得分:1)
Contact是作者创建的模型类。我猜测联系人模型有3个字段。一个int表示名称和电话号码的id和字符串。
代码行只是创建一个模型类的新对象,其中按顺序从数据库中获取详细信息。 Contact类如下
public class Contact{
int id;
String phoneNumber,name;
void Contact(id,phoneNumber,name){
this.id=id;
this.phoneNumber=phoneNumber;
this.name=name;
}
}