Урок 1. Введение.
|
26 июля 2011 |
Урок 2. Установка Android Studio
|
28 июля 2011 |
Урок 3. Создание AVD. Первое приложение. Структура Android-проекта.
|
01 августа 2011 |
Урок 4. Компоненты экрана и их свойства
|
04 августа 2011 |
Урок 5. Layout-файл в Activity. XML представление. Смена ориентации экрана.
|
08 августа 2011 |
Урок 6. Виды Layouts. Ключевые отличия и свойства.
|
11 августа 2011 |
Урок 7. Layout параметры для View-элементов.
|
15 августа 2011 |
Урок 8. Работаем с элементами экрана из кода
|
18 августа 2011 |
Урок 9. Обработчики событий на примере Button.
|
22 августа 2011 |
Урок 10. Оптимизируем реализацию обработчиков.
|
25 августа 2011 |
Урок 11. Папка res/values. Используем ресурсы приложения.
|
29 августа 2011 |
Урок 12. Логи и всплывающие сообщения
|
01 сентября 2011 |
Урок 13. Создание простого меню
|
05 сентября 2011 |
Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
|
08 сентября 2011 |
Урок 15. Контекстное меню
|
12 сентября 2011 |
Урок 16. Программное создание экрана. LayoutParams
|
15 сентября 2011 |
Урок 17. Создание View-компонент в рабочем приложении
|
19 сентября 2011 |
Урок 18. Меняем layoutParams в рабочем приложении
|
22 сентября 2011 |
Урок 19. Пишем простой калькулятор
|
26 сентября 2011 |
Урок 20. Анимация
|
29 сентября 2011 |
Урок 21. Создание и вызов Activity
|
03 октября 2011 |
Урок 22. Intent, Intent Filter, Context - теория
|
06 октября 2011 |
Урок 23. Activity Lifecycle. В каких состояниях может быть Activity
|
10 октября 2011 |
Урок 24. Activity Lifecycle, пример смены состояний с двумя Activity
|
13 октября 2011 |
Урок 25. Task. Что это такое и как формируется
|
17 октября 2011 |
Урок 26. Intent Filter - практика
|
20 октября 2011 |
Урок 27. Читаем action из Intent
|
24 октября 2011 |
Урок 28. Extras - передаем данные с помощью Intent
|
27 октября 2011 |
Урок 29. Вызываем Activity и получаем результат. Метод startActivityForResult
|
31 октября 2011 |
Урок 30. Подробнее про onActivityResult. Зачем нужны requestCode и resultCode
|
03 ноября 2011 |
Урок 31. Зачем у Intent есть атрибут data. Что такое Uri. Вызываем системные приложения
|
07 ноября 2011 |
Урок 32. Пишем простой браузер
|
10 ноября 2011 |
Урок 33. Хранение данных. Preferences.
|
14 ноября 2011 |
Урок 34. Хранение данных. SQLite
|
17 ноября 2011 |
Урок 35. SQLite. Методы update и delete с указанием условия
|
21 ноября 2011 |
Урок 36. SQLite. Подробнее про метод query. Условие, сортировка, группировка
|
24 ноября 2011 |
Урок 37. Запросы из связанных таблиц. INNER JOIN в SQLite. Метод rawQuery.
|
28 ноября 2011 |
Урок 38. Транзакции в SQLite. Небольшой FAQ по SQLite.
|
01 декабря 2011 |
Урок 39. onUpgrade. Обновляем БД в SQLite
|
05 декабря 2011 |
Урок 40. LayoutInflater. Учимся использовать.
|
08 декабря 2011 |
Урок 41. Используем LayoutInflater для создания списка
|
12 декабря 2011 |
Урок 42. Список - ListView
|
15 декабря 2011 |
Урок 43. Одиночный и множественный выбор в ListView
|
19 декабря 2011 |
Урок 44. События в ListView
|
22 декабря 2011 |
Урок 45. Список-дерево ExpandableListView
|
26 декабря 2011 |
Урок 46. События ExpandableListView
|
29 декабря 2011 |
Урок 47. Обзор адаптеров
|
12 января 2012 |
Урок 48. Используем SimpleAdapter.
|
16 января 2012 |
Урок 49. SimpleAdapter. Методы SetViewText и SetViewImage
|
19 января 2012 |
Урок 50. SimpleAdapter. Используем ViewBinder
|
23 января 2012 |
Урок 51. SimpleAdapter, добавление и удаление записей
|
26 января 2012 |
Урок 52. SimpleCursorAdapter, пример использования
|
30 января 2012 |
Урок 53. SimpleCursorTreeAdapter, пример использования
|
02 февраля 2012 |
Урок 54. Кастомизация списка. Создаем свой адаптер
|
06 февраля 2012 |
Урок 55. Header и Footer в списках. HeaderViewListAdapter
|
09 февраля 2012 |
Урок 56. Spinner – выпадающий список
|
13 февраля 2012 |
Урок 57. GridView и его атрибуты
|
16 февраля 2012 |
Урок 58. Диалоги. TimePickerDialog
|
20 февраля 2012 |
Урок 59. Диалоги. DatePickerDialog
|
23 февраля 2012 |
Урок 60. Диалоги. AlertDialog: Title, Message, Icon, Buttons
|
27 февраля 2012 |
Урок 61. Диалоги. AlertDialog.Метод onPrepareDialog
|
01 марта 2012 |
Урок 62. Диалоги. AlertDialog. Список
|
05 марта 2012 |
Урок 63. Диалоги. AlertDialog. Список с одиночным выбором
|
08 марта 2012 |
Урок 64. Диалоги. AlertDialog. Список с множественным выбором
|
26 марта 2012 |
Урок 65. Диалоги. AlertDialog. Кастомизация
|
29 марта 2012 |
Урок 66. Диалоги. Обработчики и операции
|
02 апреля 2012 |
Урок 67. Диалоги. ProgressDialog
|
05 апреля 2012 |
Урок 68. Немного о Parcel
|
09 апреля 2012 |
Урок 69. Передаем Parcelable объекты с помощью Intent
|
12 апреля 2012 |
Урок 70. onSaveInstanceState. Сохранение данных Activity при повороте экрана
|
16 апреля 2012 |
Урок 71. Preferences как настройки приложения. PreferenceActivity
|
19 апреля 2012 |
Урок 72. Preferences. Список, экраны и категории
|
23 апреля 2012 |
Урок 73. Preferences. Управляем активностью настроек (setEnabled)
|
26 апреля 2012 |
Урок 74. Preferences. Программное создание экрана настроек
|
30 апреля 2012 |
Урок 75. Хранение данных. Работа с файлами.
|
03 мая 2012 |
Урок 76. Tab - вкладки. Общий обзор
|
07 мая 2012 |
Урок 77. Tab - вкладки. TabActivity. Activity, как содержимое вкладки
|
10 мая 2012 |
Урок 78. Tab - вкладки. TabContentFactory, ручное создание содержимого вкладки
|
14 мая 2012 |
Урок 79. XmlPullParser. Парсим XML
|
17 мая 2012 |
Урок 80. Handler. Немного теории. Наглядный пример использования
|
21 мая 2012 |
Урок 81. Handler. Посылаем простое сообщение
|
24 мая 2012 |
Урок 82. Handler. Пример с более содержательными сообщениями
|
28 мая 2012 |
Урок 83. Handler. Отложенные сообщения, удаление из очереди, Handler.Callback
|
31 мая 2012 |
Урок 84. Handler. Обработка Runnable
|
04 июня 2012 |
Урок 85. Еще несколько способов выполнения кода в UI-потоке
|
07 июня 2012 |
Урок 86. AsyncTask. Знакомство, несложный пример
|
11 июня 2012 |
Урок 87. AsyncTask. Параметры. Промежуточные результаты
|
14 июня 2012 |
Урок 88. AsyncTask. Итоговый результат. Метод get
|
18 июня 2012 |
Урок 89. AsyncTask. Cancel – отменяем задачу в процессе выполнения
|
21 июня 2012 |
Урок 90. AsyncTask. Status – статусы задачи
|
25 июня 2012 |
Урок 91. AsyncTask. Поворот экрана
|
28 июня 2012 |
Урок 92. Service. Простой пример
|
02 июля 2012 |
Урок 93. Service. Передача данных в сервис. Методы остановки сервиса
|
05 июля 2012 |
Урок 94. Service. Подробно про onStartCommand
|
09 июля 2012 |
Урок 95. Service. Обратная связь с помощью PendingIntent
|
12 июля 2012 |
Урок 96. Service. Обратная связь с помощью BroadcastReceiver
|
16 июля 2012 |
Урок 97. Service. Биндинг. ServiceConnection
|
19 июля 2012 |
Урок 98. Service. Локальный биндинг
|
23 июля 2012 |
Урок 99. Service. Уведомления - notifications
|
26 июля 2012 |
Урок 100. Service. IntentService. Foreground. Автозагрузка сервиса
|
30 июля 2012 |
Урок 101. Создаем свой ContentProvider
|
07 августа 2012 |
Урок 102. Touch – обработка касания
|
13 августа 2012 |
Урок 103. MultiTouch – обработка множественных касаний
|
17 августа 2012 |
Урок 104. Android 3. Fragments. Lifecycle
|
27 августа 2012 |
Урок 105. Android 3. Fragments. Динамическая работа
|
03 сентября 2012 |
Урок 106. Android 3. Fragments. Взаимодействие с Activity
|
10 сентября 2012 |
Урок 107. Android 3. ActionBar. Размещение элементов
|
19 сентября 2012 |
Урок 108. Android 3. ActionBar. Навигация - табы и выпадающий список
|
27 сентября 2012 |
Урок 109. Android 3. Fragments. ListFragment - список
|
08 октября 2012 |
Урок 110. Android 3. Fragments. DialogFragment - диалог
|
18 октября 2012 |
Урок 111. Android 3. Fragments. PreferenceFragment - настройки. Headers
|
29 октября 2012 |
Урок 112. Android 3. ActionBar. Динамическое размещение элементов
|
07 ноября 2012 |
Урок 113. Android 3. ActionMode, как альтернатива контекстному меню
|
19 ноября 2012 |
Урок 114. Android 3. Библиотека Support Library. Зачем нужна и как ее использовать на примере фрагментов
|
26 ноября 2012 |
Урок 115. Одно приложение на разных экранах
|
07 декабря 2012 |
Урок 116. Поведение Activity в Task. Intent-флаги, launchMode, affinity
|
17 декабря 2012 |
Урок 117. Виджеты. Создание. Lifecycle
|
14 января 2013 |
Урок 118. Виджеты. Конфигурационный экран. Обновление
|
23 января 2013 |
Урок 119. PendingIntent – флаги, requestCode. AlarmManager
|
04 февраля 2013 |
Урок 120. Виджеты. Обработка нажатий
|
13 февраля 2013 |
Урок 121. Виджеты. Список
|
25 февраля 2013 |
Урок 122. Виджеты. Превью, изменение размера, экран блокировки, ручное обновление
|
06 марта 2013 |
Урок 123. Как подписать приложение. Утилиты keytool и jarsigner
|
18 марта 2013 |
Урок 124. Что такое Package для приложения
|
28 марта 2013 |
Урок 125. ViewPager
|
08 апреля 2013 |
Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основные возможности
|
29 апреля 2013 |
Урок 127. Медиа. SoundPool
|
27 мая 2013 |
Урок 128. Медиа. Audio Focus
|
10 июня 2013 |
Урок 129. Медиа. Запись звука с помощью MediaRecorder
|
24 июня 2013 |
Урок 130. Медиа. Запись звука с помощью AudioRecorder
|
22 июля 2013 |
Урок 131. Камера. Используем системное приложение
|
19 августа 2013 |
Урок 132. Камера. Вывод изображения на экран. Размер preview. Обработка поворота устройства
|
30 сентября 2013 |
Урок 133. Камера. Делаем снимок и пишем видео
|
14 октября 2013 |
Урок 134. Камера. Настройки
|
29 октября 2013 |
Урок 135. Loader. LoaderManager. AsyncTaskLoader
|
11 ноября 2013 |
Урок 136. CursorLoader
|
18 ноября 2013 |
Урок 137. Сенсоры. Ускорение, ориентация.
|
09 декабря 2013 |
Урок 138. Определение местоположения. GPS координаты.
|
16 декабря 2013 |
Урок 139. Google maps. Создание и настройка проекта. Карта, камера, события
|
13 января 2014 |
Урок 140. Google maps. Свои объекты на карте
|
27 января 2014 |
Урок 141. Рисование. Доступ к Canvas
|
03 февраля 2014 |
Урок 142. Рисование. Простые фигуры, текст
|
10 февраля 2014 |
Урок 143. Рисование. Path
|
17 февраля 2014 |
Урок 144. Рисование. Matrix-преобразования
|
24 февраля 2014 |
Урок 145. Рисование. Matrix. setRectToRect и setPolyToPoly
|
03 марта 2014 |
Урок 146. Рисование. Canvas-преобразования. Методы save и restore.
|
10 марта 2014 |
Урок 147. Рисование. Region
|
17 марта 2014 |
Урок 148. Рисование. Canvas, clip
|
24 марта 2014 |
Урок 149. Рисование. Текст
|
07 апреля 2014 |
Урок 150. Рисование. PathMeasure – информация о Path-объекте
|
28 апреля 2014 |
Урок 151. Рисование. PathEffect
|
14 июля 2014 |
Урок 152. Рисование. Picture
|
21 июля 2014 |
Урок 153. Рисование. ColorFilter, ColorMatrix
|
28 июля 2014 |
Урок 154. Рисование. PorterDuff.Mode, PorterDuffXfermode
|
18 августа 2014 |
Урок 155. Рисование. PorterDuffColorFilter
|
25 августа 2014 |
Урок 156. Рисование. AvoidXfermode
|
01 сентября 2014 |
Урок 157. Рисование. Bitmap. BitmapFactory. Чтение, вывод на канву, основная информация
|
06 октября 2014 |
Урок 158. Рисование. Bitmap. Методы createBitmap, работа с пикселами, density, mutable
|
13 октября 2014 |
Урок 159. Рисование. Bitmap. BitmapFactory.Options, сохранение в файл
|
20 октября 2014 |
Урок 160. Рисование. Bitmap. Чтение изображений большого размера
|
27 октября 2014 |
Урок 161. Рисование. Bitmap. Memory-кэш. Picasso
|
05 ноября 2014 |
Урок 162. Графика. Drawable. Shape, Gradient.
|
18 ноября 2014 |
Урок 163. Графика. Drawable. Bitmap, Layer List, State List.
|
01 декабря 2014 |
Урок 164. Графика. Drawable. Level List, Transition, Inset, Clip, Scale
|
10 августа 2015 |
Урок 165. Графика. BitmapShader, LinearGradient, RadialGradient, SweepGradient
|
24 августа 2015 |
Урок 166. Графика. Создание своего Drawable
|
07 сентября 2015 |
Урок 167. Рисование. Метод Canvas saveLayer.
|
21 сентября 2015 |
Урок 168. OpenGL. Введение.
|
08 октября 2015 |
Урок 169. OpenGL. Шейдеры
|
27 октября 2015 |
Урок 170. OpenGL. Графические примитивы
|
10 ноября 2015 |
Урок 171. OpenGL. Цвет.
|
23 ноября 2015 |
Урок 172. OpenGL. Perspective. Frustum. Ortho.
|
08 декабря 2015 |
Урок 173. OpenGL. Камера
|
27 января 2016 |
Урок 174. OpenGL. Модель
|
16 февраля 2016 |
Урок 175. OpenGL. Текстуры.
|
01 марта 2016 |
Урок 176. OpenGL. Индексы, текстуры для куба.
|
11 апреля 2016 |
Урок 180. ConstraintLayout. Основы
|
07 июля 2017 |
Урок 181. ConstraintLayout: match_constraints, инструменты в toolbar, guidelines, aspect ratio
|
09 июля 2017 |
Урок 182. ConstraintLayout: chain, weight, barrier, group, circular
|
12 июля 2017 |
Урок 183. ConstraintSet. Программная настройка ConstraintLayout
|
17 июля 2017 |
Урок 184. Android Notifications. Уведомления. Основы
|
14 ноября 2017 |
Урок 185. Notifications. Режимы открытия Activity
|
13 ноября 2017 |
Урок 186. Notifications. Расширенные уведомления
|
20 ноября 2017 |
Урок 187. Notifications. Action кнопки. Reply.
|
23 ноября 2017 |
Урок 188. Notifications. Кастомные уведомления
|
27 ноября 2017 |
Урок 189. Notifications. Группировка уведомлений
|
29 ноября 2017 |
Урок 190. Notifications. Каналы
|
01 декабря 2017 |