Сборник тестов: 1500 вопросов и ответов на знание Android - Тимур Машнин
Шрифт:
Интервал:
Закладка:
При подключении к серверу Google Android приложения, какие исключения необходимо обрабатывать?
ClientProtocolException, IOException, UnsupportedEncodingException, XmlPullParserException.
ClientException, IOException, UnsupportedEncodingException, XmlPullParserException.
ClientProtocolException, IOError, UnsupportedEncodingException, XmlPullParserException.
ClientProtocolException, IOError, UnsupportedEncodingException.
Вопрос 33
Какой метод нужно вызвать, чтобы активность закрыла себя сама?
finish ()
finishActivity ()
onDestroy ()
Вопрос 34
Что из следующего верно о включении/отключении пунктов меню в классе активности?
Пункты меню в Android приложении не могут быть отключены.
onCreateOptionsMenu может быть использован для включения/отключения некоторых пунктов меню в Android приложении.
onPrepareOptionsMenu может быть использован для включения/отключения некоторых пунктов меню в Android приложении.
onShowOptionsMenu может быть использован для включения/отключения некоторых пунктов меню в Android приложении.
Вопрос 35
В чем разница между margin и padding в Android?
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, чтобы установить отступы от различных сторон для содержимого представления.
Margin это отступ для содержимого представления, и padding является пространством за границами представления.
Все перечисленное.
Вопрос 36
Как достичь цельности Android приложения. В чем смысл цельности?
При обработке onSaveInstanceState, цельность означает непрерывный поток приложения.
При обработке изменения конфигурации, цельность означает непрерывный поток приложения.
При обработке нехватки памяти, цельность означает непрерывный поток приложения.
Все перечисленное.
Вопрос 37
Что флаг FLAG_ACTIVITY_NEW_TASK делает в следующем коде?
Intent in = new Intent ();
in. setAction («com. android. myproject. MYACTION»);
in. setFlags (Intent. FLAG_ACTIVITY_NEW_TASK);
startActivity (in);
Варианты:
Запускает новую активность, соответствующую фильтру намерений, всегда в новой задаче.
Запускает новую активность, соответствующую фильтру намерений, в новой задаче, если соответствующая задача не находится в памяти в настоящее время.
Запускает новую активность, соответствующую фильтру намерений, всегда в старой задаче. Здесь старая задача означает задачу, в которой работает текущая активность, которая запустила новую активность.
Запускает новую активность в новой задаче, где только эта активность будет в этой задаче и никаких-либо других компонентов. Все новые компоненты будут запускаться из новой активности в другой задаче.
Вопрос 38
Что флаг FLAG_ACTIVITY_SINGLE_INSTANCE делает в следующем коде?
Intent in = new Intent ();
in. setAction («com. android. myproject. MYACTION»);
in. setFlags (Intent. FLAG_ACTIVITY_SINGLE_INSTANCE);
startActivity (in);
Варианты:
Запускает новую активность, соответствующую фильтру намерений, всегда в новой задаче.
Запускает новую активность, соответствующую фильтру намерений, в новой задаче, если соответствующая задача не находится в памяти в настоящее время.
Запускает новую активность, соответствующую фильтру намерений, всегда в старой задаче. Здесь старая задача означает задачу, в которой работает текущая активность, которая запустила новую активность.
Запускает новую активность в новой задаче, где только эта активность будет в этой задаче и никаких-либо других компонентов. Все новые компоненты будут запускаться из новой активности в другой задаче.
Вопрос 39
Что из следующего является непрямым под-классом класса Activity?
ActionBarActivity
LauncherActivity
PreferenceActivity
TabActivity
Все перечисленное.
Вопрос 40
Что выполняет ActivityManager в Android?
Менеджер активность используется для мониторинга и управления стеком активностей.
Мы можем использовать менеджер активности, чтобы получить информацию о задачах, которые пользователь недавно посетил, информацию о запущенных процессах, информацию о задаче, которая в настоящее время работает, и т. д.
Все перечисленное.
Вопрос 41
Что такое анимация активности в Android?
Проигрывать анимацию в активности называется анимацией активности.
Применение анимации перемещения и масштабирования при переходе от одной активности к другой активности называется анимацией активности, чтобы сделать вид, как будто они скользят и масштабируются.
Все перечисленное.
Вопрос 42
Что представляет собой activity transition animation в Android? Как сделать activity transition animation?
Transition это механизм для автоматической анимации изменения, которые происходят, когда новая сцена вводится.
Когда Transition применяется при переходе от одной активности к другой активности, тогда кажется, что новая активность скользит справа налево. Во время движения новой активности, вы можете применить некоторые анимации к старой активности, например, как если бы она исчезает с помощью изменения альфа.
Пример кода:
Перейти к resources – > anim папка – > создать opening_trans. xml
<set xmlns: android="http://schemas.android.com/apk/res/android">
<translate android: fromXDelta=«100 %»
android: toXDelta=«0 %»
android: duration="@android: integer/config_mediumAnimTime» />
</set>
Перейти к resources-> anim папка-> создать closing_scale. xml
<set xmlns: android="http://schemas.android.com/apk/res/android">
<scale android: fromXScale=«80%p»
android: toXScale=«100%p»
android: fromYScale=«80%p»
android: toYScale=«100%p»
android: pivotX=«50%p»
android: pivotY=«50%p» android: duration="@android: integer/config_mediumAnimTime» />
<alpha android: fromAlpha=«0.5»
android: toAlpha=«1.0»
android: duration="@android: integer/config_mediumAnimTime»/>
</set>
Перейти к активности
@Override
protected void onCreate (Bundle savedInstanceState)
{
super. onCreate (savedInstanceState);
//apply opening animation
overridePendingTransition (R. anim. opening_trans, R. anim. closing_scale);
}
Все перечисленное.
Вопрос 43
Как скрыть клавиатуру в Android?
Программно можно закрыть виртуальную клавиатуру с помощью следующего кода:
InputMethodManager inputManager = (InputMethodManager)
this. getSystemService (Context. INPUT_METHOD_SERVICE);
inputManager. hideSoftInputFromWindow (this. getCurrentFocus (). getWindowToken (),
InputMethodManager. HIDE_NOT_ALWAYS);
Программно можно закрыть виртуальную клавиатуру с помощью следующего кода:
getWindow (). setSoftInputMode (WindowManager. LayoutParams. SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Если это не делать посредством программирования, пользователь может скрыть виртуальную клавиатуру с помощью жеста сверху вниз очень быстро. Многие из виртуальных клавиатур поддерживают эту операцию, чтобы скрыться.
Все перечисленное.
Вопрос 44
Какие размеры экрана доступны или поддерживаются в Android?
Android поддерживает 4 варианта размеров экрана: small, normal, large, extra large.
Экраны xlarge по меньшей мере 960dp x 720dp, large экраны по меньшей мере 640dp x 480dp, normal экраны по меньшей мере 470dp x 320dp, small экраны по меньшей мере 426dp x 320dp.
Все перечисленное.
Вопрос 45
Как получить разницу между двумя датами в Android?
Предположим, что есть две даты D1 и D2.
long dif_dates = d1.getTime () – d2.getTime ();
long secs = dif_dates / 1000;
long mins = secs / 60;
long hours = mins / 60;
long days = hours / 24;
Предположим, что у вас есть две даты secondDate и firstDate.
long dateDif = secondDate. getTime () – firstDate. getTime ();
long difference = TimeUnit. MILLISECONDS. toSeconds (dateDif);
Все перечисленное.
Вопрос 46
Каждое приложение имеет по умолчанию один поток. Правда это или ложь?
Ложь, по умолчанию, нет ни одного потока, доступного для данного приложения.
Правда, всегда любое приложение будет иметь по умолчанию один основной поток.
Правда, но это не всегда. Иногда приложение может не иметь поток.
Вопрос 47
Что такое ANR (application not responding)? Что является причиной этой проблемы и какое решение этой проблемы?
ANR будет происходить, если мы выполняем какие-либо тяжелые операции в UI главном потоке. Если две тяжелые функциональности произойдут в одном потоке, это приведет к задержке ответа на действия пользователя, что может раздражать пользователя, и, следовательно, остановить весь процесс.
Решение – запускать только компоненты пользовательского интерфейса в основном потоке.
ANR будет происходить, если мы запускаем UI в другом рабочем потоке. Так как другие потоки не должны иметь доступ к интерфейсу, это может закрыть приложение.
Решение – не касайтесь компонентов пользовательского интерфейса из других потоков, из не основного потока.
ANR будет происходить, если мы выполняем какие-либо тяжелые операции с UI в единственном главном потоке. Если две тяжелые функциональности произойдут в одном потоке, это закроет интерфейс, потому что поток может выполнять одну функциональность.
Решение – запускать только компоненты пользовательского интерфейса в основном потоке.
ANR будет происходить, если мы выполняем какие-либо тяжелые операции с UI в единственном главном потоке. Если две тяжелые функциональности возникают в одном потоке, это приведет к задержке ответа на действия пользователя, что может раздражать пользователя, и, следовательно, остановить весь процесс.