Page 1


Оглавление

Об авторе ..................................................................................................................15 О техническом редакторе ....................................................................................15 Благодарности.........................................................................................................15

Введение... ..............................................................................................................................16 Для кого предназначена книга ..........................................................................17 Какой круг тем освещен .....................................................................................17 Структура книги ....................................................................................................18 Что вам понадобится при чтении книги ........................................................19 Соглашения и условные обозначения ............................................................19 Исходный код..........................................................................................................20 Список опечаток.....................................................................................................20 p2p.wrox.com ............................................................................................................21

Глава 1. Здравствуй, Android .........................................................................................22 Предыстория ...........................................................................................................23 Чем Android не является .....................................................................................25 Android: открытая платформа для разработки мобильных приложений ......................................................25

5


Оглавление

Встроенные приложения Android ....................................................................26 Среда разработки для платформы Android. Основные характеристики .................................................................................27 Несколько слов об Альянсе открытых мобильных устройств ...............................................32 На каких устройствах работает Android ........................................................33 Зачем нужно заниматься разработкой приложений для мобильных устройств ...................................................................................33 Для чего нужно заниматься разработкой приложений для Android ..............................................................................................................34 Знакомство с фреймворком разработчика....................................................36

Глава 2. Приступаем к работе ........................................................................................42 Разработка приложений для Android .............................................................43 Разработка приложений для мобильных и встраиваемых устройств ..................................................................................60 Средства разработки для Android ....................................................................71

Глава 3. Создание приложений и Активностей .......................................................77 Из чего состоят приложения в Android .........................................................78 Знакомство с манифестом приложения ........................................................79 Использование редактора манифеста ............................................................88 Отделение ресурсов от кода программы........................................................89 Жизненный цикл приложения в Android ...................................................106 Приоритеты приложений и состояния процессов .......................................................................................107 Знакомство с классом Application в Android .................................................................................................................109 Детальный обзор Активностей в Android ...................................................111

6


Оглавление

Глава 4. Создание пользовательского интерфейса .............................................120 Основы проектирования пользовательского интерфейса в Android .................................................................................................................121 Основы пользовательского интерфейса в Android ..................................122 Знакомство с менеджерами компоновки.....................................................123 Приложение To-Do List.....................................................................................132 Знакомство с Фрагментами .............................................................................139 Набор виджетов в Android ................................................................................157 Создание новых Представлений ....................................................................158 Знакомство с Адаптерами .................................................................................181

Глава 5. Намерения и Широковещательные приемники ..................................189 Знакомство с Намерениями .............................................................................189 Создание Фильтров намерений и Широковещательных приемников ............................................................207

Глава 6. Использование ресурсов Интернета .......................................................225 Загрузка и разбор интернет-ресурсов...........................................................225 Использование Менеджера загрузок ............................................................235 Использование интернет-сервисов ...............................................................241 Подключение к Google App Engine................................................................242 Советы по минимизации энергопотребления при загрузке данных ...........................................................................................244

Глава 7. Файлы, сохранение состояния и настройки .........................................245 Сохранение простых данных приложения .................................................246 Создание и сохранение Общих настроек ....................................................246

7


Оглавление

Получение Общих настроек ............................................................................247 Создание Активности для настроек приложения Еarthquake Viewer ...........................................247 Знакомство с Активностью настроек и фреймворком для их создания ....................................................................................................256 Создание стандартной Активности настроек для приложения Еarthquake Viewer ..............................................................263 Сохранение состояния экземпляра приложения .....................................267 Включение статических файлов в качестве ресурсов .............................270 Работа с файловой системой............................................................................271

Глава 8. Базы данных и Источники данных ...........................................................275 Введение в базы данных на платформе Android .......................................276 Введение в SQLite ...............................................................................................277 Курсоры и класс ContentValues......................................................................277 Работа с базами данных SQLite ......................................................................278 Создание Источников данных ........................................................................285 Использование Источников данных.............................................................297 Добавление поддержки поиска в приложение ..........................................314 Создание Источника данных с поддержкой поиска для приложения Earthquake ................................324 Стандартные Источники данных в Android ...............................................339

