Содержание
- 2. Содержание SQLite3 Kомпонент SQL database engine Чего конкретно в поддержке SQL нет Что необычного? Тип столбца
- 3. SQLite3 Платформа Android имеет встроенный инструментарий для управления базой данных sqlite3. SQLite - это замечательный продукт,
- 4. Kомпонент SQL database engine . SQLite является наиболее часто используемым ядром базы данных в мире. Формат
- 5. Чего конкретно в поддержке SQL нет Нельзя удалить или изменить столбец в таблице (ALTER TABLE DROP
- 6. Что необычного? a) каждая запись содержит виртуальный столбец rowid, который равен 64-битному номеру (уникальному для таблицы).
- 7. Тип столбца Тип столбца определяет как сравнивать значения (нужно их привести к единому типу при сравнении,
- 8. Динамические типы данных SQLite поддерживает динамическое типизирование данных. Возможные типы значений: INTEGER, REAL, TEXT и BLOB.
- 9. А как с архитектурой? Сервера-нет? Сервера нет, само приложение является сервером. Доступ к БД происходит через
- 10. Как быть с ошибкой SQLITE_BUSY? Либо одно подключение и все запросы через него, либо исходить из
- 11. НЕТ ГЛОБАЛЬНОГО КЭША Действительно, все современные RDBMS немыслимы без глобального разделяемого кэша, который может хранить что-то
- 12. SQLite — тормозит? Две причины. Первая — настройки по умолчанию. Они работают на надежность, а не
- 13. Нужно вставить 100 тыс записей и быстро! Удалить индексы, включить режим синхронизации OFF (или NORMAL), вставлять
- 14. SQLite и Android С помощью SQLite вы можете создавать для своего приложения независимые реляционные базы данных.
- 15. Подписываем контракт (интеграция базы данных в приложение) При работе с базой данных принято создавать новый пакет
- 16. Зададим схему таблицы и константы для столбцов для удобства. Класс будет выглядеть так import android.provider.BaseColumns; public
- 17. BaseColumn В классе используется реализация интерфейса BaseColumn: public static final class GuestEntry implements implements BaseColumns {
- 18. Использование класса HotelContract После создания класса мы можем изменить код в EditorActivity в том месте, где
- 19. SQLiteOpenHelper Следующий шаг - создание класса в пакете data, который наследуется от специального класса SQLiteOpenHelper и
- 20. Наследуемся от SQLiteOpenHelper. Щёлкаем правой кнопкой мыши на имени пакета в левой части студии и выбираем
- 21. Класс HotelDbHelper. import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class HotelDbHelper extends SQLiteOpenHelper { public static
- 22. Cозданиe базы данных /** * Вызывается при создании базы данных */ @Override public void onCreate(SQLiteDatabase db)
- 23. DATABASE_VERSION Третий параметр null в суперклассе используется для работы с курсорами. Сейчас их не используем, поэтому
- 24. Метод onCreate() Метод onCreate() - здесь создаётся сама база данных с необходимыми данными для работы. Метод
- 25. Ситуация с использованием onUpgrade() Новые пользователи, которые установят программу первый раз, радуются жизни - у них
- 26. Вариант onUpgrade() метод onUpgrade() вызывается при несовпадении версий. Часто в этом методе просто удаляют существующую таблицу
- 27. Работаем с записями базы данных Чтобы проверить работоспособность базы данных, в главной активности поместим вспомогательный метод
- 28. Работаем с записями базы данных TextView displayTextView = (TextView) findViewById(R.id.text_view_info); try { displayTextView.setText("Таблица содержит " +
- 29. Работаем с записями базы данных // Проходим через все ряды while (cursor.moveToNext()) { // Используем индекс
- 30. Запрос и код в классе SELECT * FROM guests WHERE _id = 1; В коде такое
- 31. Запрос и код в классе SELECT name FROM guests WHERE _id > 1 BY age DESC;
- 33. Скачать презентацию