Сборник тестов: 1500 вопросов и ответов на знание Android Машнин Тимур

Ответ: Все перечисленное.

Вопрос 33

Ответ: //make a folder " pics" to store pics taken by the camera using this

final String directory = Environment. getExternalStoragePublicDirectory (Environment. DIRECTORY_PICTURES) + "/pics/";

File nd = new File (directory);

nd. mkdirs ();

//what is the picture name?

String file = directory+" myfile"+".jpg";

File myFile = new File (file);

try {

myFile. createNewFile ();

} catch (IOException e) {}

Uri myUri = Uri. fromFile (myFile);

//prepare intent for starting camera

Intent in = new Intent (MediaStore. ACTION_IMAGE_CAPTURE);

in. putExtra (MediaStore. EXTRA_OUTPUT, myUri);

startActivityForResult (in, 1);

Вопрос 34

Ответ: Calendar cal = Calendar. getInstance ();

SimpleDateFormat sdate = new SimpleDateFormat («dd-MMM-yyyy»);

String date = sdate. format (cal. getTime ());

SimpleDateFormat dateFmt = new SimpleDateFormat («yyyyMMdd_HHmmss»);

String date = dateFmt. format (new Date ());

Вопрос 35

Ответ: Использовать контент-провайдер.

Вопрос 36

Ответ: ContentValues это пара имя-значение, используется для вставки или обновления значений в таблицах баз данных. ContentValues объект передается в функции insert () и update () объекта SQLiteDataBase. Cursor это временный буфер, который хранит результаты из SQLiteDataBase запроса.

Вопрос 37

Ответ: Helper класс считает, что мы всегда будем передавать номера версий в порядке возрастания для обновления.

Вопрос 38

Ответ: Нет, потому что, если этот метод занимает слишком много времени, чтобы создать все таблицы, то это может прервать основной поток.

Вопрос 39

Ответ: Это будет вызвать метод Helper класса оnCreate (), только если база данных создается впервые.

Вопрос 40

Ответ: Другое приложение для обмена данными должно реализовать контент-провайдер.

Вопрос 41

Ответ: Функция контент-провайдера оnCreate () вызывается, когда первый раз клиент вызывает какие-либо функции провайдера с помощью content resolver.

Вопрос 42

Ответ: Вспомогательный класс для управления созданием базы данных, для модернизации и управления версиями без потери состояния предыдущих данных.

Вопрос 43

Ответ: Передайте новый номер версии для базы данных в функцию SQLiteOpenHelper (). Затем обновите базу данных в методе оnUpdate класса SQLiteOpenHelper.

Вопрос 44

Ответ: Даже если таблицы базы данных хранятся во внутренней памяти, с помощью Content Provider можно получить доступ к базе данных.

Вопрос 45

Ответ: Это возможно не прямым способом, потому что мы можем использовать content resolver для связи с контент-провайдером.

Вопрос 46

Ответ: Он используется для обмена данными приложения с внешним миром. Сейчас нет поддержки для shared preferences.

Вопрос 47

Ответ: Контент-провайдер используется для обмена приватными данными с другими приложениями, тогда как контент-распознаватель общается от клиентской стороны с контент-провайдером.

Вопрос 48

Ответ: Cursor это буфер, который содержит результат строки из таблицы базы данных в ответ на запрос.

Contentvalues используются для передачи данных SQLite функции.

Вопрос 49

Ответ: Используйте ContactsContract. Contacts. URI и CommonDataKinds. Phone. CONTENT_URI, затем сделайте запрос с помощью content resolver.

Вопрос 50

Ответ: По умолчанию она хранится во внутренней памяти, но также возможно, чтобы хранить ее на SD-карте.

Тест 12

Вопрос 1

Ответ: Sqlite.

Вопрос 2

Ответ: Потому что SQLiteOpenHelper обеспечивает уверенность, что база данных всегда в актуальном состоянии. Также SQLiteOpenHelper управляет потоками, если более чем один поток пытается получить доступ к базе данных.

Вопрос 3

Ответ: Передать другой номер версии в возрастающем порядке и поместить весь код модернизации в методе onUpgrade () helper класса.

Вопрос 4

Ответ: Создание Helper объекта является синхронным и возвращает немедленно, тогда как getWritableDatabase может занять некоторое время, когда вы создаете базу данных впервые. Так что это может занять больше времени (асинхронное создание) впервые или когда мы обновляем базу данных.

Вопрос 5

Ответ: Сервис будет продолжать работать в фоновом режиме, но это он может остановить себя сам, когда выполнит работу. Или другие компоненты также могут убить его, используя stopService (), или Android может также убить сервис в случае нехватки памяти.

Вопрос 6

Ответ: Все перечисленное.

Вопрос 7

