Сборник тестов: 1500 вопросов и ответов на знание Android
Шрифт:
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» в другой задаче, так что две задачи будут доступны. Задача 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.