Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Что должно быть добавлено в фрагмент кода, чтобы гарантировать вызов onCreateLoader() при создании нового загрузчика (Loader). Предполагается, что все необходимые библиотеки импортированы.
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getLoaderManager().initLoader(0, null, this); } @Override public Loader<Cursor> onCreateLoader(int id, Bundle args) { // Create and return a new Loader } }
имплементировать интерфейс LoaderManager.LoaderCallbacks в классе MainActivity передавать второй аргумент в метод initLoader(), отличный от null + получать ссылку на Loader не в onCreate(), а где-нибудь в другом месте наследовать (extend) класс MainActivity от LoaderManager вызвать метод createLoader() вместо initLoader()
flutesa
04.10.13 в 18:26
|
|
Вы работаете над приложением, производительность которого снижается каждый раз, когда запускается фоновая служба, которую оно использует. Пользовательский интерфейс начинает зависать и почти не откликается, поскольку служба выполняет свою работу. Почему при запуске службы снижается производительность?
в приложении не заданы необходимые полномочия + вся стандартная обработка в Android происходит в единственном потоке служба вызвала веб-сервис, который система не позволяет вызывать в приложении не выполнен zipalign цифровая подпись APK данного приложения недействительна
flutesa
04.10.13 в 18:41
|
|
Что произойдет, если элемент <application> в AndroidManifest.xml имеет icon, label атрибуты как у дочерней <activity>?
никакое значение не будет использоваться, так как Android не сможет определить приоритетное значения для <activity> переопределяют значения для <application> + сгенерируется ошибка компиляции из-за противоречивых значений сгенерируется ошибка выполнения из-за противоречивых значений значения для <activity> всегда игнорируются
flutesa
04.10.13 в 18:49
|
|
Категория intent (намерения):
описывает тип компонентов, который должен обрабатывать намерение указывает видимое пользователю описание намерения назначает фильтры полномочий для намерений в группах, а не одиночно упорядочивает опции, доступные в контекстном меню селектора действий + называет структуру пакета, которому принадлежит целевая деятельность
flutesa
04.10.13 в 19:13
|
|
"Ваше приложение локализовано для французского языка. То есть в файле res/values-fr-rFR/strings.xml все необходимые значения определены. Тем не менее, вы заметили, что на одном экране приложения метка текстового поля отображается на английском языке." Почему эта метка не отображается по-французски?
файл strings.xml с французским имеет неверный формат xml файл strings.xml с французским должен быть расположен в res/values-fr-FR, а не в res/values-fr-rFR пользователь в настройках установил автоматический перевод текстовых меток на английский язык код, осуществляющий перевод текстовой надписи, некорректно устанавливает французскую версию файла strings.xml в качестве источника данных + строка для данной метки отсутствует в файле strings.xml с французским, поэтому используется значение, указанное в файле strings.xml от умолчанию
flutesa
04.10.13 в 19:38
|
|
"Вы используете класс ListActivity для отображения экрана с одним ListView, из которого пользователь может выбрать пункт. Вы хотите изменить внешний вид этого экрана." Если предположить, что макет определён, какая строка кода позволит задать пользовательский шаблон с именем my_custom_layout?
+ setContentView(R.layout.my_custom_layout); setLayout(R.layout.my_custom_layout); defineLayout(R.layout.my_custom_layout); customContentView("R.layout.my_custom_layout"); setContentView("layout.my_custom_layout");
flutesa
04.10.13 в 19:44
|
|
Какой метод НЕ относится к жизненному циклу Activity?
onPause() + onSaveInstanceState() onCreate() onDestroy() onRestart()
flutesa
04.10.13 в 19:46
|
|
"Вы написали простой класс, реализующий SQLiteOpenHelper. В этом классе есть методы для различных операций с базой данных, например, создание записи о клиентах. Большинство операций, используют простые execSQL() выражения, но один из них является гораздо сложным и требует псевдонимов столбцов." Который класс удобен для создания более сложных запросов SQL?"
ExtendedQueryBuilder EnhancedSQLiteQuery + SQLiteQueryBuilder SQLiteComplexQuery ComplexQueryHelper
flutesa
04.10.13 в 19:53
|
|
Виджет ListView получает элементы для списка из:
ListViewProvider + ListAdapter ContentProvider DataAdapter ListDataManager
flutesa
04.10.13 в 19:47
|
|
Почему код не скомпилируется?
public class CustomerDBHelper extends SQLiteOpenHelper {
CustomerDBHelper(Context context) { super(context, "CustomerDatabase", null, 1); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE customers (lastName TEXT);"); }
}
null - недопустимое значение для третьего аргумента в конструкторе родительского класса SQLiteOpenHelper должен быть SQLiteDBHelper метод onOpen() не реализован выполняемый SQL-оператор не допустим + метод onUpgrade() не реализован
flutesa
04.10.13 в 19:59
|
|
При создании и использовании контент-провайдера, какие две части приведённого ниже URI можно пропустить? content://com.example.transportationprovider/trains/122
A: content:// B: com.example.transportationprovider/ + C: trains/ + D: 122
flutesa
04.10.13 в 20:15
|
|
Как нужно изменить код, чтобы открыть другим приложениям доступ к настройкам данного приложения только для чтения?
SharedPreferences settings = getSharedPreferences("MyPreferencesFileName", Context.MODE_PRIVATE); SharedPreferences.Editor pe = settings.edit(); pe.putString("MyText", "Hello!"); pe.commit();
Context.MODE_PRIVATE to Context.OTHER_APPS_READABLE Context.MODE_PRIVATE to Context.MODE_WORLD_READONLY Context.MODE_PRIVATE to Context.ALL_READABLE + Context.MODE_PRIVATE to Context.MODE_WORLD_READABLE Context.MODE_PRIVATE to Context.MODE_WORLD_WRITEONLY
flutesa
04.10.13 в 20:24
|
+1
|
Какой тип файла у скомпилированного исходного кода Java, предназначенного для платформы Android?
.cls .odex .dalvik + .dex .avm
flutesa
04.10.13 в 20:33
|
|
Какая утилита командной строки используется для просмотра отладочной информации?
tailer + logcat adblog traceview outview
flutesa
04.10.13 в 20:38
|
|
Какие четыре типа диалогов есть в Android?
Feedback, Progress, DateTimePicker, Input TextInput, Feedback, DataPicker, Toaster Message, Progress, DatePicker, TimePicker Immediate, Deferred, DataReciever, Progress + Alert, Progress, DatePicker, TimePicker
flutesa
04.10.13 в 20:39
|
|
Что происходит в первую очередь при отрисовке макета (layout)?
Computation - расчёт + Layout - разметка Measure - измерение MeasureSpec - спецификации родительского объекта Validation - утверждение
flutesa
04.10.13 в 20:48
|
|
Какая константа должна быть в коде на месте символов XXXXXXXXXX, чтобы принять данные от NFC метки? public void onResume() { super.onResume(); if (NfcAdapter.XXXXXXXXXX.equals(getIntent().getAction())) { Parcelable[] rawMsgs = intent.getParselableArraysExtra(NfcAdapter.EXTRA_NDEF_MESSAGES); if (rawMsgs != null) { msgs = new NdefMessage[rawMsgs.length]; for (int i = 0; i < rawMsgs.length; i++) { msgs[i] = (NdefMessage) rawMsgs[i]; } } } }
ACTION_PAYLOAD_FOUND ACTION_NFC_NDEF ACTION_TAG_DISCOVERED + ACTION_NDEF_DISCOVERED EXTRA_NDEF_MESSAGES
flutesa
05.10.13 в 14:59
|
+1
|
Из-за чего текст в приложении нигде не отобразится? Подразумевается, что код написан корректно, компилируется и запускается на устройстве без ошибок.
MyActivity.java --------------- package com.example.app;
import android.app.Activity; import android.os.Bundle;
public class ExampleActivity extends Activity {
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new MyDrawView(this)); }
}
MyDrawView.java --------------- package com.example.all;
import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.view.View;
public class MyDrawView extends View {
public MyDrawView(Context context) { super(context); }
protected void onDrawView(Canvas canvas) { Paint paint = new Paint(); paint.setColor(Color.GREEN); paint.setTextSize(25); paint.setAntiAlias(true); canvas.drawText(""Hello World"", 5, 30, paint); }
}
+ вместо метода onDrawView() должен быть метод onDraw() класс MyDrawView должен быть унаследован от SurfaceView вызов метода setContentView() должен ссылаться на значение в R.java super.onDraw(canvas) должен вызываться в методе onDrawView() - в классе MyDrawView нужно реализовать метод onDrawStart()
flutesa
05.10.13 в 15:20
|
|
Чтобы включить файлы со статическими данными приложения и получить к ним доступ во время выполнения, необходимо:
- поместить файлы в res/data и открыть их с помощью метода openResource(R.raw("<имя-файла>")) закодировать файлы в base64 и поместить их в res/data сохранить файлы где-нибудь в проекте и открыть их с помощью метода openStream("<имя_файла_с_путем>") + поместить файлы в res/raw и открыть их с помощью метода openRawResource(R.raw.<имя-файла>) использовать инструмент datafile для кодирования файлов в исходные файлы Java
flutesa
05.10.13 в 15:29
|
|
Каково назначение данного кода?
<permission-group android:description="@string/groupNetwork" android:icon="@drawable/networkIcon" android:label="@string/groupNetworkLabel" android:name="@string/groupNetwork" />
обеспечивает приложению права доступа к сетевым ресурсам информирует другие приложения Android, которые могут запускать компоненты, используя разрешение groupNetwork указывает, что приложение использует разрешение groupNetwork + объявляет логическую группу связанных разрешений объявляет настраиваемое разрешение с именем groupNetwork для обращения по ссылке для других приложений
flutesa
05.10.13 в 15:52
|
|
"Вы делаете меню приложения. Для этого создали XML-файл mainMenu.xml и поместили его в assets/menu. При попытке создать меню с помощью метода getMenuInflater().inflate(R.menu.mainMenu, viewGroup) меню не создается." Какие действия следует предпринять, чтобы устранить проблему?
вручную отредактировать файл R.java, добавив в него ссылку на XML-файл + переместить файл mainMenu.xml в res/menu использовать класс MenuFileInflater вместо MenuInflater использовать метод inflateFromFile() вместо inflate() передать значение true в качестве второго аргумента метода inflate()
flutesa
05.10.13 в 16:02
|
|
Что необходимо добавить в код, чтобы гарантировать возвращение фокуса на Button1, после того, как пользователь переместится вниз от Button2?
<LinearLayout android:orientation="vertical"> <Button android:id="@+id/Button1" /> <Button android:id="@+id/Button2" /> </LinearLayout>
android:nextFocusDown = "+id/Button1" к конфигурации Button1 android:nextFocusTop = "+id/Button2" к конфигурации Button1 + android:nextFocusDown = "+id/Button1" к конфигурации Button2 android:nextFocus = "previousView" к конфигурации Button2 android:nextFocusTop = "+id/Button1" к конфигурации Button2
flutesa
05.10.13 в 16:45
|
|
Android Virtual Device (AVD) это:
инструмент Eclipse для генерации подходящего целевому устройству APK веб-средство для демонстрации APK для бета-тестирования пользователями экземпляр Android SDK для конкретного уровня Android API + JVM-образ для отладки приложений для Android на ПК эмулятор, представляющий конфигурацию конкретного устройства
flutesa
05.10.13 в 17:04
|
+1
|
Почему вывод будет не корректным?
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.company.app" > <uses-sdk android:minSdkVersion="8" />
<application android:icon="@drawable/ic1_launcher" android:label="@string/app1_name" > <activity android:label="@string/app1_name" android:name="com.company.app.MainActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
<application android:icon="@drawable/ic2_launcher" android:label="App#2" > <activity android:label="App#2" android:name="com.company.app.MainActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
тег <application> может появляться только один раз указанное пространство имен является не правильным в AndroidManifest.xml нельзя использовать жестко закодированные строки для значений меток значение minSdkVersion не является допустимым значением + в одном пакете нельзя указать две главные деятельности (MainActivity)
flutesa
05.10.13 в 17:11
|
|
NinePatchDrawable - это формат растровых изображений, который:
создаётся из девяти отдельных файлов и используется для анимации сохраняется в формате .9pt и подвергается сжатию поддаётся растягиванию и ограничен 64-цветовой палитрой + поддаётся растягиванию и служит фоном для View создаётся с помощью инструмента draw9patch и имеет статические размеры
flutesa
05.10.13 в 17:27
|
|
Почему не отобразилось меню, несмотря на то, что исключение не выбросилось?
public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.mainmenu, menu); return false; }
R.menu.mainmenu - не допустимый формат для идентификатора ресурса действие (Activity), которому принадлежит фрагмент кода, должно наследоваться от MenuActivity + метод onCreateOptionsMenu() должен возвращать true для объекта Menu необходимо вызвать метод commit() объект MenuInflater - одиночный элемент (singleton) и не должен быть инстанцирован
flutesa
05.10.13 в 17:41
|
|
"У вас есть длительный процесс, который вы не хотите включать в один поток с обработкой пользовательского интерфейса. Выненсение этого процесса в новый поток целесообразно, но вы не хотите писать весь шаблонный код для работы с потоками." Какой класс обеспечит нужный для этого функционал?
+ AsyncTask BackgroundTask UIWorker UIThread Runnable
flutesa
05.10.13 в 17:51
|
|
Что нужно добавить к фрагменту кода, чтобы намерение (Intent) могло быть передано следующей деятельности (activity)?
Intent i = new Intent(Intent.ACTION_VIEW); Bundle b = new Bundle(); b.putString("EMAIL", "abc@xyz.com");
i.addExtra(b); + i.putExtras(b); i.putBundle(b); i.addData(b); i.passBundle(b);
flutesa
05.10.13 в 18:14
|
|
Какую строчку нужно вставить вместо комментария, чтобы всплывающее уведомление (Toast) появилось в левом верхнем углу экрана?
Context context = getApplicationContext(); CharSequence text = "Data operation is complete"; int duration = Toast.LENGTH_SHORT; Toast toast = Toast.makeText(context, text, duration); // INSERT CODE HERE toast.show();
toast.setPosition(Gravity.NONE, 0, 0); toast.setPosition(Toast.TOP, Toast.LEFT); + toast.setGravity(Gravity.TOP | Gravity.LEFT, 0, 0); toast.setGravity(-1, Toast.TOP, Toast.LEFT); toast.setPosition(0, 0);
flutesa
05.10.13 в 18:19
|
|
"У вас есть приложение, опубликованное в Google Play. В манифесте указано maxSdkVersion 5. Пользователи жалуются, что после недавнего обновления Android до версии 2.0.1 (API уровня 6), они уже не могут видеть или использовать ваше приложение." Какие изменения следует внести, чтобы пользователи смогли использовать приложение снова?
реализовать upgradeApp() метод в классе Activity для основной деятельности опубликовать новую версию приложения, специально предназначенную для версии Android пользователей установить maxSdkVersion 6 или выше,или удалить этот элемент полностью из вашего манифеста добавить тег <upgrade previous="5" new="6" /> в манифест приложения установить targetSdkVersion 6 или выше, или удалить этот элемент полностью из вашего манифеста
flutesa
05.10.13 в 18:28
|
|
Необходимо отправить Intent, который будет существовать после того, как его широковещательная передача завершится. Но таким образом, чтобы к его данным можно будет получить доступ. Какой тип Intent нужно использовать?
Accessible Persistent Long-lived + Sticky Cohesive
flutesa
05.10.13 в 18:31
|
|
Как следует изменить фрагмент кода, чтобы он заработал? WebView myWebView = (WebView)findViewById(R.id.webview); myWebView.loadUrl("http://www.example.com");
изменить вызов метода loadUrl(), включив true в качестве второго аргумента вызвать метод myWebView.reload() в конце фрагмента кода добавить android.permission.ALLOW_WEBVIEW в манифест + добавить android.permission.INTERNET в манифест вызвать метод myWebView.show() в конце фрагмента кода
flutesa
05.10.13 в 20:00
|
|
Что нужно сделать, чтобы нижеприведённый код успешно сохранил файл с данными?
File file = new File(myContext.getExternalFilesDir(null), "appData.txt"); try { FileOutputStream os = new FileOutputStream(file, true); OutputStreamWriter out = new OutputStreamWriter(os); out.write(data); out.close(); } catch (e) { }
пустой блок catch должен повторять операцию до успешного завершения в метод getExternalFilesDir() должно быть передано значение true, вместо null приложение должно запросить согласие пользователя, путем вызова метода canWriteExternalStorage() перед выполнением данного кода + в манифесте приложения должно быть указано android.permission.WRITE_EXTERNAL_STORAGE данные должны быть преобразованы в объект File
flutesa
05.10.13 в 20:05
|
|
Предоставляемые платформой Android стили и темы можно получить через: android.style_themes R.android.style_themes android/stlThm R.styleThemes + android.R.style
flutesa
09.10.13 в 11:49
|
|
На что нужно заменить значения AAA, а BBB, CCC, DDD (строки 6, 8, 9 и 11), чтобы установить mExternalStorageAvailable и mExternalStorageWriteable флаги для точного отображения состояния внешнего устройства хранения?
1: boolean mExternalStorageAvailable = false; 2: boolean mExternalStorageWritable = false; 3: String state = Environment.getExternalStorageState(); 4: 5: if (Environment.MEDIA_MOUNTED.equals(state)) { 6: mExternalStorageAvailable = mExternalStorageWritable = AAA; 7: } else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) { 8: mExternalStorageAvailable = BBB; 9: mExternalStorageWritable = AAA; 10: } else { 11: mExternalStorageAvailable = mExternalStorageWritable = DDD; 12: }
false, true, false, true true, true, false, false true, false, true, false false, false, true, true true, false, false, true
flutesa
05.10.13 в 19:58
|
|
Мобильные устройства иногда подключаются к удаленным системам через небезопасные сети, например, через публичные Wi-Fi точки доступа. Каким образом можно обезопасить такие подключения? запустить ProGuard на APK для обеспечения сокрытия сетевой деятельности + использовать защищенные протоколы, такие как HTTPs использовать контент-провайдеры с автоматическим шифрованием доступа к сетевым ресурсам с Android использовать низкоуровневые Linux network I/O процедуры переключить устройство на 3G или 4G сеть
flutesa
09.10.13 в 12:13
|
|
Какая последовательность методов жизненного цикла Activity вызывается в первую очередь?
onCreate, onStart, onRunning onPreInit, onCreate, onRunning + onCreate, onStart, onResume onCreate, onRestart, onResume onStart, onInit, onResume
flutesa
09.10.13 в 12:18
|
|
"Вы должны получить доступ к удаленной системе для получения данных. Удаленная система обеспечивает интерфейс REST веб-интерфейсов. Вы не хотите включить любые дополнительные библиотеки в приложение, кроме предоставляемых Android'ом." Какой пакет Android SDK содержит классы, которые позволят вам достичь этой цели?
+ org.apache.http javax.ws.rest java.net.rest javax.ws.rs org.apache.cxf
flutesa
09.10.13 в 12:39
|
|
Что нужно сделать для обеспечения запуска этой деятельности, после того, как пользователь выполняет поиск в диалоговом поиске или виджет?
// onCreate() method from your searchable Activity class @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.search); Intent intent = getIntent(); if (Intent.ACTION_SEARCH.equals(intent.getAction())) { String query = intent.getStringExtra(SearchManager.QUERY); doMySearch(query); } }
- добавить поле класса public static boolean SEARCH_ENABLED со значением true объявить активность этого класса в файле searchable.xml + настроить деятельность для обработки ACTION_SEARCH намерения - вызвать метод makeSearchable() сразу после вызова setContentView() - убедится, что класс наследуется от SearchableActivity
flutesa
05.10.13 в 19:52
|
|
Для каких сред разработки Google разрабатывает расширения для Android?
JBuilder IntelliJ IDEA Netbeans Eclipse Jdeveloper
flutesa
04.10.13 в 20:09
|
|