Глава 9. Работа в фоновом режиме ...........................................................................352 Знакомство с Сервисами ...................................................................................353 Использование фоновых потоков ..................................................................365 Использование Сигнализации ........................................................................372 Использование IntentService для упрощения класса EarthquakeUpdateService .....................................377

8


Оглавление

Глава 10. Расширение опыта взаимодействия ......................................................379 Знакомство с Панелью действий ...................................................................380 Добавление Панели действий в приложение Earthquake .....................390 Создание и использование меню и действий на панели ActionBar ...397 Обновление приложения Earthquake ...........................................................410 Переход в полноэкранный режим ..................................................................412 Знакомство с диалоговыми окнами ..............................................................415 Давайте произнесем тост...................................................................................421 Знакомство с уведомлениями .........................................................................424 Добавление уведомления и диалоговых окон в приложение Earthquake..................................................................................436

Глава 11. Продвинутый опыт взаимодействия ......................................................443 Проектирование для экранов с любым размером и плотностью пикселов ......................................................................................444 Обеспечение всеобщей доступности.............................................................456 Преобразование текста в речь на платформе Android ............................457 Распознавание речи ............................................................................................459 Управление вибрацией устройства ...............................................................462 Работа с анимацией .............................................................................................462 Улучшаем Представления ................................................................................470 Продвинутые графические ресурсы..............................................................498 Копирование, вставка и буфер обмена .........................................................501

Глава 12. Датчики..............................................................................................................504 Использование датчиков и объекта SensorManager ................................505 Отслеживание перемещения и поворота устройства ..............................512 Знакомство с датчиками окружающей среды ............................................529

9


Оглавление

Глава 13. Карты, геокодирование и геолокационные сервисы ......................535 Использование геолокационных сервисов .................................................536 Использование геолокационных сервисов в эмуляторе ........................536 Выбор Источника данных ................................................................................538 Поиск текущего местоположения ..................................................................541 Рекомендации по обновлению данных о местоположении ..................549 Использование оповещений о близости нахождения.............................552 Использование геокодировщика ....................................................................554 Создание Активностей, основанных на MapView....................................558 Добавление картографических возможностей в проект Earthquake ............................................................................................578

Глава 14. Домашний экран в Android ........................................................................584 Знакомство с Виджетами домашнего экрана .............................................584 Создание виджетов .............................................................................................586 Создание виджета для приложения Earthquake .......................................601 Знакомство с виджетами, основанными на коллекциях........................607 Знакомство с Живыми каталогами ...............................................................625 Вывод поисковых результатов с помощью строки быстрого поиска ..............................................................633 Создание Живых обоев......................................................................................635

Глава 15. Аудио, видео и камеры ................................................................................639 Воспроизведение аудио и видео .....................................................................640 Работа с несжатым звуком................................................................................657 Создание звуковых наборов.............................................................................660 Использование аудиоэффектов ......................................................................662 Использование камеры для создания снимков .........................................663

10


Запись видео ..........................................................................................................673 Использование мультимедийных эффектов ..............................................678 Добавление мультимедийных данных в хранилище MediaStore ...................................................................................679

Глава 16. Bluetooth, NFC-сеть и Wi-Fi .....................................................................681 Использование Bluetooth..................................................................................681 Управление сетью и сетевыми соединениями...........................................694 Управление подключением к Wi-Fi ..............................................................698 Передача данных с помощью технологии Wi-Fi Direct .........................702 NFC ...........................................................................................................................708

Глава 17. Телефония и SMS ..........................................................................................716 Аппаратная поддержка телефонии ................................................................716 Использование телефонии ...............................................................................717 Знакомство с SMS и MMS ...............................................................................728 Знакомство с SIP и VOIP .................................................................................753

Глава 18. Продвинутое программирование под Android ...................................754 Paranoid Android ..................................................................................................755 Знакомство с сервисом Cloud to Device Messaging .................................758 Защита от копирования с помощью библиотеки для проверки лицензий ......................................765 Покупки внутри приложений .........................................................................768 Использование объектов WakeLock .............................................................772 Использование AIDL для выполнения межпроцессного взаимодействия на уровне Сервисов ............................................................774

