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

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

Вопрос 37

Где указываются фильтры намерений и почему?

Фильтры намерений всегда находятся в AndroidManifest. xml, потому что Android система использует фильтры намерений, для того чтобы найти подходящий компонент для обработки намерения. Фильтр намерения определяет намерение, на которое компонент может реагировать.

Мы можем определять intent-filter в Java коде также, в случае динамических приемников вещания.

В styles. xml, потому что Android система использует фильтр намерений, чтобы определить, для какой активности, какой стиль должен быть загружен.

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

Вопрос 38

Как сохранить переходные состояния в жизненном цикле активности? Если я использую некоторые переменные, которые будут меняться на основе жизненного цикла активности, тогда где я должен сохранить эти переменные, в случае изменения конфигурации?

Сохранить все эти переменные в onSaveInstanceState ().

Сохранить с помощью функции onRetainNonConfigurationInstance.

Сохранить эти переменные в оnPause.

Android система сама сохранит и восстановит все эти переменные, так что программисту не нужно беспокоиться.

Вопрос 39

Могу ли я использовать метод onSaveInstanceState для сохранения всех моих переходных состояний?

Да, эта функция предназначена для этого.

Вы не должны использовать этот метод для сохранения очень больших объектов, так как это может занять время, чтобы сериализовать и де-сериализовать их.

Используйте этот метод только для сохранения небольших переходных состояний. Если мы хотим сохранить большие объекты, использовать функцию onRetainNonConfigurationInstance ().

Вопрос 40

Могу ли я сохранить обновления базы данных в методе onSaveInstanceState ()?

Да, вы можете сохранить, но убедитесь, что это не будет занимать слишком много времени.

Да, мы можем сохранить базу данных любого размера в этой функции.

Нет, потому что эта функция может быть не вызвана. Мы должны сохранить все обновления базы данных до или в функции оnPause (). Если вы сохраните базу данных в onSaveInstanceState, то эта функция не будет вызвана, если пользователь нажимает кнопку назад в активности. onSaveInstanceState () предназначена для сохранения текущего состояния, когда происходит изменение конфигурации, как, например, изменение ориентации экрана.

Вопрос 41

Если большие изображения загружаются из Интернета в методе оnCreate () активности, где сохранить их в случае изменения конфигурации (поворот телефона)?

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

Использовать функцию onRetainNonConfigurationInstances (), чтобы сохранить изображение.

Сохранить изображение в каком-либо файле или базе данных и получить его в методе оnCreate ().

Вопрос 42

При запуске активности из уведомления, она будет запущена в новой задаче или старой задаче?

Ни то, ни другое, она будет запущена в задаче NotificationManager.

Она будет запущена в старой задаче, которая предоставила pending intent для NotificationManager.

Она будет запущена в новой задачи всегда.

Вопрос 43

Что флаг FLAG_ACTIVITY_CLEAR_TOP делает в следующем коде?

Предположим, что стек активностей A-> B-> C-> D. Код в настоящее время работает в активности «D». Теперь, что будет происходить в этом сценарии?

Intent in = new Intent (this, B. class);

in. setFlags (Intent. FLAG_ACTIVITY_CLEAR_TOP);

startActivity (in);

Код запускает еще один экземпляр активности «B» на вершине активности «D». Так что это будет выглядеть как A-> B-> C-> D-> B.

Код не будет запускать еще один экземпляр активности «B» на вершине активности «D». Вместо этого код отправит новое намерение в метод onNewIntent () активности «B» и B появится на вершине D. Так что это будет выглядеть как A-> C-> D-> B.

Код не будет запускать еще один экземпляр активности «B» на вершине активности «D». Вместо этого код отправит новое намерение в метод onNewIntent () активности «B» и активности C, D будут уничтожены автоматически, так что стек будет выглядеть A-> B.

Код запустит новый экземпляр активности «B» в другой задаче, так что две задачи будут доступны. Задача 1: А-> В-> С-> D и задача 2: В.

Вопрос 44

Если активность насильно закрыта системой Android из-за изменения ориентации экрана, как сохранить UI состояние?

Сохраните все ваши характеристики пользовательского интерфейса в onSaveInstanceState ().

Сохраните все ваши состояния пользовательского интерфейса, используя функцию onRetainNonConfigurationInstance.

Сохраните все ваши состояния пользовательского интерфейса в оnPause.

Android сохранит и восстановит интерфейс автоматически, поэтому программисту не нужно беспокоиться.

Вопрос 45

Что такое weightSum и weight?

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

weight свойство указывает, какая часть оставшегося места должно быть взято этим представлением. weightSum указывает общий вес представлений планировки. Если weightSum не предоставляется для макета, тогда weightSum будет автоматически рассчитано путем суммирования весов дочерних представлений в этом макете. Это всегда хорошая практика, чтобы установить weightSum для родительского макета при настройке весов дочерних представлений.

