Сборник тестов: 1500 вопросов и ответов на знание Android

Тимур Машнин

Книга содержит 30 тестов по 50 вопросов с ответами на знание Android. Книга предназначена для подготовки к экзаменам и собеседованиям.

Оглавление

* * *

Приведённый ознакомительный фрагмент книги Сборник тестов: 1500 вопросов и ответов на знание Android предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Тест 7

Вопрос 1

Что такое виджеты приложений?

Приложения, которые работают в фоновом режиме

Все работающие приложения

Небольшие представления приложений, которые можно поместить в другие приложения

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

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

Вопрос 2

Широковещательные приемники представлены:

Broadcast class

Receiver class

ApplicationBroadcast class

MessageBroadcast class

BroadcastReceiver class

Вопрос 3

Для чего класс JetPlayer используется?

Позволяет воспроизводить интерактивный JET аудио контент в пользовательских приложениях.

Позволяет пользователю воспроизводить mp3 файлы.

Позволяет пользователю воспроизводить MPEG файлы.

Позволяет пользователю воспроизводить JET видео формат.

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

Вопрос 4

Что из следующего не является Dalvik Opcode?

OP_ADD_LONG

OP_ADD_FLOAT

OP_GET_BYTE

OP_ADD_DOUBLE

OP_ADD_INT

Вопрос 5

Как приложение узнает, пакет добавлен или удален?

Получается сообщение с действием PACKAGE_ADDED и PACKAGE_REMOVED

Транслируется сообщение с действием PACKAGE_ADDED и PACKAGE_REMOVED.

Намерение с действием PACKAGE_ADDED и PACKAGE_REMOVED транслируется

Намерение с действием PACKAGE_ADDED и PACKAGE_REMOVED записывается

Активность с действием PACKAGE_ADDED и PACKAGE_REMOVED транслируется

Вопрос 6

Что из следующего может быть использовано для отображения JPG-файла на карте SD в ImageView?

Bitmap.decodeFile ()

BitmapFactory.decodeFile ()

JPEGFactory.decodeFile ()

GIFFactory.decodeFile ()

JPG.decodeFile ()

Вопрос 7

Как активность может быть закрыта?

Вызвав метод finishActivity ()

Вызвав метод shutdown ()

Вызвав метод stop ()

Вызвав метод finish ()

Вызвав метод stopSelf ()

Вопрос 8

Как сервис может быть остановлен?

Вызвав метод finishService ()

Вызвав метод shutdown ()

Вызвав метод stop ()

Вызвав метод finish ()

Вызвав метод stopSelf ()

Вопрос 9

Что такое app. AlertDialog?

Всплывающее окно, извещающее пользователя о входящем вызове

Диалоговое окно, чтобы показать обработку вывода диалога

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

Плавающее диалоговое окно

Диалоговое окно для определения предупреждений

Вопрос 10

Что представляет класс DateFormat?

Интерфейс для настройки строк с отформатированной датой/временем.

Класс для определения формата даты/времени.

Класс для ввода даты/времени.

Класс для генерации строк с отформатированной датой/временем.

Класс для настройки строк с отформатированной датой/временем.

Вопрос 11

Relative Layout это ViewGroup, который отображает в относительных позициях:

Текстовые поля

Кнопки

Элементы пользовательского интерфейса

Дочерние View элементы

Меню

Вопрос 12

Что из следующего создаст MediaRecorder?

recorder = recorder. start ();

recorder = new MediaRecorder ();

recorder = recorder. Create ();

recorder = recorder. prepare ();

recorder = onCreate. MediaRecorder;

Вопрос 13

Что класс ImageButton делает?

Отображает кнопки, связанные с изображениями

Отображает интерактивные кнопки с изображением

Рисует изображение кнопки

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

Вопрос 14

Как избежать утечки памяти в Android приложении?

Использовать Application контекст для долгоживущих объектов.

Не оставлять долгоживущие ссылки на Activity контекст (ссылка на активность должна иметь одинаковый жизненный цикл, как и сама активность).

Избегать не статических внутренних классов в активности.