11


Оглавление

Поддержка различного аппаратного и программного обеспечения ...........................................................................780 Оптимизация производительности пользовательского интерфейса с помощью режима StrictMode .........784

Глава 19. Монетизация, продвижение и дистрибуция приложений .............786 Подписание и публикация приложений .....................................................786 Дистрибуция приложений ...............................................................................789 Введение в монетизацию приложений.........................................................794 Стратегии маркетинга, продвижения и дистрибуции ............................796 Аналитика и отслеживание источников установок .................................798

Алфавитный указатель ...................................................................................................802


Глава 1 ЗДРАВСТВУЙ, ANDROID

Содержание главы • Основы разработки мобильных приложений. • Чем является и чем не является Android. • Основные характеристики среды разработки для платформы Android. • На каких устройствах работает Android. • Зачем нужны программы для мобильных устройств и платформы Android. • Описание среды разработки и фреймворка Android. Независимо от того, опытный вы инженер в области мобильных приложений, разработчик компьютерных программ, веб-программист или любитель, Android предоставляет отличную возможность по написанию инновационных приложений для стремительно растущего количества всевозможных устройств. Несмотря на название, Android не предназначен для создания несокрушимой армии хладнокровных роботов-солдат с целью очистить Землю от гнета человечества. Android представляет собой набор программ с открытым исходным кодом, который включает операционную систему, подпрограммное обеспечение и ключевые мобильные приложения вместе с библиотеками API, предназначенными для написания новых программ, определяющих визуальное представление и функционал устройств, на которых они работают. Самые разнообразные компактные стильные мобильные устройства со временем снабжались такими мощными инструментами, как сенсорный экран, камера, медиаплеер, система глобального позиционирования (GPS) и чип для коммуникации ближнего поля (NFC). С внедрением новых технологий мобильный телефон превратился в нечто гораздо большее, чем просто устройство для звонков. С появлением Google TV и планшетных компьютеров Android вышел за рамки мобильной операционной системы, на его основе стали разрабатываться приложения для более широкого спектра устройств. В случае с Android встроенное ПО написано на том же самом API, что и программы сторонних разработчиков, при этом время для исполнения и тех, и других одинаково. Данное API позволяет получить доступ к аппаратному обеспечению, навигационным сервисам, фоновым и картографическим процессам, реляционным базам данных, двух- и трехмерной графике, к функциям видеозаписи, межпрограммного взаимодействия, Bluetooth и NFC.

22


Глава 1

• Онлайн-поддержка. Группы Google по адресу http://developer.android.com/ resources/community-groups.html — это форумы разработчиков, на которых часто появляются сообщения от команд инженеров и специалистов компании Google. Ресурс StackOverflow по адресу http://www.stackoverflow.com/questions/ tagged/android также стал весьма популярным — здесь начинающие программисты могут найти ответы на свои вопросы. Для тех, кто использует популярную среду разработки Eclipse, Android выпустил плагин Android Development Tools (ADT), который упрощает процесс создания проекта и тесно связывает Eclipse с эмулятором и отладочными инструментами Android. Информация о плагине ADT приводится в главе 2.

Программный стек Android В упрощенном представлении программный стек Android состоит из ядра Linux и набора библиотек C/C++, доступных в виде фреймворка. Последний обеспечивает управление и функционирование рабочей среды и приложений. Элементы, формирующие программный стек Android, показаны на рис. 1.1. • Ядро Linux. Работу системных служб (включая драйверы устройств, управление процессами и памятью, питанием, безопасность, сетевые службы) обеспечивает ядро Linux версии 2.6. Оно также отвечает за уровень абстракции между аппаратной начинкой и остальной частью программного стека.

Рис. 1.1.

38


Алфавитный указатель

Android Beam 36, 712

A AAPT 72

передача данных 714

action, тег 208

сообщения 712–714 получение 714–715

ActionBar см. Панель действий ActionProvider, класс 403

Android Asset Packaging Tool см. AAPT

Аctivity, класс 119

Android Debug Bridge см. ADB