Ответ: Так как обновление интерфейса из другого потока непосредственно не представляется возможным, создать коммуникацию с главным UI потоком для обновления пользовательского интерфейса.

Вопрос 8

Ответ: startForeground (int id, Notification notification), используйте эту функцию в оnCreate () вашего сервиса.

Вопрос 9

Ответ: Нет необходимости создавать новый поток в сервисе, это не требуется в этом случае. Потому что сервис работает в главном потоке. Так как наше приложение не имеет какой-либо активности, все будет ОК, если запустить сервис в главном потоке.

Вопрос 10

Ответ: Передать данные в putextras намерения и использовать startService () с этим намерением.

Сохранить данные в общую базу данных и обеспечить доступ к ним как из активности, так и из сервиса.

Вопрос 11

Ответ: Если вы хотите обновить интерфейс в сервисе, вызовите динамически зарегистрированный приемник в активности из сервиса. И обновите пользовательский интерфейс из этого динамического приемника этой активности.

Вопрос 12

Ответ: Все перечисленное.

Вопрос 13

Ответ: Используя метод onServiceDisConnected (), эта функция будет вызываться, если соединение нарушается.

Вопрос 14

Ответ: Сервис мертв и выведен из памяти.

Вопрос 15

Ответ: 1. Создать сервис, реализовать оnCreate (), onBind (), onUnbind (), оnDestroy ()

2. Создать файл. aidl с интерфейсными функциями.

3. Реализовать автоматический генерируемый Binder класс заглушки в сервисе.

4. Возвратить объект этого класса заглушки из onBind ().

Вопрос 16

Ответ: Если фоновая функциональность связана с активностью, использовать поток. Если нет, запустить сервис с потоком в нем.

Вопрос 17

Ответ: Да, вы можете иметь сервис, запущенный в главном потоке, только если вы не имеете какой-либо активности в главном потоке.

Вопрос 18

Ответ: Может привести к ANR (приложение не отвечает) ошибке, если ваше приложение имеет, по меньшей мере, одну активность, поскольку эта активность будет работать в потоке пользовательского интерфейса.

Вопрос 19

Ответ: Сервис не будет перезапущен системой Android, если метод onStartCommand () вернет START_NOT_STICKY.

Вопрос 20

Ответ: Мы не можем назвать его языком. Это легковесный текстовый формат, который используется для обмена данными между двумя системами, подключенными к сети. Он является альтернативой XML способом передачи данных между системами.

Вопрос 21

Ответ: Number, String, Boolean, null, Array, Object.

Вопрос 22

Ответ: Если данные небольшие – использовать пространства имен, если данные большие, использовать JSON. JSON быстрее, чем XML, поэтому разбор и загрузка будут быстрее. Многие веб-сайты и сервисы, включая Twitter, facebook, Google, LinkedIn использует JSON, а не XML.

Вопрос 23

Ответ: Код состояния доступен в строке состояния, которая содержит статус результата ответа сервера.

Если код состояния <= 400, то это означает успешное выполнение на стороне сервера.

Вопрос 24

Ответ: Это не даст никакой ошибки, но может привести к ANR до 2.3 версии. но начиная с 3,0 это является обязательным, чтобы все сетевые соединения производились в отдельном потоке. Иначе во время выполнения будет исключение NetworkOnMainThreadException.

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

Вопрос 25

Ответ: До Froyo (2.2) лучше использовать вариант DefaultHTTPClient или AndroidHttpClient, но после него лучше использовать HttpURLConnection.

Вопрос 26

Ответ: DefaultHttpClient client = new DefaultHttpClient ();