Не использовать getBaseContext ().

Контролировать окончание работы фоновых потоков.

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

Вопрос 15

Каким может быть решение ANR?

Не выполнять работу в потоке пользовательского интерфейса.

Использовать AsyncTask класс.

Использовать Thread или HandlerThread класс.

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

Вопрос 16

Как обновить пользовательский интерфейс из другого потока?

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

Подключить Handler к потоку пользовательского интерфейса

Использовать Activity.runOnUiThread (Runnable)

Использовать View. post (Runnable)

Использовать View. postDelayed (Runnable, long)

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

Вопрос 17

Как Binder отличается от сериализации

Binder использует концепцию общей памяти, чтобы выполнять IPC.

Сериализация использует концепцию общей памяти и медленнее, чем Binder IPC.

Ни один из них не использует концепцию общей памяти, чтобы выполнять IPC, но Binder предназначен для IPC для небольших устройств

Хотя сериализация быстрее, чем Binder, она не используется в Android.

Вопрос 18

В чем разница между Thread и Handler Thread в Android?

Thread имеет Looper и Message Queue. По умолчанию Looper будет готов обрабатывать входящие сообщения от других потоков.

Handler Thread имеет Looper и MessageQueue, и Looper готов обрабатывать входящие сообщения.

Оба похожи. Нет разницы, но HandlerThread это подкласс класса Thread.

Оба похожи. Нет разницы, но HandlerThread это супер класс класса Thread.

Вопрос 19

В чем разница между сервисом и потоком?

Сервис — это Android компонент, который работает в фоновом режиме без какого-либо интерфейса. Сервис будет иметь по умолчанию один поток для фоновой работы. Поток — аналогичен сервису, он также работает в фоновом режиме.

Сервис — это Android компонент, который работает в фоновом режиме без какого-либо интерфейса. По умолчанию сервис будет работать только в главном потоке. Поток — это не Android компонент, но можно использовать поток, чтобы выполнить некоторую фоновую задачу. Использование потока вместо сервиса не рекомендуется.

Сервис — это Android компонент, который работает в фоновом режиме без какого-либо интерфейса. По умолчанию сервис будет работать только в главном потоке. Поток — это не Android компонент, но можно использовать поток, чтобы выполнить некоторую фоновую задачу. Можно использовать поток вместо сервиса.

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

Вопрос 20

Как создать сервис с несколькими потоками в нем?

Создание сервиса с созданием потока в методе onStartCommand.

Использование Intent Service.

Создание сервиса с одним потоком в методе оnCreate ().

Создание сервиса с созданием потока в методе onStartCommand или использовать AsyncTask в сервисе.

Вопрос 21

В чем разница между startservice и bindservice?

startservice — работает в фоновом режиме, пока кто-нибудь или он сам не остановится. Он используется для выполнения длительно работающей операции. bindservice — живет, пока кто-либо связывается с ним и взаимодействует с ним. bindservice может возвращать значение для того, кто связан с ним.

startservice — работает в фоновом режиме, пока кто-нибудь или он сам не остановится. startservice может возвращать значение тому, кто его запустил. bindservice — живет, пока кто-либо связывается с ним и взаимодействует с ним, и после того, как работа будет выполнена, то, кто связывался с ним, должен отвязаться от него.

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

startservice — работает в фоновом потоке и живет до тех пор, пока компонент, который его запустил также жив. bindservice — живет в фоновом режиме до тех пор, пока компонент, который подключен к нему, также жив.

Вопрос 22

Что такое Activity и Fragment? Когда и почему вы должны их использовать?

Activity это компонент пользовательского интерфейса. Fragment это многоразовый компонент, который прикреплен к и отображается в Activity.

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

В то время как вы можете использовать активность без фрагментов, обратное не верно.

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

Вопрос 23

Что такое Адаптеры и зачем они используются?

Они связывают ListView, GridView, Spinner, ViewPager и др. AdapterView с базовыми данными. Они обеспечивают доступ к элементам данных и отвечают за создание представления для каждого элемента набора данных.