аctivity, тег 86, 113

Android Development Tools см. ADT

ADB 72, 75

Android Virtual Device см. AVD

ADT, плагин 38

Animation, класс 463

Eclipse 46–47 запуск и отладка приложений 55–56

AnimationDrawable, класс 466 API, библиотеки 28–29, 37 Application, класс 109–111

обновление 49

аpplication, тег 86

установка 48–49

AppWidgetManager, класс 591–592

AIDL 774–779

AsyncTask, класс 366–368

AlertDialog, класс 415–417

ArrayAdapter, адаптер 181

Android, операционная система 22–26, 33, 36

настройка 181–182 AudioRecord, класс 657–659

виды приложений 58–59

AudioTrack, класс 659–660

встроенные приложения 26–27

authorities, тег 286

компоненты 26

AVD 37, 71–74

лицензионное ПО 27

создание 53

рабочая среда 39

802

характеристики 28

B

элементы 26

beginTransaction, метод 147


Алфавитный указатель

Bluetooth 681–682

ConnectivityManager 695

взаимодействие 688–694

ContactsContract 340–347

обнаружение 685–687

ContentResolver, класс 297–298

поиск 687–688

ContentValues, класс 277

сканирование 685–687

Criteria, класс 539

управление 682–685

Cursor, класс 277–278, 282–284

BluetoothAdapter, класс 682

CursorLoader, класс 301–303

BluetoothServerSocket, класс 689 BluetoothSocket, класс 689

D

BroadcastReceiver, класс 201

Dalvik, виртуальная машина 26, 37, 39–40

C

Dalvik Debug Monitoring Service см. DDMS

C/C++ 23, 40

data, тег 209

C2DM см. Cloud to Device Messaging

DDMS 43, 47, 71, 75

Calendar 347–351

delete, метод 284–285

Canvas, класс 169, 470–472, 478–479

Dialog, класс 415–416

сategory, тег 208

DialogFragment, класс 418–420

CheckBox 401

dimen, тег 92

ClipboardManager см. Буфер обмена

Drawable 94, 97 имена каталогов 104

ClipData, класс 502 Cloud to Device Messaging 31–32, 758

duration, атрибут 96

ограничения 758–759 сообщения: отправка 763–764 прием 764–765 регистрация 759–763

E Earthquake, приложение 229–234, 247–255, 263–267, 324–338, 359–364, 375–378, 390–396, 410–412, 436–442, 578–583, 601–607, 618–624, 630–633

color, тег 92

Eclipse, среда разработки 42, 46

ColorDrawable, ресурс 450

EmergencyResponder, приложение 736–753

Compass, приложение 174–180, 479–487, 525–527

Environment, класс 272, 274

Compatibility Definition Document 26

ExifInterface, класс 673

Compatibility Test Suite 26

ExpandableListActivity, подкласс 119

compatibleWidthLimitDp, тег 84

Extras, параметр 192

803


Алфавитный указатель

F

getSharedPreferences, метод 246

fill_parent, константа 125

getString, метод 101

fillAftertrue, атрибут 96

getType, метод 288

fillBeforetrue, атрибут 96

getView, метод 182

findFragmentById, метод 148

getWritableDatabase, метод 280

findFragmentByTag, метод 148

glEsVersion, атрибут 83

findViewById, метод 57, 123

Google Analytics, сервис 800–801

Fragment, класс 140–141

Google App Engine 242–243

fragment, тег 145

Google Maps, сервис 29, 35

FragmentManager, класс 145

Google Play 34, 789–794

FragmentTransaction, класс 147

GPS 29

FrameLayout, класс 124

GradientDrawable, ресурс 451–453 GridLayout, класс 124, 128

G Geocoder, класс 554 getActivity, метод 151 getBackgroundDataSetting, метод 695 getCacheDir, метод 273 getColumnIndexOrThrow, метод 277 getDefaultSensor, метод 507 getDrawable, метод 100 getExternalCacheDir, метод 273

GUI, поток 370–371 H Html.fromHtml, метод 91 I IDE 42 import, инструкция 137 include, тег 130, 166 inflate, метод 165

