Полная версия
Сборник тестов: 1500 вопросов и ответов на знание Android
@Override
public void onCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (R. layout. main);
}
@Override
public void onCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
Button b;
setContentView (b);
}
@Override
public void onCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
Button b = new Button (this);
setContentView (b);
}
@Override
public void onCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
Button b = findViewById (R. id. button1);
setContentView (b);
}
Вопрос 26
Какая функция жизненного цикла будет вызвана в случае изменения конфигурации?
onStop ()
onPause ()
onSaveInstanceState ()
Вопрос 27
Могу ли я сохранить все мои обновления таблиц базы данных в методе оnStop () активности?
Да это можно.
Нет, использовать onSaveInstanceState
Нет, потому что оnStop никогда не будет вызван
Нет, потому что оnStop () может быть не вызван в некоторых ситуациях.
Вопрос 28
Какая разница между persistent данными и transient данными?
Постоянные данные это временные данные, например, создание массива в программе.
Переходные данные это временные данные, которые мы храним в таблицах базы данных.
Постоянные данные это данные, которые мы храним, например, в таблицах базы данных, и переходные данные это логические данные, которые мы используем в программной логике.
Вопрос 29
Что произойдет, если super. oncreate () в оnCreate () функции активности будет закомментировано?
Ошибка времени компиляции.
Исключение во время работы.
Ничего не произойдет, будет выполнено с пустым окном.
Ничего не произойдет, будет выполнено с нормальным выводом.
Вопрос 30
В чем разница между this context и getapplicationcontext? Какой из них использовать и когда?
Никакой разницы, они одинаковы.
this указывает на весь процесс, контекст приложения указывает на текущий класс.
this указывает на текущий контекст, контекст приложения указывает на весь процесс. Если ваш контекст это полное время жизни процесса, тогда использовать контекст приложения, иначе использовать this.
Вопрос 31
Где зарегистрировать широковещательный приемник, который обновляет интерфейс? Если у меня есть широковещательный приемник, который обновляет мой интерфейс часто, то где я должен зарегистрировать этот широковещательный приемник в моей функции жизненного цикла активности?
oncreate ()
onstart ()
onresume ()
onsaveinstancestate ()
Вопрос 32
Большое изображение загружено из Интернета в методе оnCreate () активности. Можно ли сохранить его в onsaveinstancestate () в случае configurationChanges?
Да
Нет, мы должны сохранить его в оnPause ().
Нет, мы должны использовать статическую ссылку на него.
Нет, нам не нужно его сохранять вообще.
Вопрос 33
Приложение имеет один широковещательный приемник, чей оnReceive () метод в настоящее время выполняется, сервис в рабочем состоянии; тогда какой приоритет у процесса?
service process priority (3)
empty process (5)
foreground process (1)
visible process (2)
Вопрос 34
Что такое BroadcastReceiver в Android?
Это Android компонент, который реагирует на системные широковещательные сообщения.
Он действует как шлюз между внешним миром и вашим приложением.
Все перечисленное.
Вопрос 35
Широковещательный приемник работает в каком потоке по умолчанию?
Главный поток.
Фоновый поток.
Нет потока.
Вопрос 36
Что произойдет, если широковещательный приемник свяжется с binder service? Возникнет ли проблема?
Нет, не следует связывать сервис с широковещательным приемником.
Нет, не следует связывать сервис с широковещательным приемником, потому что широковещательный приемник имеет ограничение по времени в 10 секунд, и установление соединения с сервисом может занять больше времени.
Нет проблем не возникнет при связывании сервиса с широковещательным приемником.
Нет проблем не возникнет при связывании сервиса с широковещательным приемником, потому что приемники не имеют какой-либо временного ограничения, чтобы выполнить функциональность.
Вопрос 37
Можно ли запустить сервис из широковещательного приемника?
Да можно использовать функцию startService ().
Нет, никогда нельзя запустить сервис из широковещательного приемника.
Вопрос 38
В чем разница между широковещательным приемником и сервисом?
BroadcastReceiver это как шлюз для других компонентов, может выполнять небольшую фоновую работу в течение 10 секунд. Сервис может выполнять длительную работу в фоновом режиме без UI и без ограничения времени.
Сервис это как шлюз для других компонентов, может выполнять небольшую фоновую работу в течение 10 секунд. BroadcastReceiver может выполнять длительную работу в фоновом режиме без UI и без ограничения времени.
BroadcastReceiver это как шлюз для других компонентов, может выполнять небольшую фоновую работу в течение 10 секунд. Сервис может выполнять длительную работу в фоновом режиме без UI и без ограничения времени. Сервис может взаимодействовать с интерфейсом, если он хочет. Это не обязательно, чтобы сервис не имел интерфейс.
BroadcastReceiver это как шлюз для других компонентов, может выполнять небольшую фоновую работу в течение 10 секунд. Сервис может выполнять длительную работу в фоновом режиме без UI и без ограничения времени. Оба и приемник и сервис могут взаимодействовать с интерфейсом, если они этого захотят. У широковещательных приемников есть лимит времени в 10 секунд, и они реагируют на транслируемые сообщения.
Вопрос 39
Как запустить широковещательный приемник, когда загрузка устройства завершена?
Вопрос 40
В чем разница между sendbroadcast (), sendorderedbroadcast (), sendstickybroadcast ()?
sendbroadcast () – нормальное вещание.
sendorderedbroadcast () – мы можем установить приоритет.
sendstickybroadcast () – намерение передается для будущих пользователей.
sendbroadcast () – нормальное вещание, но также мы можем установить приоритет.
sendorderedbroadcast () – мы можем установить приоритет и установить результат. Не может блокировать вещание.
sendstickybroadcast () – намерение передается для будущих пользователей.
sendbroadcast () – нормальное вещание.
sendorderedbroadcast () – мы можем установить приоритет и установить результат. Может блокировать вещание.
sendstickybroadcast () – намерение передается для будущих пользователей.
sendbroadcast () – нормальное вещание, но также мы можем установить приоритет.
sendorderedbroadcast () – мы можем установить приоритет и установить результат. Может блокировать вещание.
sendstickybroadcast () – переданное намерение будет доступно только один раз.
Вопрос 41
Каким является жизненный цикл широковещательного приемника в Android?
onReceive ()
onCreate () -> onReceive ()
onCreate () -> onReceive () -> onDestroy ()
onReceive () -> onDestroy ()
Вопрос 42
В каком потоке широковещательный приемник работает?
Worker thread
Kernel thread
Main Thread
Ничего из перечисленного.
Вопрос 43
Чтобы сообщить что-то для пользователя от широковещательного приемника, следует использовать диалоговые окна или уведомлений? Почему?
Использовать диалоговые окна, потому что они более заметны, чем уведомления.
Используйте уведомления, потому что приемник должен закончить свою работу в течение 10 секунд.
Используйте уведомления, потому что показ диалога внезапно может раздражать пользователя.
Используйте и диалоги и уведомления.
Вопрос 44
Как создать широковещательный приемник без регистрации его в файле манифеста?
Каждый компонент должен зарегистрироваться в файле манифеста.
Мы можем зарегистрировать приемник динамически в коде с помощью registerReceiver.
Мы можем зарегистрировать приемник статически в коде.
Каждый компонент должен зарегистрироваться в файле манифеста, потому что без фильтра намерений не возможно запустить код.
Вопрос 45
Как отправить BATTERY_LOW трансляцию? Нужно использовать sendbroadcast () или sendstickybroadcast? Почему?
Используйте sendBroadCast (), потому что для sendstickybroadcast вам, возможно, потребуется получить разрешение.
Использовать sendStickyBroadCast (), потому что логически эта трансляция должна быть доступна для будущих пользователей.
Мы можем использовать оба метода.
Использовать sendOrderedBroadcast (), потому что трансляция должна быть упорядочена должным образом.
Вопрос 46
Как установить сигнал для срабатывания после двух дней? Предположим, что пользователь может выключить телефон в промежутке.
Используйте AlarmManager и вызов set (), чтобы установить сигнал после 2 дней. Даже если телефон выключается все сработает.
Используйте AlarmManager и вызов set (), чтобы установить сигнал после 2 дней. Если телефон будет выключен, все сигналы тревоги будут отменены. Так что это не возможно.
Используйте AlarmManager и вызов set (), чтобы установить сигнал после 2 дней. Если телефон будет выключен, все сигналы тревоги будут отменены. Поэтому до выключения сохранять все детали сигнала в базе данных и воссоздать сигнал после включения.
Используйте AlarmManager и вызов set (), чтобы установить сигнал после 2 дней. Даже если телефон выключается все сработает, потому что, когда телефон выключается все сигналы отменяются, но когда телефон включается, Android вновь создает сигналы автоматически.
Вопрос 47
Как сделать так, чтобы запускать широковещательный приемник, только если моя активность находится в памяти?
Отправить трансляцию только тогда, когда ваша активность жива.
Регистрировать динамически приемник в этой активности.
Регистрировать статически приемник в файле манифеста.
Этого невозможно достичь.
Вопрос 48
Как сделать так, чтобы приемник срабатывал сразу после загрузки.
Вопрос 49
В чем разница между px, dp, dip и sp?
px – пиксели, dp – плотность пикселей, dip – плотность пикселей независимые, sp – масштабные независимые пиксели.
px – пиксели, dp – плотность фото, dip – плотность независимых фото, sp – масштабные независимые пиксели.
px – пиксели, dp – плотность пикселей независимые, dip – плотность пикселей независимые, sp – масштабные независимые пиксели.
px – пиксели, dp – плотность фото независимые, dip – плотность фото независимые, sp – масштабные независимые пиксели.
Вопрос 50
Что такое android:gravity атрибут в теге view?
Это, чтобы выровнять представление либо право/верх/низ/центр в своем родительском макете
Это, чтобы выровнять содержимое представления либо право/верх/низ/центр в данном представлении.
Это, чтобы выровнять родительский макет представления либо право/верх/низ/центр.
Это, чтобы указать вес представления по отношению к другим представлениям в этом макете.
Тест 11
Вопрос 1
В чем разница между линейной планировкой и относительным макетом?
Линейная планировка – организует элементы в вертикальном или горизонтальном режиме. Относительный макет – организует элементы относительно друг друга.
Линейная планировка – организует элементы только в вертикальном режиме. Относительный макет – организует элементы относительно друг друга.
Линейная планировка – организует элементы в любом абсолютном режиме. Относительный макет – организует элементы относительно других макетов.
Линейная планировка – организует элементы в вертикальном или горизонтальном режиме. Относительный макет – организует элементы в стек.
Вопрос 2
Как уничтожить активность?
finish ()
finishActivity (int requestcode)
kill ()
Все перечисленное.
Вопрос 3
Каким будет жизненный цикл активности в случае изменения конфигурации или изменения ориентации?
onPause () -> onSaveInstanceState () -> onCreate () -> onStart () -> onRestoreInstanceState () -> onResume ().
onPause () -> onSaveInstanceState () -> onStop () -> onCreate () -> onStart () -> onRestoreInstanceState () -> onResume ().
onPause () -> onSaveInstanceState () -> onStop () -> onDestroy () -> onCreate () -> onStart () -> onRestoreInstanceState () -> onResume ().
Может быть любым из вышеперечисленных в зависимости от ситуации.
Вопрос 4
Сколько видов линейных макетов есть в Android?
Абсолютный линейный макет, обычная линейная планировка.
Горизонтальное и вертикальное линейное расположение.
Фрейм и абсолютный линейный макет.
Линейная планировка и относительная линейная планировка.
Вопрос 5
Почему вы не должны создавать тяжелую функциональность в методе оnPause () вашей активности?
Потому что Android может убить вашу активность в любой момент времени.
Потому что пользователь с нетерпением ждет для отображения следующую активность.
Потому что имеется временное ограничение в 5 секунд.
Потому что имеется ограничение по времени в 10 секунд.
Вопрос 6
Что делать в методе onRestart () активности?
Загрузить XML-файл макета
Если произошли какие-либо изменения интерфейса, пока он находился в невидимом состоянии, обновить его в этой функции.
Если произошли какие-либо изменения интерфейса, пока он находился в рабочем состоянии, обновить его в этой функции.
Используется для перезагрузки всех ресурсов интерфейса в случае паузы активности, которая происходит в случае изменения конфигурации.
Вопрос 7
Можно ли передать курсор адаптеру массива в качестве источника?
Нет, потому что адаптер массива принимает только списки.
Да, потому что курсор также представляет один список.
Вопрос 8
Какие обязательные функции, которые должны быть реализованы в пользовательском адаптере?
onCreate (), onStart (), getView ()
getCount (), getView (), getItem (), getItemId ()
getView ()
getView (), getCount ()
Вопрос 9
Как создать пользовательский адаптер в Android?
Расширить класс Adapter.
Расширить ListAdapter.
Расширить либо один из классов Adapter либо BaseAdapter.
Расширить BaseAdapter.
Вопрос 10
Что представляет собой адаптер Android?
Мост между источником и макетом.
Мост между источником и представлением адаптера.
Мост между ListView и View.
Мост между представлением и активностью.
Вопрос 11
Что представляет собой adapterview? Сколько представлений адаптера доступно в Android?
ListView является adapterview, пример представления адаптера: ListView, TableLayout, spinner.
linear layout это adapterview, пример представления адаптера: linear layout, relative layout, frame layout.
Любое представление, которое принимает ввод от адаптера называется представлением адаптера. например: ListView, ImageView, spinner, GridView, и т. д.
Любое представление, которое принимает ввод от адаптера называется представлением адаптера. например: ListView, gallery, spinner, GridView, и т. д.
Вопрос 12
Когда активность уничтожается, она будет в памяти или удалится из памяти?
Да, все уничтоженные приложения будут удалены из памяти.
Да, все уничтоженные приложения будут удалены из памяти только через некоторое время.
Уничтоженное приложение будет удалено из памяти, если оно не часто посещается пользователем.
Уничтоженное приложение будет удалено из памяти, если оно не часто посещается пользователем. Если пользователь посещает приложение часто, то оно должно быть загружено много раз, потому приложение остается в пустом процессе в памяти.
Вопрос 13
Запустите приложение обмена сообщениями -> активность создания сообщения -> галерея -> камера -> кнопка домой. Теперь, в каком состоянии активность камеры?
onPause ()
onStop ()
onDestroy ()
onResume ()
Вопрос 14
Что такое Bundle? Что Bundle содержит в оnCreate () вашей активности?
Bundle всегда будет нулевой в оnCreate ().
Bundle содержит предыдущий savedInstantceState.
Bundle содержит предыдущий restoredInstanceState.
Bundle содержит информацию, переданную от другой активности, когда она была запущена с помощью startActivity ().
Вопрос 15
Как получить изображение из галереи в Android?
Intent in = new Intent ();
in. setType («image/*»);
in. setAction (Intent. ACTION_GET_CONTENT);
startActivityForResult (in, 0);
Intent in = new Intent ();
in. setType («image/*»);
in. setAction (Intent. ACTION_GET);
startActivityForResult (in, 0);
Intent in = new Intent ();
in. setType («image/*»);
in. setAction (Intent. ACTION_PICK);
startActivityForResult (in, 0);
Intent in = new Intent ();
in. setType (»*/*»);
in. setAction (Intent. ACTION_GET);
startActivityForResult (in, 0);
Вопрос 16
Если я хочу запустить некоторую тяжелую функциональность, которая потребляет много ресурсов батареи, как, например, запуск анимации или запуск камеры, я должен это сделать в оnCreate () или оnStart () или onResume () моей активности?
onStart ()
onCreate ()
onResume ()
Можно сделать это в любой функции.
Вопрос 17
Когда активность находится в остановленном состоянии, она находится еще в памяти или нет?
Когда метод оnStop () вызывается, тогда активность удаляется из памяти.
Когда метод оnStop () вызывается, тогда активность удаляется из памяти в доли секунды.
Когда метод оnStop () вызывается, активность по-прежнему остается в памяти и все ее состояния и переменные остаются нетронутыми.
Когда метод оnStop () вызывается, активность по-прежнему остается в памяти и все ее состояния и переменные остаются нетронутыми. Но она будет удалена из памяти в течении 5 секунд.
Вопрос 18
Как передавать данные между активностями? Скажем, передать идентификатор пользователя и пароль для следующей активности и отобразить его?
Intent in = new Intent ();
in. setAction («ACTION»); //this should match with other activity intent-filter
in. setData (Uri. parse («uid»,«tech»));
in. setData (Uri. parse («city»,«Bangalore»));
in. setData (Uri. parse («pw»,«android»));
Intent in = new Intent ();
in. setAction («ACTION»); //this should match with other activity intent-filter
in. putExtra («uid»,«tech»);
in. putExtra («city»,«Bangalore»);
in. putExtra («pw»,«android»);
Intent in = new Intent ();
in. setAction («ACTION»); //this should match with other activity intent-filter
in. putExtra («tech»);
in. putExtra («Bangalore»);
in. putExtra («android»);
Intent in = new Intent ();
in. setAction («ACTION»); //this should match with other activity intent-filter
in. putExtra («uid»);
in. putExtra («city»);
in. putExtra («pw»);
Вопрос 19
Что представляет собой активность в Android?
Каждый виджет в Android называется активностью.
Каждый экран в Android, с которым пользователь взаимодействует, называется активностью.
Любая активность имеет пользовательский интерфейс. Активность без пользовательского интерфейса невозможна.
Все перечисленное.
Вопрос 20
Какие макеты доступны в Android?
absolute layout
frame layout
relative layout
linear layout
frame layout
relative layout
linear layout
table layout
absolute layout
frame layout
relative layout
linear layout
table layout
Вопрос 21
Что следующий код делает? Предположим, что с содержит курсор строки изображения, выбранного пользователем в галереи.
String path = c. getString (c. getColumnIndex (
MediaStore. MediaColumns. DATA));
File f = new File (path);
String abspath = f. getAbsolutePath ();
Bitmap b = BitmapFactory.decodeFile (abspath);
Это получение пути этого изображения, а затем создание изображения с помощью этого пути.
Это извлечение пути этого изображения, затем преобразование его в абсолютный путь, затем создание растрового изображения из этого абсолютного пути, используя bitmapfactory класс.
Код принимает изображение, затем получает путь этого изображения, затем получает абсолютный путь этого изображения.
Код принимает изображение, затем получает путь этого изображения, затем получает абсолютный путь этого изображения, затем вставляет этот путь в таблицу.
Вопрос 22
Что представляет собой контекст в Android?
Это интерфейс для глобальной информации приложения.
Контексты, как правило, используются для создания новых компонентов или объектов, таких как представление. Контексты также используются, чтобы запустить активность или сервис или широковещательный приемник.
Есть два типа контекстов, контекст активности (this), и ApplicationContext. Вы можете получить контекст приложения методом getApplicationContext ().
Все перечисленное.
Вопрос 23
Что представляет собой фильтр намерений в Android?
Фильтр намерений говорит, какое неявное действие компонент может обработать.
Фильтр намерений говорит, что явное действие компонент может обработать.
Фильтр намерений это партнер для намерения. Android использует фильтр намерения перед запуском компонента для неявного намерения.
Все перечисленное.
Вопрос 24
Что такое pending intent в Android?
Намерение, которое придерживается Android системой для будущих пользователей.
Намерение, которое будет запущено или сработает в будущий момент времени от имени вашего приложения.
Все перечисленное.
Вопрос 25
В чем разница между ViewGroup и Layout?
ViewGroup – это невидимый контейнер и абстрактный класс. Layout более конкретная форма ViewGroup.
Layout – это невидимый контейнер и абстрактный класс. ViewGroup более конкретная форма Layout.
ViewGroup происходят из View, и Layout происходят из ViewGroup.
ViewGroup и Layout оба происходят только из класса View.
Все перечисленное.
Вопрос 26
Как обрабатывать события клавиш в Android?
Keyevents идут от активности к UI представлению. Если активность захочет, она может заблокировать любое событие клавиш.
Keyevents идут от активности к UI представлению. Но активность никогда не блокирует поток событий, но, если это требуется UI представление может заблокировать некоторые события, чтобы остановить их обработку активностью.
Keyevents идут от активности к UI представлению. Но активность никогда не блокирует поток событий, и UI представление не может блокировать события, чтобы остановить их обработку активностью.