Android. Программирование для профессионалов. 4-е издание



Download 21,53 Mb.
Pdf ko'rish
bet485/485
Sana13.07.2022
Hajmi21,53 Mb.
#787165
1   ...   477   478   479   480   481   482   483   484   485
Bog'liq
Android Programmirovanie dlya professionalov 4-e izdanie 2020 Fillips Styuart Marsikano Gardner

    Bu sahifa navigatsiya:
  • bold

20sp
3dp
name="AppTheme"
parent="
Theme.AppCompat.Light.DarkActionBar
">
name="colorPrimary">@color/colorPrimary
name="colorPrimaryDark">@color/colorPrimaryDark

name="colorAccent">@color/colorAccent
name="AppTheme"
parent="Theme.AppCompat.Light.DarkActionBar">

 
 
 
 
 
 
 
 

name="android:background">@color/dark_blue
m>

name="android:background">@color/dark_bluem>

bold

name="android:background">@color/dark_bluem>
name="StrongBeatBoxButton"
parent="@style/BeatBoxButton">
bold

name="AppTheme"
parent="Theme.AppCompat.Light.DarkActionBar">
...

name="android:background">@color/dark_bluem>
name="AppTheme"
parent="Theme.AppCompat
.Light.DarkActionBar
">
...
name="AppTheme"
parent="Theme.AppCompat">
name="colorPrimary">@color/
colorPrimaryred<
/item>
name="colorPrimaryDark">@color/
colorPrimary
Darkdark_red

name="colorAccent">@color/
colorAccentgrayitem>
name="Theme.AppCompat"
parent="Base.Theme.AppCompat" />
Тема 
Theme.AppCompat
наследует 
атрибуты 
от
Base.Theme.AppCompat
. Интересно, что 
Theme.AppCompat
не
переопределяет никакие атрибуты, а только содержит ссылку
на своего родителя.
Щелкните мышью по 
Base.Theme.AppCompat
с нажатой
клавишей (
Ctrl
). Android Studio сообщит, что тема уточняется
по ресурсам. Существует несколько разных версий этой темы в
зависимости от используемой версии Android.
name="Base.Theme.AppCompat"
parent="Base.V7.Theme.AppCompat">
name="Base.V7.Theme.AppCompat"
parent="Platform.AppCompat">

androidx.appcompat.app.AppCompatVie
wInflater

false

true

name="windowActionBarOverlay">false
name="Platform.AppCompat"
parent="android:Theme.Holo">
name="android:windowNoTitle">true
name="android:windowActionBar">false
?
attr/buttonBarStyle

?
attr/buttonBarButtonStyle
name="android:borderlessButtonStyle">?
attr/borderlessButtonStyle

...
name="Platform.AppCompat"
parent="android:Theme.Holo">
...
...
name="android:windowBackground">@color/backgrou
nd_material_dark

name="AppTheme"
parent="Theme.AppCompat">
@color/red
name="colorPrimaryDark">@color/dark_red
@color/gray
 
 
 
 

name="android:windowBackground">@color/soothing
_blue
name="Base.V7.Theme.AppCompat"
parent="Platform.AppCompat">
...
name="buttonStyle">@style/Widget.AppCompat.Butt
on

name="buttonStyleSmall">@style/Widget.AppCompat
.Button.Small

...
name="Widget.AppCompat.Button"
parent="Base.Widget.AppCompat.Button"/>
Стиль 
Widget.AppCompat.Button
самостоятельно никакие
атрибуты не определяет. Чтобы просмотреть его содержимое,
перейдите к его родителю. Вы увидите, что базовый стиль
существует 
в 
двух 
версиях. 
Выберите 
версию
values/values.xml
.
name="Base.Widget.AppCompat.Button"
parent="android:Widget">
name="android:background">@drawable/abc_btn_def
ault_mtrl_shape

?
android:attr/textAppearanceButton

48dip
88dip
true
true
name="android:gravity">center_vertical|center_h
orizontal

name="AppTheme"
parent="Theme.AppCompat">
name="colorPrimary">@color/red

name="BeatBoxButton"
parent="Widget.AppCompat.Button">
name="android:background">@color/dark_bluem>

name="android:textStyle">bold
name="AppTheme"
parent="Theme.AppCompat">
name="colorPrimary">@color/red
name="colorPrimaryDark">@color/dark_red
name="colorAccent">@color/gray
name="android:windowBackground">@color/soothing
_blue

name="BeatBoxButton"
parent="Widget.AppCompat.Button">
name="android:background">@color/dark_bluem>
name="Platform.AppCompat"
parent="android:Theme.Holo">
...
name="AppTheme"
parent="Theme.AppCompat">
...
name="BeatBoxButton"
parent="Widget.AppCompat.Button">
name="AppTheme"
parent="Theme.AppCompat">
...
name="BeatBoxButton"
parent="Widget.AppCompat.Button">
name="android:background">@drawable/button_beat
_box_normal

 
 
 
 
 
 
 
 

name="android:background">@drawable/button_beat
_box