Выбор пользователя обрабатывается с помощью установки AdapterView. OnItemClickListener.

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

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

Вопрос 24

Как оптимизировать использование View и сделать приложение более отзывчивым?

Чем больше View вы можете удалить из макета, тем более чутко будет реагировать ваше приложение.

Избегать использование вложенных экземпляров LinearLayout.

<merge> тег является особенно полезным с тегом <include>.

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

Вопрос 25

Что такое паттерн ViewHolder и как он используется? Какие доводы за и против его использования? Какие альтернативы?

ViewHolder это паттерн кэширования View. findViewById ().

Вызовы View. findViewById () ресурсоемкие, потому что значительные части макета (иерархической структуры) необходимо пройти при каждом вызове, чтобы найти нужного View ребенка в пределах потенциально сложной планировки.

С включением компилятора JIT и огромных улучшений в сборщике мусора после Android 2.2 (Froyo), стоимость не кэширования View. findViewById () резко уменьшилась.

Использование паттерна ViewHolder приводит к таким побочным эффектам, как беспорядочный код, нарушение принципов Separation of Concerns Principle и Single Responsibility Principle.

Альтернатива паттерну это расширить родительский View и кэшировать дочерние View в самом родительском View.

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

Вопрос 26

Что такое опция Don’t Keep Activities?

Это опция приложения Dev Tools App «Immediately destroy activities» для уничтожения активности, как только она остановилась, для тестирования onSaveInstanceState (Bundle) / onCreate (android. os. Bundle).

Чтобы помочь обнаружить случайный доступ к диску или сети в главном потоке.

Для сканирования проекта и генерации подробного отчета, содержащего ошибки и предупреждения в коде и ресурсах.

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

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

Вопрос 27

Назовите паттерны общей структуры приложения:

Top Level View (наполнить стартовый экран контентом, навигацией и поиском, установить Action Bar для навигации, использовать floating action button для стимуляции действия).

Category View (использовать вкладки, чтобы объединить выбор категории и отображение данных, использовать контекстное меню).

Detail/Edit View (использовать навигацию между элементами внутри представления, использовать перелистывание между представлениями).

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

Вопрос 28

Назовите паттерны навигации:

Tabs

Fixed tabs

Scrollable tabs

Navigation drawer

Navigation drawer + tabs

Navigation in content

Nested navigation drawer

Nested navigation drawer + tabs

Expanding navigation drawer

Cascading navigation drawer

Spinners

Split Action Bar

Contextual Action Bar

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

Вопрос 29

Как создать намерение чтобы послать электронную почту в Android?

Intent email = new Intent (Intent. ACTION_SEND);

email. setType («message/rfc822»);