getExternalFilesDir, метод 272

insert, метод 284

getExternalStoragePublicDirectory, метод 274

installLocation, атрибут 80

getExtras, метод 192

instrumentation, тег 86

getFragmentManager, метод 145

Integrated Development Environment см. IDE

getIntent, метод 211

intent-filter, тег 113, 208

getLastKnownLocation, метод 538

IntentFilter, класс 203

getProviders, метод 539

IntentService, класс 368–369

getQuantityString, метод 92

interpolator, атрибут 96

getReadableDatabase, метод 280

isDiscovering, метод 687

getResources, метод 99

ItemizedOverlay, класс 575–577

804


Алфавитный указатель

J

minSDKVersion, атрибут 77

Java Development Kit 44

Monkey 72, 76

Java ME, платформа 25

Monkey Runner 72, 76

JVM см. Виртуальная Java-машина

MyLocationOverlay, класс 575

L

N

largeScreens, атрибут 84

NFC, технология 708 высокоприоритетная диспетчеризация 710–711

largestWidthLimitDp, атрибут 84 LayerDrawable, ресурс 499–500 LevelListDrawable, ресурс 501 LinearLayout, класс 124, 126–127 Linkify, класс 198

сканирование меток 709–710 NinePatch, ресурс 453–454 normalScreens, атрибут 84 Notification Manager 30

ссылки 198 шаблоны 199

O

Lint, утилита 72, 76, 131–132

ObjectAnimator, класс 467–469

Linux, ядро 26, 38

OHA 32

ListActivity, подкласс 119

onAccuracyChanged, метод 508

Loader, класс 300–301, 369

onActivityResult, метод 195

LocalBroadcastManager, класс 206

onConfigurationChanged, метод 103, 110

LocationManager, класс 539

onContextItemSelected, метод 409

LocationProvider 539, 550–552

onCreate, метод 56–57, 97, 110, 117

Logcat, утилита 71

onDraw, метод 167 onKeyListener, интерфейс 497–498

M

onLowMemory, метод 110

manifest, тег 79

onMeasure, метод 167

MapActivity, подкласс 119

onNavigationListener, метод 389

MapController, объект 563–564

onReceive, метод 201

MapView, класс 558–559, 560–563

onSensorChanged, метод 508–509

MatchFilter, интерфейс 200

onStartCommand, метод 354–356

maxSDKVersion, атрибут 77

onTouchListener, метод 496

MD5, слепок 559–560

onTrackBallEvent, метод 172

MediaStore 339–340

onTrimMemory, метод 110

merge, тег 130

onWindowFocusChanged, метод 98

805


Алфавитный указатель

Open Handset Alliance см. OHA

RemoteViews, объект 591–596

openFileInput, метод 272

RemoteViewsFactory 611–613

openFileOutput, метод 272

RemoteViewsService, сервис 610–611, 613–614

OpenGL 26, 31, 39 openInputStream, метод 305–306 openOrCreateDatabase, метод 281 openOutputStream, метод 305–306 OverlayItem, объект 575

P package, атрибут 79 Paint, класс 471–473 Paranoid Android 755–757 PendingIntent, класс 206–207 permission, тег 85–86 PreferenceActivity, класс 261 PreferenceFragment, класс 259–260 provider, тег 87

reqFiveWayNav, атрибут 81 reqHardKeyboard, атрибут 81 reqKeyboardType, атрибут 82 reqNavigation, атрибут 82 reqTouchScreen, атрибут 82 requestLocationUpdates, метод 544 requiresSmallestWidthDp, атрибут 84 Resources, класс 99 S SDK см. также Менеджер SDK 42, 71 загрузка 44 обновление 46 установка 44–45 sendBroadcastSync, метод 206 sendOrderedBroadcast, метод 204

Q

sendStickyBroadcast, метод 205

QSB см. Строка быстрого поиска

Sensor, класс 505

query, метод 239, 281, 298

SensorManager, класс 505 Service, класс 352

R

service, тег 87

R, класс 98–99

set, тег 96

RadioButton 401–402

setCamera, метод 676