weight свойство указывает, какая часть оставшегося места должно быть взято этим представлением. weightSum указывает общее количество представлений, находящихся в этом макете. Если weightSum не предоставляется для макета, тогда weightSum будет автоматически рассчитано путем суммирования весов дочерних представлений в этом макете.

weight свойство указывает, какая часть оставшегося места должно быть взято этим представлением. weightSum указывает сумму весов дочерних представлений. Если weightSum не предоставляется для макета, тогда weightSum будет автоматически рассчитано путем суммирования весов дочерних представлений в этом макете. Используйте weightSum в макете, только если вы не собираетесь добавить новое представление в макет. Это может создать проблемы, если вы хотите изменить или добавить новое дочернее представление с новым весом в существующий макет. Тогда вы должны убедиться, что вы измените сумму весов родительской компоновки. Иначе компоновка не будет работать, как требуется.

Вопрос 46

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

Используйте относительное расположение с кнопкой со следующими свойствами.

android: layout_alignParentBottom=«true»

android: layout_centerHorizontal=«true»

Используйте относительное расположение с кнопкой со следующими свойствами.

android: layout_alignParentBottom=«true»

android: layout_gravity=«center|horizontal»

Используйте линейную компоновку с кнопкой со следующими свойствами.

android: layout_alignParentBottom=«true»

android: layout_centerHorizontal=«true»

Вопрос 47

В listview, содержимое в каждом TextView должно быть соответствующим на всех типах мобильных устройств? Как достичь этого?

Не определять ширину TextView в пикселях или dp значениях. Используйте wrap_content для его ширины и высоты.

Если TextView имеет фоновое изображение, убедитесь, что версии одного и того же изображения различной плотности доступны в различных drawable папках. Убедитесь, что это 9 patch изображение.

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

Вопрос 48

Какие обязательные функции, которые должны быть реализованы в классе AsyncTask?

Только doInBackground ().

onPreExecute ().

onPostExecute ().

onProgressUpdate.

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

Вопрос 49

Как остановить поток в Android?

Используйте stop () метод класса Thread.

Используйте изменяемый логический флаг, на основе которого возвращать из метода run () класса Thread.

void run () {

if (!shouldContinue) {

return 1;

}

then rest of the thread code

}

Использовать exit () метод в методе run (), чтобы выйти и остановить поток.

Вопрос 50

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

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

Потому что синхронизация является дорогостоящей по сравнению с однопоточной моделью. Используя синхронизацию также можно манипулировать UI из других потоков. Но Android не следует этой модели, потому что это очень дорого с точки зрения процессорного времени.

Потому что синхронизация не возможна для интерфейса.

Потому что только поток пользовательского интерфейса может получить доступ к UI.

Тест 15

Вопрос 1

Можно ли запустить AsyncTask из фонового потока?

Да, мы можем запустить AsyncTask из любого потока.

Это не является обязательным, чтобы не запускать AsyncTask из рабочего потока, но это не создаст никакой проблемы, даже если мы сделаем так.

Это является обязательным, чтобы запускать AsyncTask только из основного потока, иначе может быть крушение во время выполнения, когда мы попытаемся получить доступ к интерфейсу из методов onPreExecute, onProgressUpdate, onPostExecute.

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

Вопрос 2

Что произойдет, если execute () функция AsyncTask вызовется более чем один раз, для объекта AsyncTask?

Это создаст еще один поток/AsyncTask объект.

Не будет никакого эффекта, потому что AsyncTask объект уже ббыл создан при первом вызове.

Мы не должны вызывать execute () более, чем один раз для одного объекта, будет бросаться исключение во время выполнения.

Это даст ошибку во время компиляции, если мы попытаемся сделать это.

Вопрос 3

Сколько потоков создается с помощью AsyncTask?

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

Он создает только один поток, независимо от того, сколько объектов создано для класса AsyncTask.

До donut – он использовался, чтобы создать один поток, с 1,6 до 2,3 – использовался для создания нескольких потоков, начиная с 3,0 – он снова используется для создания одного потока.

Он не создаст потока.

Вопрос 4

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

Используйте IntentService, если вы не хотите взаимодействовать с UI.

Используйте AsyncTask, если вы хотите взаимодействовать с UI.

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

Вопрос 5

В каком потоке функции AsyncTask выполняются?

Все четыре функции выполняются в контексте рабочего потока.

Все четыре функции выполняются в контексте главного потока.

onPreExecute, onProgressUpdate, onPostExecute – работают в фоновом потоке, doInBackGround – работает в MainThread.

onPreExecute, onProgressUpdate, onPostExecute – работают в главном потоке, doInBackGround – работает в фоновом потоке.

Вопрос 6

Все компоненты Android приложения работают в одном и том же потоке?