email. putExtra (Intent. EXTRA_EMAIL, new String [] {"info@skillgun.com»});

email. putExtra (Intent. EXTRA_SUBJECT, «Hi, This is a test mail..»);

startActivity (Intent. createChooser (email, «Choose an Email Client»));

Intent email = new Intent (Intent. ACTION_EMAIL);

email. setType («message/rfc822»);

email. putExtra (Intent. EMAIL, new String [] {"info@skillgun.com»});

email. putExtra (Intent. SUBJECT, «Hi, This is a test mail..»);

startActivity (Intent. createChooser (email, «Choose an Email Client»));

Intent i = new Intent (Intent. ACTION_SEND);

i. setType («message/rfc822»);

i. putExtra (Intent. EXTRA_EMAIL, new String[]{"info@skillgun.com»});

i. putExtra (Intent. EXTRA_SUBJECT, «test mail»);

i. putExtra (Intent. EXTRA_TEXT, «Did you get this mail? if so please reply back»);

startActivity (Intent. createChooser (i, «Send mail…"));

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

Вопрос 30

Какая функциональность у HTTPClient интерфейса в Android?

connection management

authentication management

cookies management

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

Вопрос 31

Что из перечисленного верно о HTTP запросах в Android приложениях?

Для загрузки данных с сервера использовать HttpGet запрос.

Для отправки почты использовать HttpPost запрос.

Для обновления блога, написанного на телефоне, использовать HttpGet запрос.

Вопрос 32

Чтобы использовать HttpClient, какие требуются разрешения в Android приложениях?

android. permission. INTERNET

android. permission. READ_CONTACTS

android. permission. FINE_LOCATION

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

Вопрос 33

Если Интернет разрешение не принято для использования HTTP-клиента, то что произойдет?

Будет исключение времени выполнения, то есть IOException

Будет исключение времени компиляции, то есть IOException

Будет исключение времени выполнения, то есть CLientProtocolException

Код не компилируется

Вопрос 34

Если URL-адрес в HttpGet запросе не верный, то какое исключение будет выброшено в Android приложении?

Будет исключение времени выполнения, то есть IOException

Будет исключение времени компиляции, то есть IOException

Будет исключение времени выполнения, то есть CLientProtocolException

Код не компилируется

Вопрос 35

Что может делать класс HttpClient?

Выполнять httprequests (get/post).

Выполнять httprequests (get/post) и возвращать ответ от сервера.

Вопрос 36

В RESTful API в чем разница между httpget () и httppost () методами в Android?

httpget () используется, когда мы хотим получить некоторую информацию из URL.

httppost () используется, когда мы хотим передать некоторую информацию с мобильного устройства на сервер, используя URL.

httpget () используется, когда мы хотим получить некоторую информацию от мобильного устройства на сервер с помощью URL.

httppost () используется, когда мы хотим отправить информацию с сервера, используя URL, в мобильное устройство.

Вопрос 37

Что httpclient. execute () возвращает?

HttpResponse

HttpEntity

Boolean

void

Вопрос 38

Какое имя пакета классов JSONObject, JSONArray?

com. android. json

org. json

net. json

com. json

Вопрос 39

Какое имя пакета у HTTPClient?

com. android. http. client

org. apache. http. client

org. http

сom. http. client

Вопрос 40

Как прочитать данные из файла XML в папке xml ресурсов, в Android приложении?

Используйте XMLResource парсер для чтения файла ресурсов и разбора его.

Используйте XMLPullParser для чтения файла ресурсов и разбора его.

Используйте layoutinflater для получения XML файла, а затем прочитать данные.

Вопрос 41

Какие из перечисленных не являются событием XMLPullparser?

XMLPullParser. START_DOCUMENT

XMLPullParser. START_TAG

XMLPullParser. START_TEXT

XMLPullParser. END_TAG

Вопрос 42

В какой библиотеке класс MapView расположен?

android. location

android. hardware

com. google. android. maps

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

Вопрос 43

Если я хочу использовать MapView, тогда нужно выполнить следующее:

Используйте MapActivity с MapView и используйте библиотеку «com. google. android. maps». Приложение также должно иметь Интернет разрешение.

Используйте MapActivity с MapView и используйте библиотеку «com. google. android. maps». Приложение также должно иметь Интернет разрешение. Нужно зарегистрировать наше приложение в сервисе Карты Google, обеспечивая md5 отпечаток отладочного сертификата приложения.

Используйте MapActivity с MapView и используйте библиотеку «com. google. android. maps». Приложение также должно иметь Интернет разрешение. Нужно зарегистрировать наше приложение в сервисе Карты Google, обеспечивая md5 отпечаток конечного цифрового сертификата, которым подписано приложение.

Нет необходимости использовать библиотеку карт, она не является частью Android фреймворка.

Вопрос 44

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

Результат будет отправлен в виде HTTPEntity, который встроен в тело HttpResponse.

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

Результат будет отправлен в виде HttpResponse, который встроен в тело HTTPEntity.

Вопрос 45

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

AJAX

Только HTML

Вопрос 46

Сколько JSONObjects и JSONArrays есть в файле.

сontacts это JSONArray или JSONObject?

{

«contacts»: [

{

«id»: «p001»,

«name»: «Satish»,

«email»:"satish@gmail.com»,

«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»:"satish@gmail.com»,

«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);

Оглавление

* * *

Приведённый ознакомительный фрагмент книги Сборник тестов: 1500 вопросов и ответов на знание Android предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Смотрите также

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я