Head First. Программирование для Android. 2-е изд

Head First. Программирование для Android. 2-е изд
sku: 48479078
ACCORDING TO OUR RECORDS THIS PRODUCT IS NOT AVAILABLE NOW
1,179.00 грн.
Shipping from: Ukraine
   Description
[html]Система Android покорила мир. Все хотят иметь планшет или смартфон, а устройства на базе Android - самые популярные в мире. В книге "Head First. Программирование для Android" мы научим вас разрабатывать и запускать приложения.Вам уже пришла в голову гениальная идея? Дело за малым - воплотить ее в жизнь.Вы научитесь правильно формировать структуру приложений, проектировать гибкие и интерактивные интерфейсы, запускать службы в фоновом режиме, обеспечивать работу на разных устройствах и многое другое.Все, что от вас требуется - базовые знания Java.Содержание книги Гриффитс Д. "Head First. Программирование для Android"ВведениеДля кого написана эта книга? 30Мы знаем, о чем вы думаете 31И мы знаем, о чем думает ваш мозг 31Метапознание: наука о мышлении 33Вот что сделали МЫ 34Примите к сведению 361 Первые шагиДобро пожаловать в мир Android 40Платформа Android в разрезе 41Вот что мы сейчас сделаем 42Среда разработки 43Установка Android Studio 44Построение простого приложения 45Как построить приложение 46Активности и макеты: с высоты птичьего полета 50Только что вы создали свое первое Android-приложение 53Android Studio создает всю структуру папок за вас 54Полезные файлы в проекте 55Создание виртуального устройства Android 62Запуск приложения в эмуляторе 65Информация о ходе запуска отображается на консоли 66Что же только что произошло? 68Модификация приложения 69Что содержит макет? 70activity_main.xml состоит из двух элементов 71Обновление текста, выводимого в макете 72Ваш инструментарий Android 742 Построение интерактивных приложенийСтроим приложение для выбора пива 76Создание проекта 78Мы создали активность и макет по умолчанию 79Знакомство с визуальным редактором 80Добавление кнопки в визуальном редакторе 81В activity_find_beer.xml появилась новая кнопка 82Подробнее о коде макета 83Посмотрим, что же получилось 87Жестко запрограммированный текст усложняетлокализацию 88Создание строковых ресурсов 89Использование строкового ресурса в макете 90Код activity_find_beer.xml 91Добавление значений в список 94Добавление string-array в strings.xml 95Тест-драйв раскрывающегося списка 96Кнопка должна что-то делать 97Как заставить кнопку вызвать метод 98Как выглядит код активности 99Добавление в активность метода onClickFindBeer() 100Метод onClickFindBeer() должен что-то делать 101Получив ссылку на объект View, вы можете вызыватьего методы 102Обновление кода активности 103Первая версия активности 105Построение вспомогательного класса Java 108Что происходит при выполнении кода 112Ваш инструментарий Android 1143 Множественные активности и интентыПриложение может содержать несколько активностейoae 116Структура приложения 117Создание проекта 117Обновление макета 118Создание второй активности и макета 120Знакомьтесь: файл манифеста Android 122Интент - разновидность сообщения 124Что происходит при запуске приложения 126Передача текста второй активности 128Обновление кода CreateMessageActivity 133Приложение можно изменить так, чтобы сообщенияотправлялись другим людям 136Как работают приложения Android 137Создание интента с указанием действия 139Изменение интента для использования действия 140Что происходит при выполнении кода 141Фильтр интентов сообщает Android, какие активностимогут обработать те или иные действия 143Как Android использует фильтр интентов 144Запуск приложения на РЕАЛЬНОМ устройстве 147А если вы хотите, чтобы пользователь ВСЕГДАвыбирал активность? 150Что произойдет при вызове createChooser() 151Изменение кода создания активности 153Если подходящих активностей НЕТ 155Ваш инструментарий Android 1564 Жизненный цикл активностиКак на самом деле работают активности? 158Приложение Stopwatch 160Добавление строковых ресурсов 161Как работает код активности 163Добавление кода кнопок 164Метод runTimer() 165Полный код runTimer() 167Полный код StopwatchActivity 168Поворот экрана изменяет конфигурацию устройства 174Состояния активности 175Жизненный цикл активности: от создания до уничтожения 176Обновленный код StopwatchActivity 180Что происходит при запуске приложения 181Жизнь активности не ограничиваетсясозданием и уничтожением 184Обновленный код StopwatchActivity 189Что происходит при запуске приложения 190А если приложение видимо только частично? 192Жизненный цикл активности: видимость 193Прекращение отсчета временипри приостановке активности 196Реализация методов onPause() и onResume() 197Полный код StopwatchActivity 198Что происходит при запуске приложения 201Краткое руководство по методам жизненного цикла 205Ваш инструментарий Android 2065 Представления и группыПользовательский интерфейс состоит из макетови компонентов графического интерфейса 208LinearLayout отображает представленияв строку или в столбец 209Добавление файла ресурсов размеровдля последовательного примененияотступов между макетами 212Создание интервалов между представлениями 214Изменение базового линейного макета 215Добавление весов 217Атрибут gravity и положение содержимого в представлении 220Полная разметка линейного макета 224Вложенные макеты 229Полная разметка вложения представлений 230Знакомство с представлениями 239Надпись 239Текстовое поле 240Кнопка 241Двухпозиционная кнопка 242Выключатель 243Флажки 244Переключатели 246Раскрывающийся список 248Графическое представление 249Вывод изображений на кнопках 251Прокручиваемые представления 253Ваш инструментарий Android 2586 Макеты с ограничениямиВложенные макеты бывают неэффективными 260Макеты с ограничениями 261Убедитесь в том, что в проект включена библиотекаConstraint Layout Library 262Добавление стровых ресурсов в файл strings.xml 263Использование схемы 264Позиционирование представлений с использованиемограничений 265Добавление вертикального ограничения 266Изменения на схеме отражаются в XML 267Как выровнять представление по центру 268Настройка позиции представления 269Как изменить размеры представления 270Выравнивание представлений 276Построение реального макета 277Сначала добавляется верхняя строка представлений 278Среда разработки предполагает, какие ограничениянужно добавить в макет 279На схему добавляется новая строка... 280Остается добавить представление для сообщения 281Ваш инструментарий Android 2837 Cписковые представления и адаптерыКаждое приложение начинается с идей 286Навигация с использованием списковых представлений 289Построим приложение Starbuzz 290Активность детализации с информацией о напитке 291Структура приложения Starbuzz 292Класс Drink 294Использование спискового представлениядля вывода списка 297Полная разметка макета верхнего уровня 298Активность категории выводит данные, относящиесяк одной категории 305Обновление файла activity_drink_category.xml 306Для нестатических данных используйте адаптер 307Связывание списковых представлений с адаптерамипри помощи адаптера массива 308Добавление адаптера массива в DrinkCategoryActivity 309Как мы обрабатывали щелчки в TopLevelActivity 314Полный код DrinkCategoryActivity 316Обновление представлений 319Код DrinkActivity 321Что происходит при запуске приложения 322Ваш инструментарий Android 3268 Библиотеки поддержки и панели приложенийХорошее приложение имеет четкую структуру 328Типы навигации 329Создание проекта Pizza 333Добавление панели инструментов в макет... 348...или определение панели инструментов в отдельноммакете 349Включение панели инструментов в макетактивности 350Добавление действий на панель приложения 353Обновление activity_order.xml 354Обновление OrderActivity.java 355Изменение текста на панели приложения 356Разметка AndroidManifest.xml 357Управление внешним видом действия 360Полный код MainActivity.java 363Добавление кнопки Вверх 367Передача информации с панели приложения 369Добавление провайдера в файл menu_main.xml 370Полный код MainActivity.java 372Ваш инструментарий Android 3759 ФрагментыВаше приложение должно хорошо смотретьсяна всех устройствах 378Фрагменты дают возможность повторно использовать код 380Версия приложения для телефона 381Создание проекта и активностей 383Добавление кнопки в макет MainActivity 384Как добавить фрагмент в проект 386Метод onCreateView() фрагмента 388Включение фрагмента в макет активности 390Взаимодействие фрагмента и активности 397Класс Workout 398Передача идентификатора фрагменту 399Жизненный цикл фрагмента 403Заполнение представлений в методе onStart() фрагмента 405Создание фрагмента со списком 410Обновленный код WorkoutListFragment 415Разметка activity_main.xml 419Связывание списка с детализацией 422Код WorkoutListFragment.java 425Передача идентификатора WorkoutDetailFragment 427Ваш инструментарий Android 43010 Фрагменты для больших интерфейсовПриложение Workout одинаково выглядит на телефонахи планшетах 432Проектирование интерфейса для больших экранов 433Версия для телефона 434Версия для планшета 435Создание AVD для планшета 437Размещение ресурсов для конкретного типа экранав специальных папках 440Выбор имен папок 441Планшеты используют макеты из папки layout-large 446Как работает код 448Фрагменты должны работать с кнопкой Назад 451Стек возврата 452Проверка макета, используемого устройством 455Обновленный код MainActivity 456Транзакции фрагментов 457Обновленный код MainActivity 461Поворот устройства нарушает работу приложения 465Сохранение состояния фрагмента... 467Обновленный код WorkoutDetailFragment.java 468Ваш инструментарий Android 47011 Динамические фрагментыСоздание динамических фрагментов 472Новая версия приложения 474Создание TempActivity 475Класс TempActivity должен расширять AppCompatActivity 476Код StopwatchFragment.java 482Макет StopwatchFragment 485Добавление фрагмента в макет TempActivity 487Связывание OnClickListener с кнопками 495Код StopwatchFragment 496При повороте устройства показаниясекундомера обнуляются 500Элемент для статических фрагментов... 501Перевод activity_temp.xml на использование FrameLayout 502Полный код TempActivity.java 505Включение фрагмента с секундомеромв WorkoutDetailFragment 507Полный код WorkoutDetailFragment.java 514Ваш инструментарий Android 51812 Design support libraryВозвращаемся к приложению Bits and Pizzas 520Структура приложения 521Использование компонента ViewPagerдля переключения между фрагментами 527Включение ViewPager в макет MainActivity 528Передача информации ViewPager о страницах 529Код адаптера страничного компонента фрагментов 530Полный код MainActivity.java 532Добавление вкладок в MainActivity 536Добавление вкладок в макет 537Добавление вкладок в макет MainActivity 538Связывание TabLayout с ViewPager 539Полный код MainActivity.java 540Реакция панели инструментов на прокрутку 546Добавление CoordinatorLayout в макет MainActivity 547Полная разметка fragment_top.xml 553Добавление сворачивающейся панелиинструментов в OrderActivity 555Как создать простую сворачивающуюся панель 556Размещение графики на панели инструментов 561Обновленная разметка activity_order.xml 562FAB-кнопки и уведомления Snackbar 564Обновленная разметка activity_order.xml 566Полный код OrderActivity.java 571Ваш инструментарий Android 57313 Recyclerview и карточкиРабота над приложением Bits and Pizzas еще не закончена 576Знакомство с RecyclerView 577Добавление информации о пицце 579Вывод данных пиццы в карточке 580Создание представлений card view 581Полная разметка card_captioned_image.xml 582Как работает RecyclerView.Adapter 583Создание адаптера RecyclerView 584Определение класса ViewHolder 586Полный код CaptionedImagesAdapter.java 589Полный код CaptionedImagesAdapter.java (продолжение) 590Создание RecyclerView 591Включение RecyclerView в макет PizzaFragmen 592Полный код PizzaFragment.java 593Полный код PizzaFragment.java 596Создание PizzaDetailActivity 605Код PizzaDetailActivity.java 607Реакция RecyclerView на щелчки 608Прослушивание событий представлений в адаптере 609Добавление интерфейса в адаптер 611Код CaptionedImagesAdapter.java code (продолжение) 612Реализация слушателя в PizzaFragment.java 613Код PizzaFragment.java (продолжение) 614Ваш инструментарий Android 61614 Выдвижные панелиВкладки упрощают навигацию... 618Мы создадим навигационную панель для новогопочтового приложения 619Подробнее о навигационных панелях 620Создание проекта CatChat 622Создание InboxFragment 623Создание DraftsFragment 624Создание SentItemsFragment 625Создание TrashFragment 626Создание макета панели инструментов 627Создание HelpActivity 629Создание FeedbackActivity 630Построение навигационной панели 631Создание заголовка навигационной панели 632Полный код nav_header.xml 633Группировка команд 636Использование группы для первого раздела 637Создание подменю для раздела 638Полная разметка menu_nav.xml 639Создание навигационной панели 640Полная разметка activity_main.xml 641Добавление InboxFragment в MainActivity 642Добавление кнопки вызова панели 645Реакция на выбор команд на навигационной панели 646Реализация метода onNavigationItemSelected() 647Полный код MainActivity.java 653Ваш инструментарий Android 65715 Базы данных SQLiteВозвращение в Starbuzz 660Android хранит информацию в базах данных SQLite 661Android включает классы SQLite 662Текущая структура приложения Starbuzz 663Переход на работу с базой данных 664Помощник SQLite управляет базой данных 665Создание помощника SQLite 666Внутри базы данных SQLite 668Таблицы создаются командами SQL 669Вставка данных методом insert() 670Вставка нескольких записей 671Код StarbuzzDatabaseHelper 672Что делает код помощника SQLite 673А если структура базы данных изменится? 674Номера версий баз данных SQLite 675Что происходит при изменении номера версии 676Обновление записей методом onUpgrade() 678Метод onDowngrade() 679Модификация базы данных 680Обновление существующей базы данных 683Обновление записей методом update() 684Определение условий по нескольким столбцам 685Изменение структуры базы данных 687Удаление таблиц 688Полный код помощника SQLite 689Ваш инструментарий Android 69416 КурсорыЧего мы добились... 696Новая структура приложения Starbuzz 697Изменения DrinkActivity для использованиябазы данных Starbuzz 698Текущий код DrinkActivity 699Получение ссылки на базу данных 700Курсоры и чтение информации из базы данных 701Выборка всех записей из таблицы 702Упорядочение данных в запросах 703Выборка по условию 704И снова код DrinkActivity 707Переходы между записями 709Чтение данных из курсора 710Последний шаг: закрытие курсора и базы данных 710Код DrinkActivity 711Что нужно сделать с DrinkCategoryActivityдля использования базы данных Starbuzz 714Текущий код DrinkCategoryActivity 715Получить ссылку на базу данных Starbuzz... 716...затем создать курсор, возвращающий данные 716Как заменить данные массива в ListView? 717Простой адаптер курсора связывает данные курсорас представлениями 718Закрытие курсора и базы данных 720История продолжается 721Обновленный код DrinkCategoryActivity 726Ваш инструментарий Android 72917 Курсоры и асинхронные задачиОбновление данных в приложении Starbuzz 732Начнем с обновления DrinkActivity 733Включение флажка в макет DrinkActivity 734Вывод значения столбца FAVORITE 735Полный код DrinkActivity.java 739Вывод любимых напитков в TopLevelActivity 743Переработка TopLevelActivity.java 745Новый код TopLevelActivity.java 748Изменение курсора методом changeCursor() 753Обновленный код TopLevelActivity.java 754Какой код для какого потока? 761Класс AsyncTask выполняет асинхронные задачи 762Метод onPreExecute() 763Метод doInBackground() 764Метод onProgressUpdate() 765Метод onPostExecute() 766Параметры класса AsyncTask 767Полный код UpdateDrinkTask 768Полный код DrinkActivity.java 770Схема работы с объектами AsyncTask 775Ваш инструментарий Android 77518 СлужбыСлужбы работают незаметно для пользователя 778ЗАПУСКАЕМАЯ служба 779Использование класса IntentServiceдля создания простой службы 780Запись сообщений в журнал 781Полный код DelayedMessageService 782Объявление служб в AndroidManifest.xml 783Добавление кнопки в activity_main.xml 784Службы запускаются вызовом startService() 785Что происходит при запуске приложения 786Состояния запускаемой службы 788Жизненный цикл запускаемых служб:от создания к уничтожению 789Служба наследует методы жизненного цикла 790В Android имеется встроенная служба уведомления 793Мы используем уведомления из библиотекиподдержки AppCompat 794Создание построителя уведомлений 795Добавление действия для определения активности,запускаемой по щелчку 796Выдача уведомлений с использованиемвстроенной службы 797Полный код DelayedMessageService.java 798Что происходит при выполнении кода 800Ваш инструментарий Android 80319 Связанные службы и разрешенияСвязанные службы привязываются к другим компонентам 806Создание новой службы 808Реализация IBinder 809Добавление метода getDistance() 810Обновление макета MainActivity 811Создание объекта ServiceConnection 813Применение bindService() для связывания 816Вызов метода getDistance() 818Полный код MainActivity.java 819Что происходит при выполнении кода 821Состояния связанных служб 825Добавление библиотеки поддержки AppCompat 828Добавление слушателя в OdometerService 830Обновленный код OdometerService 833Вычисление пройденного расстояния 834Полный код OdometerService.java 836Запрос разрешения 840Выдача уведомление при отказе 844Добалвение кода уведомленийв onRequestPermissionsResults() 847Полный код MainActivity.java 849Ваш инструментарий Android 853Надеемся, вы хорошо провели время в мире Android. 854[/html]
   Price history chart & currency exchange rate

Customers also viewed