Полная версия
Сборник тестов: 1500 вопросов и ответов на знание Android
Если this не доступно, все еще можно получить контекст активности, указав ActivityName. this.
Все перечисленное.
Вопрос 13
Как реализовать binder сервис, если клиентские приложения в различных процессах?
Использовать Binder
Использовать aidl
Использовать Messenger
Все перечисленное
Вопрос 14
В чем разница между service и intentservice в Android?
intentservice по умолчанию создает один отдельный поток для обработки функциональности сервиса. Все запросы startservice для intentservice будут направляться в этот поток.
service по умолчанию работает в главном потоке. Все запросы startservice будут направляться в главный поток по умолчанию.
При реализации service, программист должен реализовать методы оnCreate (), onStartCommand () и оnDestroy ().
При реализации IntentService программист должен реализовать лишь onHandleIntent ().
После запуска IntentService, он будет автоматически закрыт, если нет отложенных запросов startservice.
Для service, нужно остановить сервис либо с помощью метода stopSelf () или stopService () метода.
Не обновляйте UI непосредственно из IntentService в методе onHandleIntent (), так как эта функция работает в отдельном потоке. (Не в главном потоке).
Все перечисленное.
Вопрос 15
Что из следующего не верно о binder service в Android?
Это клиент-серверная модель, где binder service действует в качестве сервера, который отвечает на запросы клиентов некоторыми данными.
bounded service также может быть started service.
Метод onBind () будет вызываться каждый раз, когда клиент связывается с binder service.
serviceconnectionobject должен быть передан bind service, чтобы контролировать установлена ли связь между клиентом и сервером.
Вопрос 16
Чтобы поделиться функциональностью от одного приложения к другому приложению, что использовать?
bindedservice
startedService
content provider
Все перечисленное.
Вопрос 17
Что из следующего является жизненным циклом started service?
oncreate> onstart ()> onBind ()> onUnbind ()> onDestroy ()
oncreate> onstart ()> onDestroy ()
oncreate> onstartCommand ()> onBind ()> onUnbind ()> onDestroy ()
oncreate> onstartCommand ()> onDestroy ()
Вопрос 18
Как обеспечить безопасность сервиса программно, таким образом, что ваша служба не будет срабатывать от внешних приложений?
Не помещайте никаких фильтров намерений в тег service или поместите exported=«false»; в тег service или LocalServiceManager.
Не помещайте никаких фильтров намерений в тег service или LocalServiceManager.
Не помещайте никаких фильтров намерений в тег service или поместите imported=«false»; в тег service или LocalServiceManager.
Поместите exported=«false»; в тег service или LocalServiceManager.
Вопрос 19
Чтобы сделать некоторую фоновую работу в активности, что лучше использовать поток или сервис?
Поток лучше, так как поток тесно связан с интерфейсом пользователя.
Лучше сервис с потоком, поскольку потоки в активности будут иметь меньший приоритет по сравнению с потоком в сервисе, в случае, если такая активность находится в фоновом режиме или остановленном состоянии. Более того, в случае нехватки памяти, если поток в активности убивается, нет никакого способа, которым Android может воссоздать его. Всех этих недостатков нет в сервисе.
Вы можете использовать поток или сервис, основываясь на ваших требованиях. Но в большинстве случаев лучше использовать сервис.
И поток и сервис являются фоновыми компонентами, так что вы можете использовать любой из них.
Вопрос 20
Можно ли запустить сервис из рабочего потока?
Можно запустить сервис из любой точки, но методы оnсreate, onstartcommand работают только в главном потоке.
Можно запустить сервис из любой точки, но после этого методы оnсreate, onstartcommand будут работать в рабочем потоке. так что вы должны убедиться, что вы не должны иметь доступ к пользовательскому интерфейсу из этих функций.
Нет, это незаконно, будет бросаться исключение времени выполнения и программа будет крушиться.
Это даст ошибку времени компиляции, если мы попытаемся сделать это.
Вопрос 21
Что произойдет, если вы попытаетесь обновить пользовательский интерфейс или попробовать напечатать тост-сообщение из onHandleIntent () функции класса IntentService?
Все будет прекрасно. Мы можем обновлять интерфейс из класса IntentService.
Вы не можете обновить интерфейс из него, тост сообщение не будет напечатано.
Поведение будет странным, или тост сообщение может не появиться или же оно появится и никогда не будет удалено. Это происходит потому, что другой поток имеет доступ к интерфейсу без информирования главного потока. При попытке обновить другие компоненты пользовательского интерфейса, будет крах.
Ничего из перечисленного.
Вопрос 22
Как переместить сервис на передний план?
Сервис всегда работает в фоновом режиме, так что не существует сервиса на переднем плане.
startForeground (int id, Notification notification);
startService (Intent intent)
Ничего из перечисленного.
Вопрос 23
Что нельзя сказать о binder service?
Могут быть ситуации, когда клиент и сервер будут в одном и том же процессе.
В случае, если клиент и сервер находятся в разных процессах, тогда мы всегда должны использовать aidl для его реализации.
В случае, если клиент и сервер находятся в разных процессах, сервис также может быть реализован с классом Messenger, если мы хотим написать однопоточное обслуживание.
Binder внутри использует Parcel.
Вопрос 24
Что нельзя сказать о Binder?
Binder является IPC драйвером, написанным на основе Linux IPC.
Binder использует Parcels вместо сериализации для маршализации данных в байтовых потоках.
Binder внутри использует концепцию общей памяти, чтобы IPC был быстрее.
Binder использует сериализацию вместо Parcels для маршализации данных в байтовых потоках.
Вопрос 25
Если я хочу создать binder service, который поддерживает многопоточную архитектуру, то что из следующего ниже я должен использовать?
Используйте только Binder класс.
Используйте класс Binder с Messenger.
Используйте. aidl и реализацию заглушки.
Все перечисленное.
Вопрос 26
Что из следующего верно о binder service?
Метод bindservice () это функция асинхронного вызова. Она возвращает только после установления связи между клиентом и сервером.
Метод onBind () будет вызываться каждый раз, когда клиент вызывает функцию bindservice.
Метод onServiceDisconnected () ServiceConnection объекта будет вызываться, когда клиент вызывает unbindeservice ().
Метод bindService () является функцией асинхронного вызова, которая сразу же возвращает. После возвращения, соединение будет установлено через некоторое время.
Вопрос 27
При реализации bounded service, где клиент и сервер находятся в одном процессе, какую функциональность я могу сделать во внутреннем классе Binder?
Класс, расширяющий Binder, может содержать публичные методы, которые могут быть доступны клиенту.
Класс, расширяющий Binder, может вернуть объект внешнего класса сервиса, чья функциональность может быть доступна клиенту.
Класс, расширяющий Binder, может вернуть объект любого другого класса сервиса, чья функциональность может быть доступна клиенту.
Все перечисленное.
Вопрос 28
Какие функции класса Binder в Android?
Binder отвечает за выполнение маршализации и демаршализации данных, которые должны быть переданы.
Binder выполняет управление потоками в случае aidl, где он будет создавать и направлять новый поток, когда новый входящий запрос приходит сервису.
Функциональность заглушки Binder класса должна быть реализована программистом, содержащая интерфейс функциональности клиента.
Все перечисленное.
Вопрос 29
Можно ли использовать extras в intent-filter?
Да.
Да, потому что проверяется соответствие extras намерения.
Нет, intent-filter тег не имеет extras тег вообще.
intent-filter имеет extras тег, но его не обязательно использовать.
Вопрос 30
В чем разница между меню и диалогом в Android?
Меню разрабатываются с использованием XML, они не изменяются так часто.
Диалоги создаются с помощью кода, поэтому они могут часто менять содержание.
Все перечисленное.
Вопрос 31
Сколько видов меню есть в Android?
SubMenu, OptionsMenu
SubMenu, DialogMenu, ContextMenu
SubMenu, OptionsMenu, ContextMenu
SubMenu, DialogMenu
Вопрос 32
В чем разница между getPreferences и getSharedPreferences в Android? Для защиты файла настроек от других активностей в Android приложении, какой из них использовать getpreferences () или getsharedpreferences ()?
getPreferences ()
getSharedPreferences ()
Используйте getPreferences (), но это не обеспечит гарантию защищенности, так как файл будет храниться с именем активности.
Использовать getSharedPreferences (), но это не обеспечит гарантию защищенности, так как файл будет храниться с именем активности.
Вопрос 33
Открыть приложение сообщений, начать писать сообщение, нажать кнопку домой. Теперь запустить новое приложение Gmail. Создаст ли это новую задачу или это будет частью старой задачи сообщений?
Начнется новая задача.
Это будет частью старой задачи.
Не создаст новую задачу, не запустит в старой задаче, будет работать в своем собственном процессе.
Не создаст новую задачу, не запустит в старой задаче, будет работать в предыдущем процессе.
Вопрос 34
В чем разница между намерением и фильтром намерений в Android?
Намерение является механизмом передачи сообщений между компонентами Android, за исключением контент-провайдера.
Фильтр указывает возможности этого компонента.
Все перечисленное.
Вопрос 35
В чем разница между локальными переменными, переменными экземпляра и переменными класса?
Локальные переменные объявляются в классе, переменные класса объявляются в функции, переменные экземпляра объявляются в своем классе и должны быть статическими.
Локальные переменные объявляются в функции, переменные класса объявляются в своем классе и должны быть не статическими, переменные экземпляра объявляются в своем классе и должны быть статическими.
Локальные переменные объявляются в функции, переменные класса объявляются в своем классе и должны быть статическими, переменные экземпляра объявляются в своем классе и должны быть не статическими.
Локальные переменные объявляются в классе и должны быть статическими, переменные класса объявляются в своем классе и должны быть не статическими, переменные экземпляра объявляются в функции.
Вопрос 36
Какое разрешение требуется, чтобы сделать звонок в Android, с помощью ACTION_CALL?
android. permission. CALL_PHONE
android. permission. DIAL_PHONE
Intent. permission. CALL_PHONE
intent. permission. DIAL_PHONE
Вопрос 37
Как намерение и фильтр намерений работают в Android? Какая последовательность у тестов, которые проводятся для сравнения намерения с фильтром намерений?
action test
category test
data test
Все перечисленное.
Все перечисленное в последовательности action test, data test, category test.
Вопрос 38
Как вызвать компонент, который не имеет никакого действия в фильтре намерений, извне этого приложения?
Нет, без каких-либо действий, никто не может вызвать или запустить этот компонент извне.
Вы можете вызвать этот компонент извне, используя явное намерение.
Вопрос 39
Можно ли иметь несколько категорий в фильтре намерений?
Нет, намерение позволяет только одну категорию
Да, но намерение должно иметь по крайней мере одно действие вместе с этими категориями.
Да, вы можете иметь n категорий в нем.
Да, но вы должны иметь n действий также наряду с категориями.
Вопрос 40
Как получить действие, которое вызвало/запустило компонент (активность)?
Использовать getIntent ().
Использовать getAction () из намерения.
Использовать getIntent (), а затем использовать getAction () из этого намерения.
Использовать getIntent (), а затем использовать getAction () из этого намерения. Иногда не нужно получать намерение специально.
Вопрос 41
Я хочу создать Android приложение, в котором вводится имя пользователя и пароль, подключается к Gmail и показывается статус входа пользователя. Как проектировать это приложение? Сколько компонентов там будет?
Нужен один сервис с одним рабочим потоком и одна активность.
Нужен один сервис и одна активность.
Нужен один сервис с несколькими потоками и одна активность.
Нужен один сервис с одним рабочим потоком, и только один диалог в сервисе.
Вопрос 42
Где статические переменные хранятся?
heap
data segment
hard disk
stack
Вопрос 43
Как создать пользовательский TextView в Android?
Да, это возможно TextView t = new TextView (this);
Нет, это не возможно.
Да, TextView t = findViewById (R. id. textView1);
Да, расширить класс TextView и создать свой собственный.
Вопрос 44
Что из следующего верно об общем файле предпочтений?
Расширение общего файла предпочтений. xml, и общие файлы предпочтений хранятся на SD-карте.
Расширение общего файла предпочтений. xml, и общие файлы предпочтений хранятся во внутренней памяти.
Структура папки файла предпочтений data/data/preferences.
Вопрос 45
Какое имя у файла настроек по умолчанию, который создается с помощью getPreferences?
Default. xml
Settings. 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? Какой из следующих циклов всегда правильный?
onCreate-> onStart () -> onResume () -> onPause () -> onStop () -> onDestroy ().
onCreate-> onStart () -> onRestoreInstanceState () -> onResume () ->
onSaveInstanceState () -> onPause () -> onStop () -> onDestroy ().
onCreate-> onStart () -> onResume () -> onStop () -> onPause -> onDestroy ().
onCreate-> onStart () -> onRestoreInstanceState () -> onResume () ->
onPause () -> onSaveInstanceState () -> onStop () -> onDestroy ().
Вопрос 14
В функции активности оnCreate, какова цель super. oncreate ()?
Это дает разрешение на использование экрана телефона.
Это вызывает конструктор суперкласса.
Это ничего не делает.
Это создаст графическое окно для подкласса.
Вопрос 15
Является ли обязательным реализация методов оnCreate () и оnStart () жизненного цикла активности? Будет ли активность работать, если эти методы жизненного цикла будут удалены?
Это даст ошибку времени компиляции.
Это даст исключение времени выполнения, supernotcalled.
Ничего не случится, активность будет работать нормально.
Ваш телефон зависнет.
Вопрос 16
Можно ли создать активность без UI?
Невозможно
Да, если она выполняет некоторые функции без пользовательского интерфейса.
Вопрос 17
Как запустить активность, чтобы получить результат?
startActivityOnResult ()
startActivityForResult ()
setResult ()
startActivity ()
Вопрос 18
Когда дисплей выключается, какая функция жизненного цикла вызывается в активности?
onPause ()
onStop ()
onSaveInstanceState ()
Вопрос 19
Когда новая активность занимает передний план вместо вашей активности, какая функция жизненного цикла запускается на выполнение в старой активности?
Вызывается оnPause ()
Вызывается оnPause () -> затем -> оnStop ()
Вызывается оnPause () -> затем -> оnStop () -> оnDestroy ()
Вызывается оnPause () -> затем -> onSaveInstanceState ()
Вопрос 20
Когда диалог отображается на переднем плане вашей активности, эта активность будет на переднем плане или в видимом состоянии?
Вызывается оnPause ()
Вызывается оnPause () -> затем -> оnStop () -> оnDestroy ()
Вызывается оnPause () -> затем -> оnStop ()
Вызывается onResume ()
Вопрос 21
При запуске активности с помощью startactivityforresult (), и дочерняя активность получает крушение. Какой код результата будет получен родителем?
RESULT_OK
RESULT_CANCELLED
RESULT_CRASH
RESULT_FINISH
Вопрос 22
Какие варианты хранения постоянных данных в Android?
Файлы, массивы, базы данных
Файлы, базы данных
Использование сетевых серверов
Вопрос 23
Когда возникает Android ANR (приложение не отвечает). Какое существует ограничение по времени отклика пользовательского интерфейса в Android, т. е. за сколько секунд главный поток должен реагировать на действия пользователя?
5 сек
10 сек
1 сек
2 сек
Вопрос 24
Какой из следующих фильтров намерения основной активности запускает главный экран вашего приложения?
Вопрос 25
Как создать пользовательский интерфейс без использования XML файла? Например, как создать кнопку без XML файла?