receiver, тег 87, 204

setCancelable, метод 417

RecognizerIntent, класс 459–460

setContentView, метод 57, 112, 122–123

registerRemoteControlClient, метод 655

setDisplayUseLogoEnabled, метод 382

RelativeLayout, класс 124, 127

setInexactRepeating, метод 374

remapCoordinateSystem, метод 523

setLanguage, метод 458

RemoteControlClient, класс 655–657

setLayoutParams, метод 125

806


Алфавитный указатель

setListNavigationCallbacks, метод 389

startActivityForResult, метод 191

setMeasuredDimension, метод 170

startForeground, метод 364

setMediaController, метод 647

startOffset, атрибут 96

setNavigationMode, метод 387

StateListDrawable, ресурс 500–501

setNotificationVisibility, метод 237

StrictMode, режим 784–785

setRepeating, метод 374

string, тег 91

setResult, метод 194

String.format, метод 91

setRetainInstance, метод 152

style, тег 93

setShowAsActionFlags, метод 401

supports-gl-texture, тег 85

setTransition, метод 150

supports-screens, тег 84–85

setTransportControlFlags, метод 656

SurfaceView, класс 167, 489–492

setVideoPath, метод 643

Symbian, платформа 23

setVideoURI, метод 643 setVolumeControlStream, метод 650

T

ShapeDrawable, ресурс 450–451

targetSDKVersion, атрибут 77

SimpleCursorAdapter, адаптер 181

To-Do List, приложение 132–139, 154–157, 161–164, 183–185, 306–314

использование 187–188 SIP, протокол 753

Toast, уведомление 380, 421–422 использование в рабочих потоках 424

smallScreens, атрибут 84 SMS 728 бинарные 733, 735 моделирование в эмуляторе 735 отправка с помощью: SmsManager 730–733 Намерения 729–730 отслеживание входящих 734–735 speak, метод 458 SQLite 26, 30, 276–277 работа 278 SQLiteOpenHelper, класс 278–280 StackOverflow, интернет-ресурс 38 startActivity, метод 191

настройка 422–423 ToDoContentProvider, класс 306 ToDoListItemView, класс 161 TransformFilter, интерфейс 200 U UriMatcher, класс 287 uses-configuration, тег 81–82 uses-feature, тег 82–84 uses-library, тег 87 uses-permission, тег 85 uses-sdk, тег 81 UUID см. Универсальный уникальный идентификатор

807


Алфавитный указатель

V

Акселерометр 514–515, 521–523

versionCode, атрибут 79

Активности 56, 78, 111, 122

versionName 79

для Живого каталога 627–629

View, класс 167

жизненный цикл 113–114

ViewGroup, класс 122

как диалоговое окно 421

ViewStub, элемент 130–131

параллельные 782–783

VOIP 753

поисковая 315–319 присваивание интерфейса 122–123

W

создание 111–113

WakeLock, объект 772–774

состояния 114–119

WeatherStation, приложение 530–534

сохранение состояния 267–268 стек 113–114

WebKit 26 Where Am I?, приложение 542–544, 547–548, 557–558, 564–568, 571–574 Wi-Fi:

Альянс открытых мобильных устройств см. OHA Анимация 95–98, 462–463 пошаговая 95, 97–98, 466

конфигурация 701–702 настройки 700–701

с помощью промежуточных кадров 95–97, 463–466

подключение 698–700

свойств 95

точки доступа 700

интерполяционная 467–470

Wi-Fi Direct 36, 702–708

Аппаратное ускорение 487–488

wrap_content, константа 125

Асинхронные задачи 366–368 Аудио: запрос на получение аудиоканала 652–654

X Xfermode, режим 477 xlargeScreens, атрибут 84

подготовка к воспроизведению 642–643

XML Pull Parser, парсер 227–229

форматы 640 эффекты 662–663

А Адаптер 181 Bluetooth 682–685

808

Б Базы данных см. также SQLite 276

настройка 181–182

запросы 281–282

привязка данных 183

организация 281

стандартный 181

работа со строками 284–285


Алфавитный указатель

Безопасность приложений 69