Document Outline

  • Благодарности
  • Изучение Android
    • Подготовка
    • Что нового в четвертом издании?
    • Как работать с книгой
    • Структура книги
    • Типографские соглашения
    • Версии Android
    • От издательства
  • Необходимые инструменты
    • Загрузка и установка Android Studio
    • Загрузка старых версий SDK
    • Аппаратное обеспечение
  • 1. Первое Android-приложение
    • Основы разработки приложения
    • Создание проекта Android
    • Навигация в Android Studio
    • Создание макета пользовательского интерфейса
    • От разметки XML к объектам View
    • Разработка виджетов
    • Уведомления
    • Выполнение в эмуляторе
    • Для любознательных: процесс сборки Android-приложений
    • Упражнения
    • Упражнение. Настройка уведомления
  • 2. Android и модель MVC
    • Создание нового класса
    • Архитектура «Модель — Представление — Контроллер» и Android
    • Обновление уровня представления
    • Обновление уровня контроллера
    • Добавление значка
    • Плотность пикселов
    • Запуск на устройстве
    • Упражнение. Добавление слушателя для TextView
    • Упражнение. Добавление кнопки возврата
    • Упражнение. От Button к ImageButton
  • 3. Жизненный цикл activity
    • Поворот GeoQuiz
    • Обратные вызовы состояния и жизненного цикла activity
    • Регистрация событий жизненного цикла activity
    • Анализ жизненного цикла activity на примере
    • Конфигурации устройств и жизненный цикл ресурса
    • Для любознательных: обновление UI и мультиоконный режим
    • Для любознательных: уровни регистрации
    • Упражнение. Предотвращение ввода нескольких ответов
    • Упражнение. Вывод оценки
  • 4. Сохранение состояния интерфейса
    • Добавление зависимостей ViewModel
    • Добавление ViewModel
    • Сохранение данных после завершения процесса
    • Сравнение ViewModel и сохраненного состояния экземпляра
    • Для любознательных: компоненты Jetpack, AndroidX и компоненты архитектуры
    • Для любознательных: как избежать костылей
  • 5. Отладка Android-приложений
    • Исключения и трассировка стека
    • Особенности отладки Android
    • Упражнение. Исследуем Layout Inspector
    • Упражнение. Profiler
  • 6. Вторая activity
    • Подготовка к внедрению второй activity
    • Запуск activity
    • Передача данных между activity
    • Ваши activity с точки зрения Android
    • Упражнение. Лазейка для читера
    • Упражнение. Отслеживание читов по вопросу
  • 7. Версии Android SDK и совместимость
    • Версии Android SDK
    • Совместимость и программирование Android
    • Документация разработчика Android
    • Упражнение. Вывод версии Android на устройстве
    • Упражнение. Ограничение подсказок
  • 8. UI-фрагменты и FragmentManager
    • Гибкость пользовательского интерфейса
    • Знакомство с фрагментами
    • Начало работы над CriminalIntent
    • Создание класса Crime
    • Создание UI-фрагмента
    • Хостинг UI-фрагментов
    • Архитектура приложений с фрагментами
  • 9. Вывод списков и RecyclerView
    • Добавление нового фрагмента и ViewModel
    • Добавление RecyclerView
    • Создание макета представления элемента
    • Реализация ViewHolder
    • Реализация адаптера для заполнения RecyclerView
    • Переработка представлений
    • Очистка элементов связанного списка
    • Отклик на нажатия
    • Для любознательных: ListView и GridView
    • Упражнение. Типы View в RecyclerView
  • 10. Создание интерфейсов с использованием макетов и виджетов
    • Знакомство с ConstraintLayout
    • Использование графического конструктора макетов
    • Использование ConstraintLayout
    • Подробнее об атрибутах макетов
    • Для любознательных: поля и отступы
    • Для любознательных: нововведения в ConstraintLayout
    • Упражнение. Форматирование даты
  • 11. Базы данных и Room Library
    • Библиотека компонентов архитектуры Room
    • Создание базы данных
    • Определение объекта доступа к данным
    • Доступ к базе данных с помощью шаблона репозитория
    • Тестирование запросов
    • Потоки приложения
    • Использование LiveData
    • Упражнение. Ошибка доступа к схеме
    • Для любознательных: синглтоны
  • 12. Навигация по фрагментам
    • Одиночная activity: главный фрагмент
    • Аргументы фрагментов
    • Преобразования LiveData
    • Обновление базы данных
    • Для любознательных: зачем использовать аргументы фрагментов?
    • Для любознательных: библиотека компонентов архитектуры навигации
    • Упражнение. Эффективная перезагрузка RecyclerView
  • 13. Диалоговые окна
  • 14. Панель приложения
    • Панель приложения AppCompat
    • Меню
    • Использование Android Asset Studio
    • Для любознательных: панель приложения/действий/инструментов
    • Для любознательных: доступ к AppCompat панели приложения
    • Упражнение. Пустое представление для списка
  • 15. Неявные интенты
    • Добавление кнопок
    • Добавление подозреваемого в уровень модели
    • Форматные строки
    • Использование неявных интентов
    • Упражнение. Другой неявный интент
  • 16. Интенты при работе с камерой
    • Размещение фотографий
    • Хранилище файлов
    • Использование интента камеры
    • Масштабирование и отображение растровых изображений
    • Объявление функциональности
    • Упражнение. Вывод увеличенного изображения
    • Упражнение. Эффективная загрузка миниатюры
  • 17. Локализация
    • Локализация ресурсов
    • Конфигурационные квалификаторы
    • Тестирование альтернативных ресурсов
    • Для любознательных: подробнее об определении размеров экрана устройства
    • Упражнение. Локализация дат
  • 18. Специальные возможности
    • Приложение TalkBack
    • Чтение нетекстовых элементов
    • Создание сопоставимого опыта взаимодействия
    • Для любознательных: Accessibility Scanner
    • Упражнение. Улучшение списка
    • Упражнение. Предоставление контекста для ввода данных
    • Упражнение. Оповещения о событиях
  • 19. Привязка данных и MVVM
    • Другие архитектуры: зачем они нужны?
    • Сравнение моделей представления MVVM и Jetpack-класса ViewModel
    • Создание приложения BeatBox
    • Простая привязка данных
    • Импорт активов
    • Доступ к активам
    • Подключение активов для использования
    • Установление связи с данными
    • Для любознательных: подробнее о привязке данных
    • Для любознательных: LiveData и привязка данных
  • 20. Модульное тестирование и воспроизведение звуков
    • Создание объекта SoundPool
    • Доступ к активам
    • Загрузка звуков
    • Воспроизведение звуков
    • Зависимости при тестировании
    • Создание класса теста
    • Подготовка теста
    • Написание тестов
    • Обратные вызовы привязки данных
    • Выгрузка звуков
    • Для любознательных: интеграционное тестирование
    • Для любознательных: фиктивные объекты и тестирование
    • Упражнение. Управление скоростью воспроизведения
    • Упражнение. Воспроизведение звуков после поворота
  • 21. Стили и темы
    • Цветовые ресурсы
    • Стили
    • Темы
    • Добавление цветов в тему
    • Переопределение атрибутов темы
    • Изменение атрибутов кнопки
    • Для любознательных: подробнее о наследовании стилей
    • Для любознательных: доступ к атрибутам тем
  • 22. Графические объекты
    • Унификация кнопок
    • Геометрические фигуры
    • Списки состояний
    • Списки слоев
    • Для любознательных: для чего нужны графические объекты XML
    • Для любознательных: Mipmap
    • Для любознательных: девятизонные изображения
    • Упражнение. Темы кнопок
  • 23. Подробнее об интентах и задачах
    • Создание приложения NerdLauncher
    • Обработка неявного интента
    • Создание явных интентов на стадии выполнения
    • Задачи и стек возврата
    • Использование NerdLauncher в качестве главного экрана
    • Для любознательных: процессы и задачи
    • Для любознательных: параллельные документы
    • Упражнение. Значки
  • 24. HTTP и фоновые задачи
    • Создание приложения PhotoGallery
    • Основы работы с сетью при помощи Retrofit
    • Получение JSON-данных от Flickr
    • Работа с сетью после изменения конфигурации
    • Отображение результатов в RecyclerView
    • Для любознательных: альтернативные парсеры и форматы данных
    • Для любознательных: отмена запросов
    • Для любознательных: управление зависимостями
    • Упражнение. Добавление пользовательского десериализатора Gson
    • Упражнение. Навигация по страницам
    • Упражнение. Динамическая настройка количества столбцов
  • 25. Классы Looper, Handler и HandlerThread
    • Подготовка RecyclerView к выводу изображений
    • Подготовка к загрузке через URL
    • Множественные загрузки
    • Создание фонового потока
    • Сообщения и обработчики сообщений
    • Прослушивание жизненного цикла представления
    • Сохраненные фрагменты
    • Для любознательных: решение задачи загрузки изображений
    • Для любознательных: StrictMode
    • Упражнение. Наблюдение LiveData у LifecycleOwner
    • Упражнение. Больше информации о жизненном цикле ThumbnailDownloader
    • Упражнение. Предварительная загрузка и кэширование
  • 26. Поиск: SearchView и SharedPreferences
    • Поиск во Flickr
    • Использование SearchView
    • Простое сохранение с помощью SharedPreferences
    • Последний штрих
    • Редактирование SharedPreferences с помощью Android KTX
    • Упражнение. Еще одно усовершенствование
  • 27. Библиотека WorkManager
    • Создание класса Worker
    • Планирование работы
    • Проверка на наличие новых фотографий
    • Вывод уведомления пользователю
    • Управление опросом от пользователя
  • 28. Широковещательные интенты
    • Обычные и широковещательные интенты
    • Отключение уведомлений при открытом приложении
    • Приемники и продолжительные задачи
    • Для любознательных: ло
      Download 21,53 Mb.

      Do'stlaringiz bilan baham:
1   ...   477   478   479   480   481   482   483   484   485




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish