Текст книги "Сборник тестов: 1500 вопросов и ответов на знание Android"
Автор книги: Тимур Машнин
сообщить о нарушении
Текущая страница: 4 (всего у книги 25 страниц) [доступный отрывок для чтения: 10 страниц]
Нет необходимости использовать библиотеку карт, она не является частью Android фреймворка.
Вопрос 44
Как результат будет отправлен с веб-сервера на мобильное устройство, для HTTPRequest, отправленного от Android приложения к веб-серверу?
Результат будет отправлен в виде HTTPEntity, который встроен в тело HttpResponse.
HTTPEntity будет содержать кодированные данные, которые приходят от сервера к клиенту.
Результат будет отправлен в виде HttpResponse, который встроен в тело HTTPEntity.
Вопрос 45
Какой метод использует динамическое обновление контента без обновления всей страницы?
AJAX
Только HTML
Вопрос 46
Сколько JSONObjects и JSONArrays есть в файле.
сontacts это JSONArray или JSONObject?
{
«contacts»: [
{
«id»: «p001»,
«name»: «Satish»,
«email»: "[email protected]»,
«address»: «Bangalore»,
«gender»: «male»,
«phone»: {
«mobile»: "+91 9740000000»,
«home»: «080 4164536x»,
«office»: «080 4144232x»
}
}
]
}
Варианты:
2 json objects, 1 json array. contacts это json array
3 json objects, 1 json array. contacts это json object.
3 json objects, 1 json array. contacts это json array.
2 json objects, 1 json array. contacts это json object.
Вопрос 47
Какой код извлекает мобильный номер «Satish»?
{
«contacts»: [
{
«id»: «p001»,
«name»: «Satish»,
«email»: "[email protected]»,
«address»: «Bangalore»,
«gender»: «male»,
«phone»: {
«mobile»: "+91 9740000000»,
«home»: «080 4164536x»,
«office»: «080 4144232x»
}
}
]
}
JSONObject root = new JSONObject (str);
JSONArray arr = root. getJSONArray («contacts»);
String ph = arr. getJSONObject (0). getString («mobile»);
JSONArray root = new JSONArray (str);
String ph = arr. getJSONObject (0). getJSONObject («phone»). getString («mobile»);
JSONObject root = new JSONObject (str);
JSONArray arr = root. getJSONArray («contacts»);
String ph = arr. getJSONObject (0). getJSONObject («phone»). getString («mobile»);
JSONObject root = new JSONObject (str);
JSONObject obj= root. JSONObject («contacts»);
String ph = obj. getJSONObject («phone»). getString («mobile»);
Вопрос 48
Как извлечь username?
{
«id»: «676248615»,
«name»: «Satish Reddy»,
«first_name»: «Satish»,
«last_name»: «Reddy»,
«link»: "http://www.facebook.com/satish.ice",
«username»: «satish. ice»,
«locale»: «en_US»
}
JSONObject root = getJSONObject (str);
String name = root. getString («username»);
JSONObject root = new JSONObject (str);
String name = root. getString («username»);
Так нет имени этого объекта JSON, не возможно получить данные из этого рода JSON строк. Они называются анонимными объектами JSON, которые не имеют названия. Это используется в целях безопасности.
Вопрос 49
Как получить текущее местоположение в Android?
Используйте либо GPS провайдер местонахождения или сетевой провайдер местоположения для извлечения текущего местоположения устройства, с точки зрения широты и долготы.
Используйте LocationManager класс и класс LocationListener для получения местоположения. Используйте requestLocationUpdates для регистрации locationlistener с locationmanager объектом.
Если местоположение изменилось, менеджер расположения автоматически вызовет onLocationChanged () метод locationlistner.
Используйте ACCESS_FINE_LOCATION и ACCESS_COARSE_LOCATION разрешения в файле манифеста.
Все перечисленное.
Вопрос 50
Как создать объект SensorManager для доступа и просмотра списка датчиков в телефоне?
Sensor s = new Sensor ();
SensorManager s = new SensorManager (this);
SensorManager s = (SensorManager) getSystemService (Context. SENSOR_SERVICE);
Sensor s = (Sensor) getSystemService (Context. SENSOR_SERVICE);
Тест 8
Вопрос 1
Что следующий код выполняет?
sm = (SensorManager) getSystemService (Context. SENSOR_SERVICE);
List
Создает объект менеджера датчика, и получает все датчики, имеющиеся в телефоне, для всех типов датчиков.
Создает объект менеджера датчика, и получает все датчики, имеющиеся в телефоне, типа акселерометра.
Создает объект менеджера датчика, и получает все виды датчиков, поддерживаемых Android.
Все перечисленное.
Вопрос 2
Как извлечь Х, Y, Z значения координат акселерометра в указанной ниже функции.
Примечание: предполагается, что это функция Sensoreventlistener.
Примечание: предполагается, что она зарегистрирована для прослушивания акселерометра.
public void onSensorChanged (SensorEvent event) {
}
Вызвать event. x, event. y, event. z, чтобы получить значения.
event [0] – содержит значение х, event [1] – содержит значение у, event [2] – содержит значение z.
event. values [0] – содержит значение х, event. values [1] – содержит значение у, event. values [2] – содержит значение z.
Ничего из перечисленного.
Вопрос 3
Какой датчик используется для поиска гравитационной силы на каждой из осей (X, Y, Z)?
Accelerometer
GyroScope
Proximity sensor
Другое
Вопрос 4
Какой сенсор используется для определения как близко расположен объект до телефона?
Accelerometer
GyroScope
Proximity sensor
Magnetometer
Вопрос 5
Что из перечисленного является сенсором движения?
Humidity sensor
GyroScope
Proximity sensor
Magnetometer
Вопрос 6
Что из перечисленного является позиционным датчиком?
Accelerometer
GyroScope
Proximity sensor
Magnetometer
Вопрос 7
Что произойдет, если датчик не будет отсоединен, после его использования в течение некоторого времени?
Android выключит автоматически датчик и остановит его.
Ничего не случится, но датчик будет продолжать работать в фоновом режиме. При этом побочных эффектов не возникает.
Датчик будет продолжать работать в фоновом режиме и потреблять много энергии аккумулятора.
Программа рухнет.
Вопрос 8
Как получить местоположение телефона? Что лучше сетевой поставщик или поставщик GPS?
Вы можете использовать спутник для получения своего местоположения.
Вы можете использовать информацию от мобильной вышке или WiFi информацию, чтобы узнать местоположение телефона.
Использование спутника быстрее и точнее, чем использование сетевого поставщика. он также потребляет меньше энергии аккумулятора.
Использование сетевого поставщика быстрее, чем использование GPS, но, это не даст вам точное местоположение по сравнению с GPS, хотя потребляет меньше энергии аккумулятора.
Вопрос 9
Как получить местоположение телефона, когда заряд батареи заканчивается? Какую функцию предпочтительно использовать для извлечения текущего местоположения?
Используйте Network Provider и отключите WiFi.
Используйте Network Provider и включите WiFi.
Используйте поставщика GPS.
Либо использовать Network Provider с отключенным WiFi или использовать lastKnownLocation.
Вопрос 10
Как узнать отключен ли GPS в телефоне?
Если GPS отключен, метод onProviderDisabled () будет вызван с именем провайдера.
Если GPS отключен, метод onStatusChanged () будет вызван с именем провайдера.
Нет способа, чтобы узнать это.
Вопрос 11
Я путешествую через лес и спутниковый GPS недоступен, когда я выхожу из леса, где спутниковый сигнал доступен, я хочу выполнить какую-либо операцию. как я должен написать эту логику?
После того, как спутник доступен, метод onProviderEnabled () будет вызван. Потому нужно написать логику в этой функции.
Метод onStatusChanged () со статусом AVAILABLE будет вызван, поэтому нужно написать код на основе этого статуса.
Метод onStatusChanged () со статусом TEMPORARILY_UNAVAILABLE будет вызван, поэтому нужно написать код на основе этого статуса.
После того, как спутник доступен, сила сигнала вашего телефона будет увеличиваться. использовать системные свойства, чтобы проверить, когда ваш сигнал будет увеличиваться и в это время выполнить эту логику.
Вопрос 12
Какие разрешения необходимы для доступа к местоположению телефона, используя NETWORK_PROVIDER?
ACCESS_FINE_LOCATION
ACCESS_COARSE_LOCATION
Не нужно никаких разрешений.
Вопрос 13
В какой библиотеке класс GeoCoder расположен?
android. location
android. hardware
сom. google. android. maps
Ничего из перечисленного
Вопрос 14
Когда нет сигнала сети и спутникового сигнала, как получить последнее местоположение телефона, где сигнал был доступен?
Невозможно выяснить это местоположение.
Вы можете отправить SMS, чтобы найти последнее местоположение.
String locationProvider = LocationManager.NETWORK_PROVIDER;
Location lastKnownLocation = locationManager. getLastKnownLocation (locationProvider);
String locationProvider = LocationManager. GPS_PROVIDER
Location lastKnownLocation = locationManager. getLastKnownLocation (locationProvider);
Вопрос 15
Какой пакет у класса Sensor?
android. kernel
android. hardware
android. sensor
аndroid. framework. sensor
Вопрос 16
Как получить местоположение телефона, не используя GPS, Интернет, WiFi и вышки сотовой связи?
Нет другого способа.
Можно отправить СМС кому-нибудь, чтобы получить расположение.
Получать местоположение с помощью GPS.
Используйте lastKnownLocatoin от менеджера местонахождения.
Вопрос 17
Какие размеры экрана поддерживаются Android?
small
normal
large
extra large
Все перечисленное.
Вопрос 18
Какой компонент не запускается намерением?
Activity
Content Provider
Services
Broadcast Receiver
Вопрос 19
Как вы присваиваете номера версий для приложения, которое предназначено для мобильных телефонов и для планшетов? Будете ли вы присваивать ту же версию или другую версию для планшетов?
Ту же версию
Меньше на единицу
Больше на единицу
Вопрос 20
Какая файловая структура Android приложения?
src, gen, bin, res, values
src, images, screens, designs
code, icons, libs, admin
Ничего из перечисленного
Вопрос 21
Как вы решаете проблемы совместимости?
Используйте dp (density independent pixels) вместо пикселей для ширины и высоты представления.
Создавайте изображения различного разрешения с одним именем для drawable– mdpi, hdpi, xhdpi, xxhdpi.
Используйте nine-patch изображения для лучшего масштабирования.
Избегайте жестко закодированные значения ширины и высоты, и всегда давайте ширину и высоту по отношению к родителю.
Используйте фрагменты, если вы ориентируете приложение как для мобильных телефонов, так и для и планшетов.
Все перечисленное.
Вопрос 22
В чем разница между DVM и JVM? Почему Android выбрал DVM?
DVM быстрее, чем JVM, и DVM находится под свободной лицензией.
Oracle не позволяют Google использовать JVM. Поэтому Google начал использовать DVM для Android.
JVM не была свободна, поэтому Android выбрал DVM.
JVM не предназначена для Java программ. Android использует Java, потому он не может использовать JVM. Потому Android выбрал DVM.
Вопрос 23
Чем важны атрибуты versionCode и versionName в файле манифеста?
Они определяют для активности номер и имя версии
Они просто определяют для приложения номер и имя версии.
Они определяют для приложения номер и имя версии. Это нужно для обновления приложения в google play store.
Ничего из перечисленного.
Вопрос 24
Как много файлов манифеста может быть в Android приложении?
Максимум один
Может быть несколько
Вопрос 25
Можно ли создать активность без setContentView (R. layout. main) XML-файла?
Да
Нет
Вопрос 26
Что из следующего вызывает изменения конфигурации в Android?
Переворот телефон
Включение клавиатуры
Изменение настроек языка
Все перечисленное
Вопрос 27
В чем разница между явным намерением и неявным намерением?
Неявное намерение это намерение без названия целевого компонента. Явное намерение это намерение с именем целевого компонента.
Неявное намерение это намерение с именем целевого компонента. Явное намерение это намерение без названия целевого компонента.
Используйте неявное намерение, если вы хотите начать одну активность из другой активности в одном приложении.
Вопрос 28
Сколько компонентов есть в намерениях?
action
data, data type
сategory, extras
Все перечисленное
Вопрос 29
Можно ли указать больше, чем одно действие в намерении?
Нет. Намерение должно иметь только одно действие
Да. Намерение может иметь более одного действия
Нет. Намерение может иметь 0 или максимально одно действие.
Вопрос 30
Можно ли указать больше, чем одну категорию в данном намерении?
Нет. Только одна категория допускается
Да. Вы можете указать 0 или n число категорий в намерении
Да. Но вы должны убедиться, что намерение будет иметь по крайней мере одну категорию.
Вопрос 31
В чем отличие метода putExtra () от метода setData ()?
Оба putExtra () и setData () используются для одной цели, для передачи данных другим компонентам.
setData () – это передать данные, для которых принять действие. putExtra () – это отправить дополнительную информацию об этом намерении.
setData () – это отправить дополнительную информацию об этом намерении. putExtra () – это передать данные, для которых принять действие.
Логически оба одинаковы, поэтому можно опустить setData () и передать все данные через putExtra () только.
Вопрос 32
Если я пошлю Broadcast неявное намерение и не окажется соответствующего фильтра намерения, тогда что произойдет?
Ошибка во время компиляции.
Исключение времени выполнения BroadcastReceiverNotFoundException и крушение, если она не обрабатывается должным образом.
Ничего не произойдет, как-нибудь целевой компонент запустится.
Ничего не случится, но это не запустит какой-либо приемник.
Вопрос 33
Что произойдет, если не будет никакого действия в неявном намерении, будет ли вызван какой-нибудь компонент?
Намерение пройдет тест действия, если фильтр намерений имеет по крайней мере одно действие.
Намерение пройдет тест действия, если фильтр намерений также не имеет каких-либо действий.
Намерение пройдет тест действия, только если намерение имеет по крайней мере одно действие.
Намерение пройдет тест, если намерение является явным. В случае явного намерения производится разрешение намерения.
Вопрос 34
Что произойдет, если активность запустится с неявным намерением и нет соответствующего фильтра намерений?
Ошибка во время компиляции.
Исключение во время выполнения activityNotFoundException и крушение, если она не обрабатывается должным образом.
Ничего не случится, но не запустится какой-либо новый экран.
Ничего не произойдет, как-нибудь запустится целевой компонент.
Вопрос 35
Как сделать телефонный звонок из Android приложения?
Intent in = new Intent (); in. setAction (Intent. ACTION_DIAL); in. setData (Uri. parse («tel:12345»)); startActivity (in);
Intent in = new Intent (); in. setAction (Intent. ACTION_CALL); in. setData (Uri. parse («tel:12345»)); startActivity (in);
Intent in = new Intent (); in. setAction (Intent. ACTION_CALL); in. setData («12345»); startActivity (in);
Intent in = new Intent (); in. setAction (Intent. ACTION_DIAL); in. setData («12345»); startActivity (in);
Вопрос 36
Какая разница между intent, sticky intent и pending intent?
Намерение это механизм передачи сообщений между компонентами Android; sticky intent прикрепляется Android для будущих широковещательных слушателей; pending intent используется, когда кто-то хочет, чтобы выпустить намерение в будущем.
Намерение это механизм передачи сообщений между компонентами Android, за исключением Content Provider; sticky intent прикрепляется Android для будущих широковещательных слушателей; pending intent используется, когда кто-то хочет, чтобы выпустить намерение в будущем.
Намерение это механизм передачи сообщений между компонентами Android, за исключением Content Provider; sticky intent прикрепляется Android для будущих широковещательных слушателей; pending intent используется, когда кто-то хочет, чтобы выпустить намерение в будущем и может быть даже в то время, когда приложение уже не работает.
Вопрос 37
Какой язык программирования может быть использован для создания приложений Android?
С
Только Java
С и С++
С, С++ и Java
Вопрос 38
На каком языке написаны Android библиотеки?
С
Только Java
С и С++
С, С++ и Java
Вопрос 39
Какая компания выпустила первый Android телефон?
Samsung
HTC
LG
Вопрос 40
Android выпущен под какой лицензией?
Android под Apache License
Android бесплатный под GPL лицензией.
Android является бесплатным, он находится под лицензией Apache, но только уровень ядра находится под GPL лицензией.
Android является бесплатным, он находится под лицензией GPL, но только уровень ядра находится под лицензией Apache.
Вопрос 41
Какой тип ядра используется в Android?
Micro kernel
Monolithic kernel
Hybrid kernel
Ничего из перечисленного
Вопрос 42
Кто является основателем Android?
Android Inc
Apple
Samsung
Вопрос 43
Что. apk файл содержит?
Содержит. dex файл, сжатые ресурсы, class файлы.
Содержит один файл. dex, сжатые ресурсы, class файлы, другие библиотечные файлы не Java.
Содержит один файл. dex, сжатые ресурсы, другие библиотечные файлы не Java.
Содержит несколько. dex файлов, сжатые ресурсы, другие библиотечные файлы не Java.
Вопрос 44
Android веб-браузер основывается на каком источнике?
Internet Explorer
Google Chrome
WebKit
Safari
Вопрос 45
Что такое папка raw Android проекта?
Используется для хранения папки assets.
Используется для хранения MP3 или других assets файлов и доступна с помощью R. java файла.
Используется для хранения файлов. xml.
Хранит изображения.
Вопрос 46
Какой максимальный размер памяти дается для каждого процесса или приложения в Android?
8MB
16MB
32MB
64MB
Вопрос 47
Как отправить SMS в Android, с помощью кода?
SmsManager s = SmsManager. getDefault ();
s. sendTextMessage («9741200300», null,
«Hi how are you?», null, null);
SmsManager s = SmsManager. getDefault ();
s. sendTextMessage (null, «9741200300»,
«Hi how are you?», null, null);
SmsManager s = SmsManager. getDefault ();
s. sendTextMessage («9741200300», «9741200300»,
«Hi how are you?», null, null);
SmsManager s = new SMSManager ();
s. sendTextMessage (null, «9741200300»,
«Hi how are you?», null, null);
Вопрос 48
Какой корневой тег файла манифеста в Android, который будет сразу после тега xml.
Вопрос 49
Что такое rooting?
Этот процесс позволяет пользователям смартфонов и других устройств, поддерживающих Android, получить привилегированные права (корневой доступ).
rooting позволяет запускать любые приложения, которые требуют разрешения администратора в Android системе, и может выполнять любые операции, которые не разрешены обычному Android пользователю.
rooting также делается, чтобы преодолеть ограничения, установленные производителем или оператором связи на телефоне. Телефон с rooting может быть использован в любом месте с любым носителем сети.
Все перечисленное.
Вопрос 50
Как сделать скриншот в Android?
Открыть камеру и сфотографировать скриншот.
Подключить телефон к Eclipse, открыть DDMS, выбрать устройство, нажать на кнопку камеры (сверху), которая открывает текущий экран телефона или эмулятора, нажать сохранить, чтобы сохранить снимок экрана как изображение.
Сейчас нет поддержки снимка экрана в Android.
Тест 9
Вопрос 1
Как сделать рутинг в Android?
Сделать резервное копирование диска.
Включить отладку USB.
Возможно, придется установить Android SDK на компьютере.
Разблокировать загрузчик, следуя инструкциям на OEM-сайте.
Все перечисленное.
Вопрос 2
Что из следующего является именами версий Android?
1.5 cupcake
1.6 donut
2.0, 2.1 eclair
2.2 froyo
2.3.x ginger bread
3. x honey comb
4.0.x ice cream sandwitch
4.1 jelley bean
4.2 kitkat
1.5 cupcake
1.6 donut
2.0, 2.1 eclair
2.2 froyo
2.3.x ginger bread
3. x honey comb
4.0.x ice cream sandwitch
4.1, 4.2, 4.3 jelley bean
4.4 kitkat
1.5 cupcake
1.6 donut
2.0 eclair
2.1, 2.2 froyo
2.3.x ginger bread
3. x honey comb
4.0.x ice cream sandwitch
4.1, 4.2, 4.3 jelley bean
4.4 kitkat
1.5 cupcake
1.6 donut
2.0, 2.1 eclair
2.2 froyo
2.3.x ginger bread
3. x honey comb
4.0.x ice cream sandwitch
4.1, 4.2, 4.3 jelley bean
4.4 key lime pie
Вопрос 3
Что разница между permission и uses-permission в Android?
Тег permission используется для обеспечения uses-permission для компонента приложения.
Тег uses-permission используется, чтобы взять разрешение от пользователя для вашего приложения.
Тег permission используется, когда вы хотите, чтобы другие приложения получали разрешение от пользователя, чтобы использовать некоторые из компонентов вашего приложения.
Все перечисленное.
Вопрос 4
Что содержит Android SDK?
Android SDK содержит набор библиотек, API, набор инструментов для разработки, тестирования, отладки Android приложений для Android устройств.
Android SDK поставляется с встроенным JDK.
Все перечисленное.
Вопрос 5
Что такое Android эмулятор?
Это инструмент, используемый для запуска Android приложений, не имея реального устройство. Он может быть использован для тестирования Android приложений, не имея реального физического устройства.
Android эмулятор имитирует реальную аппаратную среду устройства там, где программист разрабатывает Android приложения.
Android эмулятор поставляется как часть Android SDK при загрузке. emulator. exe инструмент является частью папки android-sdktools.
Все перечисленное.
Вопрос 6
Что такое менеджер Android устройств?
Менеджер Android устройств это инструмент Google, с помощью которого пользователь может найти телефон (если украден).
При желании пользователь может позвонить на телефон, заблокировать телефон и стереть данные на телефоне. Но для этого у пользователя должен быть зарегистрирован аккаунт Google с его мобильного телефона.
Данные местоположения устройства будут собраны и отправлены в Google.
Расположение устройства является приблизительным. Чтобы отслеживать свой мобильный телефон с помощью Android Device Manager используйте сайт https://www.google.com/android/devicemanager.
Все перечисленное.
Ничего из перечисленного.
Вопрос 7
Что такое MODE_PRIVATE при создании общего файла настроек?
Только процесс или приложение, которое создало файл предпочтения, может его открыть. Другие приложения не могут получить доступ к нему.
Только активность, которая создала этот файл настроек, может получить доступ к нему. Другие активности не могут получить к нему доступ.
Только поток, который создал этот файл настроек, может получить доступ к нему. Другие потоки не могут получить к нему доступ.
Только процесс или приложение, которое создало файл предпочтения, может написать в него. Другие приложения могут получить только доступ к нему.
Вопрос 8
Как поделиться файлом настроек с другими активностями одного и того же приложения?
Использовать getPreferences (MODE_PRIVATE);
Использовать getSharedPreferences («name», MODE_PRIVATE);
Использовать getSharedPreferences («name», MODE_WORLD_READABLE);
Использовать getSharedPreferences («name», MODE_WORLD_WRITABLE);
Вопрос 9
Что делает следующий код?
in. setAction (Intent. ACTION_GET_CONTENT);
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, который поддерживает многопоточную архитектуру, то что из следующего ниже я должен использовать?
Используйте только Binder класс.
Используйте класс Binder с Messenger.
Используйте. aidl и реализацию заглушки.
Все перечисленное.
Вопрос 26
Что из следующего верно о binder service?
Метод bindservice () это функция асинхронного вызова. Она возвращает только после установления связи между клиентом и сервером.
Метод onBind () будет вызываться каждый раз, когда клиент вызывает функцию bindservice.
Метод onServiceDisconnected () ServiceConnection объекта будет вызываться, когда клиент вызывает unbindeservice ().
Метод bindService () является функцией асинхронного вызова, которая сразу же возвращает. После возвращения, соединение будет установлено через некоторое время.
Вопрос 27
При реализации bounded service, где клиент и сервер находятся в одном процессе, какую функциональность я могу сделать во внутреннем классе Binder?
Класс, расширяющий Binder, может содержать публичные методы, которые могут быть доступны клиенту.
Класс, расширяющий Binder, может вернуть объект внешнего класса сервиса, чья функциональность может быть доступна клиенту.