Тимур Машнин - Сборник тестов: 1500 вопросов и ответов на знание Android
4. Возвратить объект этого класса заглушки из onStartCommand ().
1. Создать сервис, реализовать оnCreate (), onBind (), onStartCommand (), onUnbind (), оnDestroy ().
2. Создать внутренний класс в классе сервиса, который расширяет класс Binder.
3. Реализовать функции этого внутреннего класса.
4. Возвратить объект этого внутреннего класса из onStartCommand ().
1. Создать сервис, реализовать оnCreate (), onBind (), onUnbind (), оnDestroy ().
2. Создать внутренний класс в классе сервиса, который расширяет класс Binder.
3. Реализовать функции этого внутреннего класса.
4. Возвратить объект этого внутреннего класса из onBind ().
Вопрос 16
Для реализации фоновой функциональности активности, что лучше, запустить сервис или поток?
Вы можете использовать оба, потому что оба будут делать то же самое.
Если фоновая функциональность связана с активностью, использовать поток. Если нет, запустить сервис с потоком в нем.
Имеет ли фоновая функциональность связь с активностью или нет, всегда лучше воспользоваться сервисом с потоком, а не активностью с потоком.
Если вы хотите некоторую фоновую функциональность в активности, используйте поток, нет необходимости в сервисе.
Вопрос 17
Можно ли создать сервис без какого-либо потока?
Да, вы можете иметь сервис, запущенный в главном потоке.
Нет, сервис должен иметь поток, он не может работать в главном потоке.
Да, вы можете иметь сервис, запущенный в главном потоке, только если вы не имеете какой-либо активности в главном потоке.
Поток и сервис не связаны.
Вопрос 18
Что произойдет, если вы запустите сервис без потока, как будет работать тяжелая функциональность?
Ничего не случится, сервис будет работать хорошо.
Может привести к ANR (приложение не отвечает) ошибке.
Может привести к ANR (приложение не отвечает) ошибке, если ваше приложение имеет, по меньшей мере, одну активность, поскольку эта активность будет работать в потоке пользовательского интерфейса.
Может привести к ANR (приложение не отвечает) ошибке, независимо от того, есть ли у вас, по крайней мере, одна активность или нет в вашем приложении.
Вопрос 19
В случае нехватки памяти, если Android закрывает сервис насильно, тогда сервис перезагрузится автоматически или пользователь должен запустить этот сервис?
Сервис не будет перезапущен системой Android.
Пользователь должен перезапустить его снова.
Сервис не будет перезапущен системой Android, если метод onStartCommand () вернет START_NOT_STICKY.
Сервис не будет перезапущен системой Android, если метод onStartCommand () вернет START_STICKY или START_NOT_STICKY.
Вопрос 20
JSON это язык?
Да
Нет
Мы не можем назвать его языком. Это легковесный текстовый формат, который используется для обмена данными между двумя системами, подключенными к сети. Он является альтернативой XML способом передачи данных между системами.
Ничего из перечисленного.
Вопрос 21
Какие из следующих являются элементами JSON?
Number, String, Boolean, null, Array, Object.
Number, String, Boolean, Array, Object.
String, Array, Object.
Number, String, null, Array, Object.
Вопрос 22
Как передать данные интернет-серверу из Android приложения?
Если данные небольшие – использовать пространства имен NameValuePairs, если данные большие, использовать XML. XML быстрее, чем JSON, поэтому разбор и загрузка будут быстрее.
Если данные небольшие – использовать пространства имен NameValuePairs, если данные большие, использовать JSON. JSON быстрее, чем XML, поэтому разбор и загрузка будут быстрее.
Если данные небольшие – использовать пространства имен NameValuePairs, если данные большие, использовать XML. XML быстрее, чем JSON, поэтому разбор и загрузка будут быстрее. Многие веб-сайты и сервисы имеют большую поддержку XML по сравнению с JSON.
Если данные небольшие – использовать пространства имен NameValuePairs, если данные большие, использовать JSON. JSON быстрее, чем XML, поэтому разбор и загрузка будут быстрее. Многие веб-сайты и сервисы, включая Twitter, facebook, Google, LinkedIn использует JSON, а не XML.
Вопрос 23
Что из следующего верно о коде состояния HTTP ответа, приходящего от сервера к Android приложению?
Код состояния доступен в строке состояния, которая содержит статус результата ответа сервера.
Если код состояния> 400, то это означает успешное выполнение на стороне сервера.
Если код состояния <= 400, то это означает успешное выполнение на стороне сервера.
Вопрос 24
Что произойдет, если код HTTP-соединения будет написан в главном потоке активности?
Это может привести к ANR.
Это не даст никакой ошибки, но может привести к ANR до 2.3 версии. но начиная с 3,0 это является обязательным, чтобы все сетевые соединения производились в отдельном потоке. Иначе во время выполнения будет исключение NetworkOnMainThreadException.
Код будет отлично работать. Ошибки не будет.
Если мы не будем использовать отдельный фоновый поток, начиная с версии 3.0, система будет бросать исключение времени выполнения.
Вопрос 25
Для подключения к сети Android приложения, какой из следующих вариантов я должен использовать?
DefaultHTTPClient
DefaultHTTPClient или AndroidHttpClient
HttpURLConnection. Это более легковесный вариант, так что используйте его всегда.
До Froyo (2.2) лучше использовать вариант DefaultHTTPClient или AndroidHttpClient, но после него лучше использовать HttpURLConnection.
Вопрос 26
Как войти в Gmail аккаунт из Android приложения с помощью HTTP запроса?
DefaultHttpClient client = new DefaultHttpClient ();
HttpPost post = new HttpPost (»http://mail.google.com/");
List <NameValuePair> params = new ArrayList <NameValuePair> (3);
params. add (new BasicNameValuePair («Email», " [email protected]»));
params. add (new BasicNameValuePair («Passwd», «password here»));
params. add (new BasicNameValuePair («signIn», «Sign in»));
post. setEntity (new UrlEncodedFormEntity (params));
HttpResponse res = client. execute (post);
if (res. getStatusLine (). getStatusCode () <400)
//success
else
//fail
//////////////////////////////////////////////////////////////////////////////////////////////
DefaultHttpClient client = new DefaultHttpClient ();
HttpPost post = new HttpPost (»http://mail.google.com/");
List <NameValuePair> params = new ArrayList <NameValuePair> (3);
params. add (new BasicNameValuePair («Email», " [email protected]»));
params. add (new BasicNameValuePair («Passwd», «password here»));
post. setEntity (new UrlEncodedFormEntity (params));
HttpResponse res = client. execute (post);
if (res. getStatusLine (). getStatusCode () <400)
//success
else
//fail
/////////////////////////////////////////////////////////////////////////////////////////
DefaultHttpClient client = new DefaultHttpClient ();
HttpPost post = new HttpPost (»http://mail.google.com/");
List <NameValuePair> params = new ArrayList <NameValuePair> (3);
params. add (new BasicNameValuePair («Email», " [email protected]»));
params. add (new BasicNameValuePair («Passwd», «password here»));
post. setEntity (new UrlEncodedFormEntity (params));
HttpResponse res = client. execute (post);
if (res. getStatusLine (). getStatusCode ()> = 400)
//success
else
//fail
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
DefaultHttpClient client = new DefaultHttpClient ();
HttpPost post = new HttpPost (»http://mail.google.com/");
List <NameValuePair> params = new ArrayList <NameValuePair> (3);
params. add (new BasicNameValuePair («Email», " [email protected]»));
params. add (new BasicNameValuePair («Passwd», «password here»));
params. add (new BasicNameValuePair («signIn», «Sign in»));
post. setEntity (new UrlEncodedFormEntity (params));
HttpResponse res = client. execute (post);
if (res. getStatusLine (). getStatusCode ()> = 400)
//success
else
//fail
Вопрос 27
Какие технологии лучше всего подходят, чтобы отправлять данные по сети к серверу из Android приложения?
SOAP быстрее, чем REST для передачи данных.
JSON быстрее, чем XML, XML быстрее, чем SOAP.
JSON быстрее, чем XML, XML быстрее, чем SOAP. Но если мы хотим использовать SOAP в мобильных приложениях, мы можем использовать KSOAP, который разработан для встраиваемых устройств и который быстрее.
Ничего из перечисленного.
Вопрос 28
Какие исключения могут быть брошены во время разбора JSON ответа от сервера в Android приложении?
IOException
JSONException
JSONParsingException
IOError
Вопрос 29
Какие из следующих объектов будут использоваться при разборе JSON файла.
JSONObject
JSONArray
JSONString
JSONUnion
Вопрос 30
Как узнать количество элементов в JSONArray?
Использовать функцию length ().
Использовать переменную length, которая будет содержать количество элементов в этом массиве.
Поместить бесконечный цикл, чтобы прочитать JSONArray, библиотека JSON будет автоматически обнаруживать конец массива.
Ничего из перечисленного.
Вопрос 31
Что такое GCM?
Google Cloud Messaging это сервис, который позволяет мобильным устройствам отправлять текстовые сообщения на другие мобильные устройства.
Google Cloud Messaging для chrome (GCM) является сервисом для зарегистрированных пользователей Chrome, который помогает разработчикам отправить данные в сообщении с серверов для их Chrome приложений и расширений. Сервис предназначен для связи с приложениями или расширениями, и/или уведомлений пользователя. Например, обновления календаря могут быть переданы пользователю, даже если приложение календаря не является открытым.
Google Cloud Messaging для Android (GCM) является сервисом, который позволяет отправлять данные с вашего сервера для пользователя Android-устройства, а также получать сообщения от устройства с помощью такого же соединения.
Ничего из перечисленного.
Вопрос 32
При подключении к серверу Google Android приложения, какие исключения необходимо обрабатывать?