Сборник тестов: 1500 вопросов и ответов на знание Android - Машнин Тимур Сергеевич. Страница 18
in. setType («image/*»);
startActivityForResult (in, 1);
Он запускает приложение галерея, только если изображения есть в галерее.
Он запускает приложение галерея, даже если нет никаких изображений в галерее.
После выбора изображения в галерее, он вернет URI этого изображения вызывающей активности.
Вопрос 10
Какой приоритет пустого процесса в Android?
empty process (5)
background process priority (4)
foreground process (1)
service process priority (3)
Вопрос 11
Как получить доступ к общему файлу настроек одного приложения из другого приложения?
getPreferences (MODE_PRIVATE);
getPreferences (MODE_WORLD_READABLE);
getSharedPreferences («name», MODE_WORLD_READABLE);
Ничего из перечисленного.
Вопрос 12
Что разница между this context и getapplicationcontext?
Если объект или переменная, которую вы создаете, должна принадлежать к уровню приложения, использовать Application Context.
Если объект или переменная, которую вы создаете, должна принадлежать к уровню активности, использовать this указатель.
Если 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, который поддерживает многопоточную архитектуру, то что из следующего ниже я должен использовать?