Визуальные стили 101

Библиотека 39, 41 см. также API, библиотеки

Виртуальная Java-машина 24 Вспомогательный пакет 49–50

IAB, 769–770 анимации 151 вспомогательная 49–50

Г Геокодирование 554–555

для преобразования текста в речь 457–459

обратное 555

картографическая 553–554

прямое 555–557

Буфер обмена 501–502

Геолокационные сервисы 536

вставка 502–503

в эмуляторе 536–538

копирование 502

выбор источника 539–541 местоположение:

В

обновление 544–547

Вибрация 427, 462

одиночное 548–549

Виджеты 31, 60, 79, 157–158, 584–586

поиск 541 рекомендации 549

настройки 589–591, 600–601

оповещение о близости нахождения 552–554

обновление 596–599 основанные на коллекции 607–609 интерактивность 614–615 наполнение данными 613–614 обновление 617–618

Гироскоп 528 Графический интерфейс 167–168 Группа представлений 121–122, 146 см. также ViewGroup, класс

разметка 609–610 связывание с Источниками данных 615–617 разметка 586–589 Видео: запись 673–677 управление 677–678 замедленная видеосъемка 678

Д Датчики 504 виртуальные 506–507 окружающей среды 529 поиск 507–508 показания 508–511 типы 505–506

подготовка к воспроизведению 643–647

Действия 390, 401, 402–404

предварительный просмотр 677

Диалоговые окна 415

форматы 640

для ввода данных 417–418

809


Алфавитный указатель

Диалоговые окна (окончание):

Источники данных 31, 41, 78, 276, 285–286

отображение 420

URI 286–287

создание 416

база данных 288

управление 420–421

доступ к файлам 305–306

Док-станции 223–224

запрос 288–290, 298–300 поиск 315, 320–324

Ж

реализация 293–297

Живые каталоги 36, 625

регистрация 286

создание 625–627

создание 286 стандартные 339–351

Живые обои 31, 36, 60 ресурс для описания 636

транзакции 290–292, 303–305

создание 635

хранение файлов 292–293

З

К

Загрузка файлов 235–236

Камера:

место 237–238

автофокус 668

минимизация энергопотребления 244

метаданные 673

отмена 238

настройки 666–668

Загрузчик см. Loader

предварительный просмотр 669–671

Заряд батареи 222–223

распознавание лиц 671–672

Защита от копирования 765–768

свойства 665–666

Звук:

управление напрямую 665

воспроизведение 659–660 запись 657–659 набор 660–662 Значок приложения 384–386

фотографии 672 Клавиатура: использование 497 сокращенные команды 402 сторонняя 80 тип 82

И Интернет 33, 63 ресурсы 225–226 подключение 226–227 сервисы 241–242

810

Классы переходов 31 Контурные эффекты 476–477 Курсор 277–278 извлечение результатов 282–284


Алфавитный указатель

М

Мидлеты 24

Манифест 78–88

Модальное сообщение 68

редактор 88–89

Мультимедийные данные: добавление 679–680

Медиапроигрыватель 641–642

эффекты 678–679

управление воспроизведением 647–648 изменение аудиовыхода 654– 655 нажатие клавиш 650–652

Н Наложения 568 добавление 571

— мультимедийным выводом 649–650

рисование 569–570

Менеджер виртуальных устройств см. AVD Менеджер:

создание 568–569 удаление 571 Намерения 41, 78, 189–190

SDK 42–43, 71, 74

запуск Активностей 190, 196–198

загрузок 235, 239–241

«липкие» 205

компоновки см. Разметка

неявные 191–192

пакетов 192, 218

обработка 192–198

ресурсов 41

ожидающие 206–207

трансляций локальный 206

поиск внутри Активности 211

уведомлений 41, 425

создание снимков 663–665

учетных записей 242–243

трансляция 200–205

фрагментов 145 Меню 397–399 XML-описание 404–405

упорядоченные 204–205 Независимость от разрешения 44–445

всплывающее 409–410 выбор пунктов 406–407

О

динамическое изменение пунктов 406

Общие настройки 245, 262–263