HttpPost post = new HttpPost (»http://mail.google.com/");

List <NameValuePair> params = new ArrayList <NameValuePair> (3);

params. add (new BasicNameValuePair («Email», "username@gmail.com»));

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

Ответ: JSON быстрее, чем XML, XML быстрее, чем SOAP. Но если мы хотим использовать SOAP в мобильных приложениях, мы можем использовать KSOAP, который разработан для встраиваемых устройств и который быстрее.

Вопрос 28

Ответ: JSONException

Вопрос 29

Ответ: JSONObject

JSONArray

Вопрос 30

Ответ: Использовать функцию length ().

Вопрос 31

Ответ: Google Cloud Messaging для chrome (GCM) является сервисом для зарегистрированных пользователей Chrome, который помогает разработчикам отправить данные в сообщении с серверов для их Chrome приложений и расширений. Сервис предназначен для связи с приложениями или расширениями, и/или уведомлений пользователя. Например, обновления календаря могут быть переданы пользователю, даже если приложение календаря не является открытым.

Google Cloud Messaging для Android (GCM) является сервисом, который позволяет отправлять данные с вашего сервера для пользователя Android-устройства, а также получать сообщения от устройства с помощью такого же соединения.

Вопрос 32

Ответ: ClientProtocolException, IOException, UnsupportedEncodingException, XmlPullParserException.

Вопрос 33

Ответ: finish ()

Вопрос 34

Ответ: onPrepareOptionsMenu может быть использован для включения/отключения некоторых пунктов меню в Android приложении.

Вопрос 35

Ответ: Margin определяет дополнительное пространство для всех четырех сторон представления. Margin пространство, как правило, за границами представления. Чтобы оставить пространство на левой стороне, использовать android: layout_marginLeft, чтобы оставить пространство на других сторонах, использовать android: layout_marginRight, android: layout_marginTop, android: layout_marginBottom.

Padding используется, чтобы содержимое представления имело отступ в пикселях. Используйте android: padding

android: paddingBottom

android: paddingLeft

android: paddingRight

android: paddingTop, чтобы установить отступы от различных сторон для содержимого представления.

Вопрос 36

Ответ: Все перечисленное.

Вопрос 37

Ответ: Запускает новую активность, соответствующую фильтру намерений, в новой задаче, если соответствующая задача не находится в памяти в настоящее время.

Вопрос 38

Ответ: Запускает новую активность в новой задаче, где только эта активность будет в этой задаче и никаких-либо других компонентов. Все новые компоненты будут запускаться из новой активности в другой задаче.

Вопрос 39

Ответ: Все перечисленное.

Вопрос 40

Ответ: Все перечисленное.

Вопрос 41

Ответ: Применение анимации перемещения и масштабирования при переходе от одной активности к другой активности называется анимацией активности, чтобы сделать вид, как будто они скользят и масштабируются.

Вопрос 42

Ответ: Все перечисленное.

Вопрос 43

Ответ: Все перечисленное.

Вопрос 44

Ответ: Все перечисленное.

Вопрос 45

Ответ: Все перечисленное.

Вопрос 46

Ответ: Правда, всегда любое приложение будет иметь по умолчанию один основной поток.

Вопрос 47

Ответ: ANR будет происходить, если мы выполняем какие-либо тяжелые операции в UI главном потоке. Если две тяжелые функциональности произойдут в одном потоке, это приведет к задержке ответа на действия пользователя, что может раздражать пользователя, и, следовательно, остановить весь процесс.

Решение – запускать только компоненты пользовательского интерфейса в основном потоке.

Вопрос 48

Ответ: Один процесс, один поток. Да, это возможно, чтобы работать в более чем одном процессе.

Вопрос 49

Ответ: Если поток-а хочет отправить сообщение в поток-б, тогда Looper потока-б должен быть подготовлен, чтобы получить сообщение, отправленное другими. Также возможно с помощью HandlerThread создавать межпоточную коммуникацию.

Вопрос 50

Ответ: Запросить основной поток через коммуникацию между потоками с использованием Handler или функции runOnUiThread, и манипулировать UI.

Тест 13

Вопрос 1

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

Использовать Intent Service.

Вопрос 2

Ответ: 1 главный поток, созданный Android системой.

Вопрос 3

Ответ: Android поддерживает многозадачность на уровне приложения также. Нажатие домашней кнопки на текущей задаче переведет ее в фоновый режим, а затем вы можете начать новую задачу из загрузчика. Вместе с тем, есть еще один способ начать новую задачу с помощью FLAG_NEW_TASK, когда вы запускаете новую активность.

Вопрос 4

Ответ: Да, Android поддерживает и многозадачность и многопоточность.

Вопрос 5

Ответ: Все перечисленное.

Вопрос 6

Ответ: Можно использовать любой из указанных выше механизмов, но использование сериализации в Android является не подходящим, потому что это задерживает механизм IPC.

Вопрос 7

Ответ: Android следует однопоточной модели пользовательского интерфейса, так что другие потоки не могут обновлять интерфейс. Другой поток может обновить интерфейс с помощью Handler или метод runOnUIThread ().

Вопрос 8

Ответ: Возможно через Handler Thread. Потому что Handler Thread позволяет передавать сообщения с помощью Looper. Без Handler Thread этого также можно добиться через обычный поток, если программист подготовит свой Looper программно.

Страницы: «« ... 5354555657585960 ... »»

Читать бесплатно другие книги:

Мир оборотней изменился. Грядет борьба за трон: помимо принца из клана белых волков на власть претен...
Доклад Национального разведывательного совета США, опубликованный в этой книге, позволяет узнать, ка...
Равновесие нарушено, и достаточно одного неверного шага, чтобы мир покатился в пропасть войны. Готов...
Алмазный век кончился. Грядут перемены. Возможно, они станут для империи роковыми. Восстают колонии,...
Настоящий вызов бросил неведомый преступник доморощенной сыщице Елене – прямо на ее балконе он зарез...
У тележурналистки Елены выдался еще тот денек! С утра ее сбили автомобилем, потом усыпили хлороформо...