Сборник тестов: 1500 вопросов и ответов на знание Android - Машнин Тимур Сергеевич. Страница 20

Расширение общего файла предпочтений. xml, и общие файлы предпочтений хранятся во внутренней памяти.

Структура папки файла предпочтений data/data/preferences.

Вопрос 45

Какое имя у файла настроек по умолчанию, который создается с помощью getPreferences?

Default. xml

Settings. xml

<Activityname>.xml

Preferences. xml

Вопрос 46

Для запроса контент-провайдера, что лучше использовать, getWritabledatabase или getReadabledatabase?

Использовать getReadableDatabase

Предпочтительно использовать getWritableDatabase

Использовать оба.

Вопрос 47

Когда функция оnCreate () ContentProvider будет вызываться?

Первый раз, когда какой-нибудь клиент вызовет контент-провайдера.

Первый раз, когда приложение, содержащее контент-провайдера, загрузится в память.

После загрузки устройства, Android вызовет оnCreate () всех контент-провайдеров в телефоне.

оnCreate () будет вызываться каждый раз, когда клиент вызывает какие-либо функции DML контент-провайдера.

Вопрос 48

Если вы хотите обмениваться данными с другими приложениями, что вы должны использовать?

Content Provider

Internal Storage

SQLite Database

Shared Preferences

Вопрос 49

Что выполняет cursor. moveToNext ()?

Перемещает курсор, чтобы указать на следующую строку, если она доступна, иначе возвращает ложь.

Перемещает курсор, чтобы указать на следующую строку, если она доступна, иначе происходит крушение.

Перемещает курсор, чтобы указать на следующую колонку, если она доступна, иначе возвращает ложь.

Перемещает курсор, чтобы указать на следующую колонку, если она доступна, иначе происходит крушение.

Вопрос 50

После выборки курсора из запроса к базе данных, что произойдет, если использовать сразу cursor. moveToNext ()?

Да, это можно.

Во-первых, мы должны проверить валидность курсора, сравнивая его с нулем.

Нет, мы должны сначала передать курсор cursorfactory, а затем только мы можем перейти к следующей строке.

Ничего из перечисленного.

Тест 10

Вопрос 1

Что произойдет, если база данных не закрыта после ее использования?

Система автоматически закроет базу, так как Java имеет сборщик мусора.

Ничего не случится.

Будет утечка памяти. После того, как вы закончите работать с базой данных, вам нужно ее закрыть, потому что она будет храниться в кэше в памяти и потреблять память.

Если база данных не закрывается должным образом, тогда какие-либо данные, которые были вставлены, и изменения, сделанные в этой сессии, будут потеряны.

Вопрос 2

Можно ли вызвать метод getWritableDataBase () из метода оnCreate () ContentProvider?

Да, мы можем вызвать.

Да, мы можем вызвать, но перед вызовом мы должны убедиться, что этот метод вызывается в другом потоке.

getWritableDataBase () будет вызван автоматически системой, мы не должны вызывать его в явном виде.

Вызов getWritableDatabase () может занимать много времени, создавая и обновляя таблицы, так что вызов этого метода лучше отложить, потому что, если мы поставим вызов здесь, тогда время загрузки приложения будет увеличено и это может раздражать пользователя.

Вопрос 3

Какие обязательные функции, которые нужно реализовать для ContentProvider?

onCreate, insert, update, delete, query, getType.

onCreate () и getType.

Только insert, update, delete, query.

Ничего из перечисленного.

Вопрос 4

Что такое android: authorities в контент-провайдере?

Это не имеет никакого значения. Но мы должны убедиться, что каждый контент-провайдер должен иметь по крайней мере одну authority.

Для регистрации каждого контент-провайдера в Android, он должен использовать authorities, кроме этого это не имеет никакого значения.

Это главный ключ или намек для Android, с которым запрос должен быть перенаправлен на контент-провайдера. Когда клиент передает URI, он будет иметь authorities в нем, которые должны соответствовать authorities контент-провайдера.

Ничего из перечисленного.

Вопрос 5

Что такое ContentProvider и ContentResolver? Какие из следующих утверждений верны о них?

ContentProvider и ContentResolver обрабатывают механизм IPC, когда запрос приходит от внешних приложений для доступа к данным.

ContentProvider имеет возможность обрабатывать несколько потоков, когда запросы поступают от нескольких ContentResolver.

sharedpreferences поддерживаются с ContentProvider.

Вопрос 6

Что такое UriMatcher в ContentProvider?

Он используется для преобразования логики от URI к таблицам.

Его можно сравнить с DNS, который преобразует URL-адреса в IP-адреса.

Он используется для хранения таблиц в базе данных.

Вопрос 7

При реализации контент-провайдера, как предоставить URI таблицы?

Создать отдельный файл интерфейса, который доступен для внешнего мира и поместить табличные URI в этот файл.

Наряду с URI, мы должны упомянуть имена столбцов всех таблиц, которые мы предоставляем с URI.

Мы должны документировать в файле интерфейса тип данных каждого столбца.

Все перечисленное.

Вопрос 8

В чем разница между ContentProvider и базой данных SQLite?

Используйте ContentProvider, если вы хотите поделиться базой данных, созданной одной активностью для другой активности одного и того же приложения.

Используйте базу данных, если мы хотим сохранить базу данных приватной для приложения, а также для хранения структурированных данных.

Используйте ContentProvider, если вы хотите поделиться данными, созданными одним приложением для других приложений.

Все перечисленное.

Вопрос 9

Какие опции поддерживаются для использования с ContentProvider:

sharedpreferences

Файлы

Базы данных

Вопрос 10

Где контекст доступен в Content Provider?

Он доступен в конструкторе Content Provider.

Он будет доступен только в оnCreate () Content Provider.

Content Provider не имеют контекстов.

Вопрос 11

Как получить доступ к контексту в контент-провайдере?

Использовать getContext () в оnCreate ()

Использовать getApplicationContext () в любом месте.

Контекст контент-провайдера не будет иметь ни свой собственный контекст, ни контекст приложения, он должен зависеть от других контекстов.

Вопрос 12

Android получает контактные данные в приложении:

Что следующий код делает?

Cursor c1 = this. getContentResolver (). query (

ContactsContract. Contacts. CONTENT_URI, null, null, null, null);

if (c1!= null && c1.getCount ()> 0)

{

c1.moveToNext ();

String n = c1.getString (c1.getColumnIndex (Contacts. DISPLAY_NAME));

}

Варианты:

Код получает все строки таблицы контактов и получает все имена.

Код получает все строки таблицы контактов и получает все имена из первой строки.

Код получает все строки таблицы контактов и получает все имена из последней строки.

Код получает все строки таблицы контактов и получает контактные номера из первой строки.

Вопрос 13

Объясните жизненный цикл активности в Android? Какой из следующих циклов всегда правильный?