Тимур Машнин - Сборник тестов: 1500 вопросов и ответов на знание Android
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?