2016-03-24 7 views
-1

Я нашел этот учебник 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)); 

ответ

1

Контакт является POJO класс с тремя свойствами

int _id; 
String _name; 
String _phone_number; 

Эта линия не что иное, как инстанцировании Contact класс с его конструктор, имеющий три параметра для инициализации его полей.

И, наконец, cursor.getString(0) означает запрашиваемое значение запрашиваемой колонки как String от объекта. И параметр 0 является целым числом, которое представляет индекс столбца.

+0

Благодарим за ответ. Итак, '0' ссылается на' KEY_ID', я прав? –

+0

Да, вы абсолютны! (Y), который передается для установки свойства '_id' этого класса –

1

Создание контактный объект, передавая идентификатор, имя и номер телефона. Этот метод извлекает эту конкретную строку контактов из базы данных, сопоставляя идентификатор, переданный как аргумент.

1

Контакт - это модельный класс, созданный автором. Я предполагаю, что модель контакта имеет 3 поля. Один int обозначает id и строки для имени и номера телефона.

Строка кода просто создает новый объект класса модели с деталями, полученными из базы данных в этом порядке. Класс контакта ниже

public class Contact{ 

    int id; 
    String phoneNumber,name; 

    void Contact(id,phoneNumber,name){ 
    this.id=id; 
    this.phoneNumber=phoneNumber; 
    this.name=name; 
    } 
} 
Смежные вопросы