добавление для Фрагментов 404 дочернее 407 контекстное 408–409 параметры 401–402 создание 399–401

изменение 246–247 получение 247 создание 246 сохранение 247 Отзывчивость приложений 67–68, 365

811


Алфавитный указатель

П

Просмотрщик иерархии 72, 75

Панель действий 379–381

Процессы, виды 108

изменение 381–384 нестандартная 390

Р

управление навигацией 384–389

Разметка 123–124

Панель поиска 314

масштабируемая 446–447

Песочница 69

описание 124–126

Поиск 314–324

оптимизация 129–132, 447–448

Поисковое представление 315

Распознавание речи 459–460

Покупка внутри приложений 768–772

для голосового ввода 461

Полноэкранный режим 412–414

— поиска 462

Представления 41, 57, 112, 121

Ресурсы приложения 89

доступность 456–457

Drawable см. Drawable

изменение 159–161

анимация см. Анимация

интерактивность 172

визуальные стили и темы 93

нестандартные 167–174

графические 446–449 продвинутые 498–501

поисковые 320 привязка к карте 577–578

использование 98–100

создание 158–159

меню 98

стандартные 157–158

оптимизация 446–449

Преобразование текста в речь 457–459

размеры 92–93

Приемники:

системные 100–101

разметка 94

управление 224

создание 90, 101–106

Приложения:

статические файлы 270–271

дистрибуция 789

строки 91–92

жизненный цикл 106

цвета 92

монетизация 794–795 подписание и публикация 786–789

С

приоритеты 107–108

Светодиоды 428–429

продвижение на рынке 796–798

Сервисы 78, 353

смешанного вида 60 Программы переднего плана 58–59

812

для Живых обоев 636–637 движок 637–638


Алфавитный указатель

запуск 354–356

У

остановка 357

Уведомления 30, 79, 424–425 см. также Toast

перезагрузка 356

интерфейс 429–434

привязка к Активности 357–359

Менеджера загрузок 237

создание 353–354

настойчивые 435

фоновые 364–365

создание 426–429 текущие 434

Сетевое подключение 223 Сетевое соединение 694–698 Сигнализация 372

Универсальный уникальный идентификатор 689

виды 372–373 повторяющаяся 373–375 создание 372–373 Система глобального позиционирования см. GPS Составные элементы управления 164 Система отсчета: переопределение 523–524 стандартная 520–521 Строгий режим 68 Строка быстрого поиска 315, 324, 633 доставка поисковых результатов 633–635

Ф Файловая система 271–274 Фильтр намерений 79, 113, 207 дополнения 217–222 работа 209–210 Фоновые потоки 365–366 Фоновые приложения 59 Фоновые службы 30, 35 Фрагменты 112, 121–122, 139–140 анимирование транзакций 150– 151 без интерфейса 152–153 взаимодействие с Активностями 151–152

Т

добавление 147

Телефония:

— в Активность 145–146

аппаратная поддержка 716–717

жизненный цикл 141–143

доступ к свойствам 720–727

замена 148

замена приложения для дозвона 718–719

заполнение динамической разметки Активности 148–149

инициирование звонка 718

классы 153

Токен 242

поиск 148

Трекбол 492, 498

события жизненного цикла 144

813


Алфавитный указатель

Фрагменты (окончание): создание 140–141

Широковещательный приемник 79, 201–202 входящие звонки 728

состояния 145

регистрация внутри кода 203

сохранение состояния 269–270

— — манифеста 204 создание 202

стек 150 транзакции 147 удаление 147 Фреймворк 39, 256

Э Экран настроек 256 импорт 259

Х

обратная совместимость 262

Холст 168

разметка 257–259 элементы управления 258–259

Ц

Экран сенсорный 492–493

Цель сборки 51

Элемент управления: задание размеров 170–172

Ш

интерактивные 492–498

Шейдеры 473

нестандартный 180

градиентные 474 объект Paint 474 режимы заполнения 475

отрисовка 168–170 Эмулятор 37, 71, 74 оболочки 455

Android 4 programorovanie prilojeniy dlya planshetnuih pc & smartphon  
Advertisement