Это зависит от числа компонентов в этом приложении.

Это зависит от числа компонентов в этом приложении, потому что активность, сервис, приемник и контент-провайдер будут создавать поток по умолчанию внутри.

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

Процесс или приложение по умолчанию не будет иметь никакого потока.

Вопрос 7

Какие обязательные функции, которые мы должны реализовать при написании пользовательского адаптера путем расширения класса BaseAdapter?

getView

getItem

getItemId

getCount

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

Вопрос 8

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

Это невозможно. Мы можем дать только один цвет для представлений, потому что у нас есть только один XML-файл для представлений в ListView.

Возьмите два XML файла макетов для представлений. Первый файл XML будет содержать представление с красным цветом, и второй файл XML будет содержать представление с зеленым цветом. В пользовательском адаптере ListView, перейдите к методу getView () и проверьте текущее положение, если оно делится на 2 применить первый XML файл, иначе применить второй XML файл.

Взять один XML-файл для представления. Перейти к пользовательскому адаптеру ListView и перейти к getView () методу. В этом методе проверить текущее положение, если оно делится на 2 установить один цвет фона для представления, иначе установить другой цвет фона для того же представления.

Вопрос 9

В пользовательском адаптере, что такое параметр converView в функции getView ()?

public View getView (int position,

View convertView, ViewGroup parent) {

}

Он содержит информацию о том, какое представление пользователь нажал в adapterview.

Он будет нулевым, если Android возвращает предыдущее представление, которое было создано и вышло из области видимости, для повторного использования.

Он будет не нулевым, если Android возвращает предыдущее представление, которое было создано и вышло из области видимости, для повторного использования.

Это для обратной совместимости, он всегда будет нулевым.

Вопрос 10

В методе getView () пользовательского адаптера, во время получения представления, что произойдет, если мы передадим true, как последний параметр функции inflate?

public View getView (int position,

View convertView, ViewGroup parent) {

RelativeLayout rl = (RelativeLayout getLayoutInflater ()

inflate (R. layout. row, parent, false);

}

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

Ничего не произойдет, так как код создает только одно представление в родительском представлении адаптера.

Код не создаст представление, если мы передадим true, как последний параметр.

Вопрос 11

Android ListView с пользовательской строкой с радио-кнопкой.

Если row. xml имеет радио-кнопку и текстовое представление, то будет ли onItemClickListener работать для этого представления адаптера (предположим ListView), для которого мы устанавливаем этот пользовательский адаптер?

public View getView (int position,

View convertView, ViewGroup parent) {

RelativeLayout rl = (RelativeLayout) getLayoutInflater ().

inflate (R. layout. row, parent, false);

}

Если пользователь нажимает на любой элемент каждой строки, это будет вызывать функцию onItemClickListener в adapterView.

Код не будет вызывать функцию onItemClickListener, если есть какие-либо элементы, принимающие фокус, такие как радио-кнопки, доступные в каждой строке. Чтобы решить это, сделайте android: focusable=«false» в XML файле строки.

код никогда не будет вызывать функцию onItemClickListener, сделаем ли мы android: focusable false или true для радио-кнопки.

Это зависит от того, если пользователь нажимает на кнопку радио, тогда код не будет вызывать onItemClickListener в adapterview, если пользователь нажимает на TextView тогда код будет вызывать эту функцию.

Вопрос 12

Какой класс является базовым классом для любого Android приложения?

Activity

Application

Manifest

Applet

Вопрос 13

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

Размер и плотность экрана

Конфигурации ввода

Версия платформы

Опции устройства

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

Вопрос 14

Что делает инструмент 9-patch в Android?

Мы можем установить коэффициент масштабирования для х, у направления изображения, используя этот инструмент. Это гарантирует, что изображение будет растянуто и сжато соответствующим образом в зависимости от размеров экрана.

Мы можем установить коэффициент масштабирования для х, у направления изображения, используя этот инструмент. Это гарантирует, что содержимое изображения будет установлено в правильном положении в представлении.

Мы можем установить фактор отступа для X, Y направления изображения, используя этот инструмент. Это гарантирует, что содержимое этого изображения будет выровнено.

Мы можем установить фактор отступа для X, Y направления изображения, используя этот инструмент. Это гарантирует, что изображение будет растянуто и сжато соответствующим образом в зависимости от размеров экрана.

Вопрос 15

Как сохранить изображения активности в Android галерее?

Используйте API файловой системы для хранения изображений или файлов в приложении галереи.

MediaStore. Images. Media. insertImage (getContentResolver (), yourBitmap, yourTitle, yourDescription);

ContentValues values = new ContentValues ();

values. put (Images. Media. DATE_TAKEN, System. currentTimeMillis ());

values. put (Images. Media. MIME_TYPE, «image/jpeg»);

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

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

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