Учебник по программированию под Android
- Урок 1. Введение.
 - Урок 2. Установка и настройка среды разработки Eclipse и SDK Tools
 - Урок 3. Создание AVD. Первое приложение. Структура Android-проекта.
 - Урок 4. Элементы экрана и их свойства
 - Урок 5. Layout-файл в Activity. XML представление. Смена ориентации экрана.
 - Урок 6. Виды Layouts. Ключевые отличия и свойства.
 - Урок 7. Layout параметры для View-элементов.
 - Урок 8. Работаем с элементами экрана из кода
 - Урок 9. Обработчики событий на примере Button.
 - Урок 10. Оптимизируем реализацию обработчиков.
 - Урок 11. Папка res/values. Используем ресурсы приложения.
 - Урок 12. Логи и всплывающие сообщения
 - Урок 13. Создание простого меню
 - Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
 - Урок 15. Контекстное меню
 - Урок 16. Программное создание экрана. LayoutParams
 - Урок 17. Создание View-компонент в рабочем приложении
 - Урок 18. Меняем layoutParams в рабочем приложении
 - Урок 19. Пишем простой калькулятор
 - Урок 20. Анимация
 - Урок 21. Создание и вызов Activity
 - Урок 22. Intent, Intent Filter, Context - теория
 - Урок 23. Activity Lifecycle. В каких состояниях может быть Activity
 - Урок 24. Activity Lifecycle, пример смены состояний с двумя Activity
 - Урок 25. Task. Что это такое и как формируется
 - Урок 26. Intent Filter - практика
 - Урок 27. Читаем action из Intent
 - Урок 28. Extras - передаем данные с помощью Intent
 - Урок 29. Вызываем Activity и получаем результат. Метод startActivityForResult
 - Урок 30. Подробнее про onActivityResult. Зачем нужны requestCode и resultCode
 - Урок 31. Зачем у Intent есть атрибут data. Что такое Uri. Вызываем системные приложения
 - Урок 32. Пишем простой браузер
 - Урок 33. Хранение данных. Preferences.
 - Урок 34. Хранение данных. SQLite
 - Урок 35. SQLite. Методы update и delete с указанием условия
 - Урок 36. SQLite. Подробнее про метод query. Условие, сортировка, группировка
 - Урок 37. Запросы из связанных таблиц. INNER JOIN в SQLite. Метод rawQuery.
 - Урок 38. Транзакции в SQLite. Небольшой FAQ по SQLite.
 - Урок 39. onUpgrade. Обновляем БД в SQLite
 - Урок 40. LayoutInflater. Учимся использовать.
 - Урок 41. Используем LayoutInflater для создания списка
 - Урок 42. Список - ListView
 - Урок 43. Одиночный и множественный выбор в ListView
 - Урок 44. События в ListView
 - Урок 45. Список-дерево ExpandableListView
 - Урок 46. События ExpandableListView
 - Урок 47. Обзор адаптеров
 - Урок 48. Используем SimpleAdapter.
 - Урок 49. SimpleAdapter. Методы SetViewText и SetViewImage
 - Урок 50. SimpleAdapter. Используем ViewBinder
 - Урок 51. SimpleAdapter, добавление и удаление записей
 - Урок 52. SimpleCursorAdapter, пример использования
 - Урок 53. SimpleCursorTreeAdapter, пример использования
 - Урок 54. Кастомизация списка. Создаем свой адаптер
 - Урок 55. Header и Footer в списках. HeaderViewListAdapter
 - Урок 56. Spinner – выпадающий список
 - Урок 57. GridView и его атрибуты
 - Урок 58. Диалоги. TimePickerDialog
 - Урок 59. Диалоги. DatePickerDialog
 - Урок 60. Диалоги. AlertDialog: Title, Message, Icon, Buttons
 - Урок 61. Диалоги. AlertDialog.Метод onPrepareDialog
 - Урок 62. Диалоги. AlertDialog. Список
 - Урок 63. Диалоги. AlertDialog. Список с одиночным выбором
 - Урок 64. Диалоги. AlertDialog. Список с множественным выбором
 - Урок 65. Диалоги. AlertDialog. Кастомизация
 - Урок 66. Диалоги. Обработчики и операции
 - Урок 67. Диалоги. ProgressDialog
 - Урок 68. Немного о Parcel
 - Урок 69. Передаем Parcelable объекты с помощью Intent
 - Урок 70. onSaveInstanceState. Сохранение данных Activity при повороте экрана
 - Урок 71. Preferences как настройки приложения. PreferenceActivity
 - Урок 72. Preferences. Список, экраны и категории
 - Урок 73. Preferences. Управляем активностью настроек (setEnabled)
 - Урок 74. Preferences. Программное создание экрана настроек
 - Урок 75. Хранение данных. Работа с файлами.
 - Урок 76. Tab - вкладки. Общий обзор
 - Урок 77. Tab - вкладки. TabActivity. Activity, как содержимое вкладки
 - Урок 78. Tab - вкладки. TabContentFactory, ручное создание содержимого вкладки
 - Урок 79. XmlPullParser. Парсим XML
 - Урок 80. Handler. Немного теории. Наглядный пример использования
 - Урок 81. Handler. Посылаем простое сообщение
 - Урок 82. Handler. Пример с более содержательными сообщениями
 - Урок 83. Handler. Отложенные сообщения, удаление из очереди, Handler.Callback
 - Урок 84. Handler. Обработка Runnable
 - Урок 85. Еще несколько способов выполнения кода в UI-потоке
 - Урок 86. AsyncTask. Знакомство, несложный пример
 - Урок 87. AsyncTask. Параметры. Промежуточные результаты
 - Урок 88. AsyncTask. Итоговый результат. Метод get
 - Урок 89. AsyncTask. Cancel – отменяем задачу в процессе выполнения
 - Урок 90. AsyncTask. Status – статусы задачи
 - Урок 91. AsyncTask. Поворот экрана
 - Урок 92. Service. Простой пример
 - Урок 93. Service. Передача данных в сервис. Методы остановки сервиса
 - Урок 94. Service. Подробно про onStartCommand
 - Урок 95. Service. Обратная связь с помощью PendingIntent
 - Урок 96. Service. Обратная связь с помощью BroadcastReceiver
 - Урок 97. Service. Биндинг. ServiceConnection
 - Урок 98. Service. Локальный биндинг
 - Урок 99. Service. Уведомления - notifications
 - Урок 100. Service. IntentService. Foreground. Автозагрузка сервиса
 - Урок 101. Создаем свой ContentProvider
 - Урок 102. Touch – обработка касания
 - Урок 103. MultiTouch – обработка множественных касаний
 - Урок 104. Android 3. Fragments. Lifecycle
 - Урок 105. Android 3. Fragments. Динамическая работа
 - Урок 106. Android 3. Fragments. Взаимодействие с Activity
 - Урок 107. Android 3. ActionBar. Размещение элементов
 - Урок 108. Android 3. ActionBar. Навигация - табы и выпадающий список
 - Урок 109. Android 3. Fragments. ListFragment - список
 - Урок 110. Android 3. Fragments. DialogFragment - диалог
 - Урок 111. Android 3. Fragments. PreferenceFragment - настройки. Headers
 - Урок 112. Android 3. ActionBar. Динамическое размещение элементов
 - Урок 113. Android 3. ActionMode, как альтернатива контекстному меню
 - Урок 114. Android 3. Библиотека Support Library. Зачем нужна и как ее использовать на примере фрагментов
 - Урок 115. Одно приложение на разных экранах
 - Урок 116. Поведение Activity в Task. Intent-флаги, launchMode, affinity
 - Урок 117. Виджеты. Создание. Lifecycle
 - Урок 118. Виджеты. Конфигурационный экран. Обновление
 - Урок 119. PendingIntent – флаги, requestCode. AlarmManager
 - Урок 120. Виджеты. Обработка нажатий
 - Урок 121. Виджеты. Список
 - Урок 122. Виджеты. Превью, изменение размера, экран блокировки, ручное обновление
 - Единицы измерения. Чем отличается dp (dip) от px. Screen Density.
 - Как обновить Eclipse, ADT-плагин и Android SDK
 
