Конспект лекционных занятий



Pdf көрінісі
бет56/67
Дата26.09.2023
өлшемі2.41 Mb.
#478672
түріКонспект
1   ...   52   53   54   55   56   57   58   59   ...   67
kt 1

Query запросы. Такие запросы позволяют получать выборки из 
таблицы по различным критериям. Пример запроса: 

select * from Table_Name where (_id = smth); 

select Field_Name_1, Field_Name_2 from Table_Name 

Field_Name_1 = smth); 
Первый запрос выводит строку с _id равным smth, второй - выводит два 
элемента Field_Name_1 и Field_Name_2 строк, 
в 
которых Field_Name_1 равен smth. 
Вернемся к рассмотрению вопросов, связанных с использованием базы 
данных SQLite в приложениях под Android. Любая база данных, созданная в 
приложении доступна любому классу приложения, но недоступна из вне. 
Чтобы открыть доступ к базе данных другим приложениям необходимо 
использовать контент-провайдеры (Content Providers). 
Для создания и обновления базы данных в Android предусмотрен 
класс SQLiteOpenHelper. При разработке приложения, работающего с базами 
данных, необходимо создать класс-наследник отSQLiteOpenHelper, в котором 
обязательно реализовать методы: 
onCreate() - вызывается при первом создании базы данных
onUpgrade() - вызывается, когда необходимо обновить базу данных. 


86 
По желанию можно реализовать метод: 
onOpen() - вызывается при открытии базы данных. 
В этом же классе имеет смысл объявить строковые константы, в которых 
определить названия таблиц и столбцов. Полученный класс позаботится об 
открытии базы данных, если она существует, или о создании ее в противном 
случае, а так же об обновлении базы данных в случае необходимости. 
В Android предусмотрен класс для работы с базой данных SQLite 
напрямую, этот класс называется SQLiteDatabase и содержит методы: 
openDatabase() - позволяет открыть базу данных; 
update() 
- позволяет обновить строки таблицы базы данных; 
insert() 
- позволяет добавлять строки в таблицу базы данных; 
delete() 
- позволяет удалять строки из таблицы базы данных; 
query() 
- позволяет составлять запросы к базе данных; 
execSQL() 
- позволяет выполнять запросы к базе данных. 
Для добавления новых строк в таблицу используется класс ContentValues, 
каждый объект этого класса представляет собой одну строку таблицы и 
выглядит как ассоциативный массив с именами столбцов и значениями, 
которые им соответствуют. 
Для получения результатов запросов к базе данных используется 
класс Cursor, объекты этого класса ссылаются на результирующий набор 
данных, позволяют управлять текущей позицией в возвращаемом при запросе 
наборе данных. 
Для предоставления доступа к данным для других приложений можно 
использовать контент-провайдеры (ContentProvider). Любая информация, 
управляемая контент-провайдером адресуется посредством URI: 
content://authority/path/id 
где: 
content:// - стандартный требуемый префикс; 
authority - 
имя 
провайдера, 
рекомендуется 
использовать 
полное 
квалификационное имя пакета для избежания конфликта имен
path 
- виртуальная папка внутри провайдера, которая определяет вид 
запрашиваемых данных; 
id 
- первичный ключ отдельной запрошенной записи, для запроса всех 
записей определенного типа этот параметр не указывается. 
Контент-провайдеры поддерживают стандартный синтаксис запросов для 
чтения, изменения, вставки и удаления данных. 
Подробнее работу с SQLite базами данных в приложениях под Android 
рассмотрим в первой части лабораторной работы в этой теме. 


Достарыңызбен бөлісу:
1   ...   52   53   54   55   56   57   58   59   ...   67




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет