Уроки андроид старт андроид

Содержание
  1. Уроки
  2. Урок 1. Введение.
  3. Урок 2. Установка Android Studio
  4. Урок 3. Создание AVD. Первое приложение. Структура Android-проекта.
  5. Урок 4. Компоненты экрана и их свойства
  6. Урок 5. Layout-файл в Activity. XML представление. Смена ориентации экрана.
  7. Урок 6. Виды Layouts. Ключевые отличия и свойства.
  8. Уроки
  9. Урок 21. Создание и вызов Activity
  10. Урок 22. Intent, Intent Filter, Context — теория
  11. Урок 23. Activity Lifecycle. В каких состояниях может быть Activity
  12. Урок 24. Activity Lifecycle, пример смены состояний с двумя Activity
  13. Урок 25. Task. Что это такое и как формируется
  14. Урок 26. Intent Filter — практика
  15. Урок 27. Читаем action из Intent
  16. Урок 28. Extras — передаем данные с помощью Intent
  17. Урок 29. Вызываем Activity и получаем результат. Метод startActivityForResult
  18. Урок 30. Подробнее про onActivityResult. Зачем нужны requestCode и resultCode
  19. Урок 31. Зачем у Intent есть атрибут data. Что такое Uri. Вызываем системные приложения
  20. Урок 32. Пишем простой браузер
  21. Урок 33. Хранение данных. Preferences.
  22. Урок 34. Хранение данных. SQLite
  23. Урок 35. SQLite. Методы update и delete с указанием условия
  24. Урок 36. SQLite. Подробнее про метод query. Условие, сортировка, группировка
  25. Урок 37. Запросы из связанных таблиц. INNER JOIN в SQLite. Метод rawQuery.
  26. Урок 38. Транзакции в SQLite. Небольшой FAQ по SQLite.
  27. Урок 39. onUpgrade. Обновляем БД в SQLite
  28. Урок 40. LayoutInflater. Учимся использовать.
  29. Language
  30. Автор сайта
  31. Социальные сети
  32. Группа ВКонтакте
  33. Поддержка проекта
  34. Уроки
  35. Урок 101. Создаем свой ContentProvider
  36. Урок 102. Touch – обработка касания
  37. Урок 103. MultiTouch – обработка множественных касаний
  38. Урок 104. Android 3. Fragments. Lifecycle
  39. Урок 105. Android 3. Fragments. Динамическая работа
  40. Урок 106. Android 3. Fragments. Взаимодействие с Activity
  41. Урок 107. Android 3. ActionBar. Размещение элементов
  42. Урок 108. Android 3. ActionBar. Навигация — табы и выпадающий список
  43. Урок 109. Android 3. Fragments. ListFragment — список
  44. Урок 110. Android 3. Fragments. DialogFragment — диалог
  45. Урок 111. Android 3. Fragments. PreferenceFragment — настройки. Headers
  46. Урок 112. Android 3. ActionBar. Динамическое размещение элементов
  47. Урок 113. Android 3. ActionMode, как альтернатива контекстному меню
  48. Урок 114. Android 3. Библиотека Support Library. Зачем нужна и как ее использовать на примере фрагментов
  49. Урок 115. Одно приложение на разных экранах
  50. Урок 116. Поведение Activity в Task. Intent-флаги, launchMode, affinity
  51. Урок 117. Виджеты. Создание. Lifecycle
  52. Урок 118. Виджеты. Конфигурационный экран. Обновление
  53. Урок 119. PendingIntent – флаги, requestCode. AlarmManager
  54. Урок 120. Виджеты. Обработка нажатий
  55. Language
  56. Автор сайта
  57. Социальные сети
  58. Группа ВКонтакте
  59. Поддержка проекта
  60. Полный список

Уроки

Урок 1. Введение.

Это урок-введение. Здесь мы пока ничего кодить не будем, я распишу причины, которые побудили меня создать этот сайт.

Урок 2. Установка Android Studio

Для того, чтобы писать программы — нужна среда разработки. В этом уроке мы подробно рассмотрим, как установить и настроить эту среду разработки.

Я буду описывать установку применимо к операционной системе Windows 7.

Урок 3. Создание AVD. Первое приложение. Структура Android-проекта.

Для того, чтобы тестировать приложения, нам понадобится Android Virtual Device (AVD). Это эмулятор Android-смартфона, на который мы сможем устанавливать созданные нами приложения, и запускать их там. Давайте его создадим.

Урок 4. Компоненты экрана и их свойства

Давайте посмотрим, как в Андроид приложениях формируется то, что мы видим на экране.

Урок 5. Layout-файл в Activity. XML представление. Смена ориентации экрана.

На прошлом уроке мы выяснили, что Activity читает layout-файл и отображает то, что в нем сконфигурировано. Теперь выясним, откуда Activity знает, какой именно layout-файл читать.

Урок 6. Виды Layouts. Ключевые отличия и свойства.

Расположение View-элементов на экране зависит от ViewGroup (Layout), в которой они находятся. В этом уроке мы рассмотрим основные виды Layout.

Читайте также:  Веб плеер для андроида

LinearLayout – отображает View-элементы в виде одной строки (если он Horizontal) или одного столбца (если он Vertical). Я использовал это на прошлом уроке, когда демонстрировал использование layout-файлов при смене ориентации.

TableLayout – отображает элементы в виде таблицы, по строкам и столбцам.

RelativeLayout – для каждого элемента настраивается его положение относительно других элементов.

AbsoluteLayout – для каждого элемента указывается явная позиция на экране в системе координат (x,y)

Источник

Уроки

Урок 21. Создание и вызов Activity

В этом уроке мы:

— создадим и вызовем второе Activity в приложении

Урок 22. Intent, Intent Filter, Context — теория

— разбираемся в коде урока 21
— теория по Intent и Intent Filter
— немного о Context

Урок 23. Activity Lifecycle. В каких состояниях может быть Activity

— Activity LifeCycle – поведение Activity при создании, вызове, закрытии

Урок 24. Activity Lifecycle, пример смены состояний с двумя Activity

— изучаем смену состояния на примере двух Activity

Урок 25. Task. Что это такое и как формируется

— немного теории по Task
— фиксируем Activity в состоянии Paused

Урок 26. Intent Filter — практика

— вызываем Activity, используя неявный вызов и Intent Filter

Урок 27. Читаем action из Intent

— читаем action из Intent

Урок 28. Extras — передаем данные с помощью Intent

— передаем данные с помощью Intent

Урок 29. Вызываем Activity и получаем результат. Метод startActivityForResult

— вызываем Activity с возвратом результата

Урок 30. Подробнее про onActivityResult. Зачем нужны requestCode и resultCode

— разбираемся, зачем нужны requestCode и resultCode в onActivityResult

Урок 31. Зачем у Intent есть атрибут data. Что такое Uri. Вызываем системные приложения

— узнаем, что такое Uri и Intent-атрибут data
— вызываем системные приложения (браузер, звонилка, карта)

Урок 32. Пишем простой браузер

— пишем простой браузер

Урок 33. Хранение данных. Preferences.

— хранение данных с помощью Preferences

Урок 34. Хранение данных. SQLite

— хранение данных с помощью SQLite

Урок 35. SQLite. Методы update и delete с указанием условия

— используем методы update и delete с указанием условия

Урок 36. SQLite. Подробнее про метод query. Условие, сортировка, группировка

— подробно разбираем метод чтения данных query
— используем сортировку, группировку, условия, having

Урок 37. Запросы из связанных таблиц. INNER JOIN в SQLite. Метод rawQuery.

— читаем данные из связанных таблиц
— используем rawQuery

Урок 38. Транзакции в SQLite. Небольшой FAQ по SQLite.

— используем транзакции при работе с БД

Урок 39. onUpgrade. Обновляем БД в SQLite

— меняем версию и обновляем структуру БД в onUpgrade

Урок 40. LayoutInflater. Учимся использовать.

— разбираем как можно использовать LayoutInflater

Language

Автор сайта

Никакие другие люди не имеют к этому сайту никакого отношения и просто занимаются плагиатом.

Социальные сети

В канале я публикую ссылки на интересные и полезные статьи по Android

В чате можно обсудить вопросы и проблемы, возникающие при разработке

Группа ВКонтакте

Поддержка проекта

Яндекс
410011180491924

WebMoney
R248743991365
Z551306702056

© Start Android, 2011-2020. Все права защищены, копирование материалов возможно только с разрешения автора

При возникновении каких-либо вопросов, используйте форму обратной связи

Источник

Уроки

Урок 101. Создаем свой ContentProvider

— создаем свой ContentProvider

Урок 102. Touch – обработка касания

Урок 103. MultiTouch – обработка множественных касаний

— обрабатываем множественные касания

Урок 104. Android 3. Fragments. Lifecycle

— используем фрагменты
— разбираемся в их lifecycle

Урок 105. Android 3. Fragments. Динамическая работа

— динамически работаем с фрагментами

Читайте также:  Телеграмм группы для андроид

Урок 106. Android 3. Fragments. Взаимодействие с Activity

— рассмотрим взаимодействие между Activity и ее фрагментами

Урок 107. Android 3. ActionBar. Размещение элементов

— размещаем элементы в ActionBar

Урок 108. Android 3. ActionBar. Навигация — табы и выпадающий список

— используем навигацию в ActionBar

Урок 109. Android 3. Fragments. ListFragment — список

— работаем с ListFragment

Урок 110. Android 3. Fragments. DialogFragment — диалог

— работаем с DialogFragment

Урок 111. Android 3. Fragments. PreferenceFragment — настройки. Headers

— работаем с PreferenceFragment
— используем Headers

Урок 112. Android 3. ActionBar. Динамическое размещение элементов

— программно размещаем элементы в ActionBar
— используем элементы из фрагментов

Урок 113. Android 3. ActionMode, как альтернатива контекстному меню

— работаем с ActionMode

Урок 114. Android 3. Библиотека Support Library. Зачем нужна и как ее использовать на примере фрагментов

— разбираемся, зачем нужна библиотека Support Library
— на примере фрагментов используем библиотеку v4

Урок 115. Одно приложение на разных экранах

— учитываем ориентацию и размер экрана в работе приложения

Урок 116. Поведение Activity в Task. Intent-флаги, launchMode, affinity

— меняем поведение Activity в Task

Урок 117. Виджеты. Создание. Lifecycle

— создаем простой виджет
— разбираемся в его Lifecycle

Урок 118. Виджеты. Конфигурационный экран. Обновление

— настраиваем виджет при размещении
— работаем с view-компонентами виджета при обновлении

Урок 119. PendingIntent – флаги, requestCode. AlarmManager

— подробно разбираемся с PendingIntent
— используем AlarmManager

Урок 120. Виджеты. Обработка нажатий

— обрабатываем нажатия на виджет

Language

Автор сайта

Никакие другие люди не имеют к этому сайту никакого отношения и просто занимаются плагиатом.

Социальные сети

В канале я публикую ссылки на интересные и полезные статьи по Android

В чате можно обсудить вопросы и проблемы, возникающие при разработке

Группа ВКонтакте

Поддержка проекта

Яндекс
410011180491924

WebMoney
R248743991365
Z551306702056

© Start Android, 2011-2020. Все права защищены, копирование материалов возможно только с разрешения автора

При возникновении каких-либо вопросов, используйте форму обратной связи

Источник

Полный список

— создаем, запускаем и останавливаем простой сервис

Для начала надо определиться, как по-русски называть Service. Общепринятый перевод – служба. Наиболее популярный пример – службы в Windows. Но для системы Android мне привычнее использовать слово сервис. Его я и буду использовать в своих уроках для обозначения Service.

И еще один момент надо сразу прояснить. Service прописывается в манифесте рядом с Activity, и получается, что приложение (Application) содержит в себе и Activity и сервис. Предлагаю для упрощения изложения материала под словом приложение понимать все таки только Activity, которые можно запустить и увидеть на экране. Т.е. то, что мы раньше и называли приложением. А сервис считать отдельной от приложения вещью. А если надо будет обозначить приложение, как контейнер для Activity и сервиса, буду использовать слово Application.

Т.е. приложение – это набор Activity, сервис – Service. Приложение + сервис = Application. Как то так.

Итак, сервис – это некая задача, которая работает в фоне и не использует UI. Запускать и останавливать сервис можно из приложений и других сервисов. Также можно подключиться к уже работающему сервису и взаимодействовать с ним.

В качестве примера можно рассмотреть алгоритм почтовой программы. Она состоит из приложения и сервиса. Сервис работает в фоне и периодически проверяет наличие новой почты, скачивает ее и выводит уведомления. А когда вы запускаете приложение, оно отображает вам эти загруженные сервисом письма. Также приложение может подключиться к сервису и поменять в нем, например, период проверки почты или совсем закрыть сервис, если постоянная проверка почты больше не нужна.

Читайте также:  Последняя версия вайбер для андроид 2021

Т.е. сервис нужен, чтобы ваша задача продолжала работать, даже когда приложение закрыто. В ближайших уроках мы разберемся, какие способы взаимодействия существуют между приложением и сервисом. В этом же уроке создадим простейший сервис, который будет выводить что-нибудь в лог. А приложение будет запускать и останавливать сервис.

Project name: P0921_ServiceSimple
Build Target: Android 2.3.3
Application name: ServiceSimple
Package name: ru.startandroid.develop.p0921servicesimple
Create Activity: MainActivity

Добавим в strings.xml строки:

Две кнопки – для запуска и остановки сервиса. И ProgressBar.

Рядом с MainActivity создайте класс MyService, наследующий android.app.Service

У сервиса так же, как и у Activity есть методы onCreate и onDestroy – которые срабатывают при создании и уничтожении сервиса.

Метод onStartCommand – срабатывает, когда сервис запущен методом startService. В нем мы запускаем наш метод someTask, который пока пуст. У onStartCommand на вход и на выход идут параметры, мы их пока не используем.

Метод onBind нам пока не интересен. Но реализовать его мы обязаны, возвращаем null.

someTask – здесь будем кодить работу для сервиса

Сервис, как и новые, создаваемые Activity необходимо прописать в манифесте. Делается это полностью аналогично. Жмете Add, выбираете Service. И в поле Name выбираете MyService.

Здесь у нас два метода, которые срабатывают при нажатии на кнопки Start service и Stop service. В них мы соответственно запускаем или останавливаем сервис методами startService и stopService. На вход передаем Intent, указывающий на сервис. Это очень похоже на то, как мы вызываем Activity методом startActivity.

Давайте все сохраним и запустим приложение.

Нажмем Start service и смотрим лог:

Выполнился метод onCreate – сервис создался, и onStartCommand – сервис выполняет содержимое метода onStartCommand.

Если мы теперь еще раз нажмем Start service:

Сервис уже создан, onCreate не вызывается, выполняется только метод onStartCommand.

Жмем Stop service

Убедимся, что сервис не зависит от приложения. Жмем Start service.

Сервис запущен. Закрываем приложение кнопкой Назад. В логах тишина, onDestroy в сервисе не выполнился, сервис продолжает жить. Ему все равно, работает приложение, его запустившее или не работает.

Долгим удержанием клавиши Домой выведем список последних приложений

снова откроем наше приложение и нажмем Stop service. В логах:

Теперь попробуем выполнять что-нибудь осмысленное в onStartCommand. Перепишем метод someTask в MyService.java:

Будем с интервалом в 1 секунду выводить в лог записи из сервиса.

Все сохраним, запустим и нажмем Start service:

ProgressBar замер, экран стал недоступен. А логи идут:

Вывод – сервис работает в основном потоке и блокирует экран.

Вынесем цикл с паузами в отдельный поток. И чтобы два раза не бегать, давайте заодно узнаем, что делает метод stopSelf.

Перепишем метод someTask:

Мы вынесли код в отдельный поток и добавили вызов метода stopSelf – этот метод аналогичен методу stopService, он останавливает сервис, в котором был вызван.

Все сохраняем, запускаем и жмем Start service. ProgressBar крутится, экран не блокирован, логи идут:

Сервис создался, выполнил работу и сам остановился методом stopSelf.

На следующем уроке:

— передаем данные в сервис
— рассматриваем методы остановки сервиса stopSelf и stopSelfResult

Присоединяйтесь к нам в Telegram:

— в канале StartAndroid публикуются ссылки на новые статьи с сайта startandroid.ru и интересные материалы с хабра, medium.com и т.п.

— в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование

— ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня

— новый чат Performance для обсуждения проблем производительности и для ваших пожеланий по содержанию курса по этой теме

Источник

Оцените статью