Разработка приложений под Android

Сайт StartAndroid посвящен обучению разработке приложений под Android. В данный момент я активно интересуюсь этой темой, она обещает стать перспективной. Думаю, доля устройств на Android будет еще долго расти. Постоянно появляются новые планшеты и смартфоны. И я вижу, что появляются вакансии Android-разработчиков.
Разработка под Android ведется на языке Java. Его желательно знать. Но и при знании какого-либо другого ООП языка и наличии здоровой ДНК проблем возникнуть не должно. Основные классы и основы языка всегда можно посмотреть в инете.



Таким образом, побочным явлением от изучения Android будет практика Java. А Java специалисты сами по себе нужны и востребованы на рынке. Т.е. изучение Android - перспективно и полезно со всех сторон, как ни крути )
По себе могу сказать, что читать официальный хелп - не очень продуктивно, т.к. многое не понятно. Книги, которые я прочел, написаны более доступно. Но все равно остаются не до конца понятые моменты. Поэтому я решил создать свой учебник.
Учебник будет расcчитан на начинающих, писать материалы постараюсь максимально подробно и понятно. Про себя могу сказать, что не являюсь мегаспецом в Java и Android. Здесь буду писать то, что сам уже изучил и понял. Если Вы видите ошибку или слишком сложную, на Ваш взгляд, реализацию простых вещей, указывайте, пожалуйста, будем учиться вместе. 
Т.к. сайт посвящен Android, я не заостряю внимание на аспектах Java, SQL и прочих используемых технологий. Предполагается, что читатель с ними знаком или всегда может познакомиться на соответствующих ресурсах.
   Полный список уроков http://startandroid.ru/uroki/vse-uroki-spiskom.html

Заголовок Дата публикации
Урок 1. Введение. 26.07.2011
Урок 2. Установка и настройка среды разработки Eclipse и SDK Tools 28.07.2011
Урок 3. Создание AVD. Первое приложение. Структура Android-проекта. 01.08.2011
Урок 4. Элементы экрана и их свойства 04.08.2011
Урок 5. Layout-файл в Activity. XML представление. Смена ориентации экрана. 08.08.2011
Урок 6. Виды Layouts. Ключевые отличия и свойства. 11.08.2011
Урок 7. Layout параметры для View-элементов. 15.08.2011
Урок 8. Работаем с элементами экрана из кода 18.08.2011
Урок 9. Обработчики событий на примере Button. 22.08.2011
Урок 10. Оптимизируем реализацию обработчиков. 25.08.2011
Урок 11. Папка res/values. Используем ресурсы приложения. 29.08.2011
Урок 12. Логи и всплывающие сообщения 01.09.2011
Урок 13. Создание простого меню 05.09.2011
Урок 14. Меню, группы, порядок. MenuInflater и xml-меню. 08.09.2011
Урок 15. Контекстное меню 12.09.2011
Урок 16. Программное создание экрана. LayoutParams 15.09.2011
Урок 17. Создание View-компонент в рабочем приложении 19.09.2011
Урок 18. Меняем layoutParams в рабочем приложении 22.09.2011
Урок 19. Пишем простой калькулятор 26.09.2011
Урок 20. Анимация 29.09.2011
Урок 21. Создание и вызов Activity 03.10.2011
Урок 22. Intent, Intent Filter, Context - теория 06.10.2011
Урок 23. Activity Lifecycle. В каких состояниях может быть Activity 10.10.2011
Урок 24. Activity Lifecycle, пример смены состояний с двумя Activity 13.10.2011
Урок 25. Task. Что это такое и как формируется 17.10.2011
Урок 26. Intent Filter - практика 20.10.2011
Урок 27. Читаем action из Intent 24.10.2011
Урок 28. Extras - передаем данные с помощью Intent 27.10.2011
Урок 29. Вызываем Activity и получаем результат. Метод startActivityForResult 31.10.2011
Урок 30. Подробнее про onActivityResult. Зачем нужны requestCode и resultCode 03.11.2011
Урок 31. Зачем у Intent есть атрибут data. Что такое Uri. Вызываем системные приложения 07.11.2011
Урок 32. Пишем простой браузер 10.11.2011
Урок 33. Хранение данных. Preferences. 14.11.2011
Урок 34. Хранение данных. SQLite 17.11.2011
Урок 35. SQLite. Методы update и delete с указанием условия 21.11.2011
Урок 36. SQLite. Подробнее про метод query. Условие, сортировка, группировка 24.11.2011
Урок 37. Запросы из связанных таблиц. INNER JOIN в SQLite. Метод rawQuery. 28.11.2011
Урок 38. Транзакции в SQLite. Небольшой FAQ по SQLite. 01.12.2011
Урок 39. onUpgrade. Обновляем БД в SQLite 05.12.2011
Урок 40. LayoutInflater. Учимся использовать. 08.12.2011
Урок 41. Используем LayoutInflater для создания списка 12.12.2011
Урок 42. Список - ListView 15.12.2011
Урок 43. Одиночный и множественный выбор в ListView 19.12.2011
Урок 44. События в ListView 22.12.2011
Урок 45. Список-дерево ExpandableListView 26.12.2011
Урок 46. События ExpandableListView 29.12.2011
Урок 47. Обзор адаптеров 12.01.2012
Урок 48. Используем SimpleAdapter. 16.01.2012
Урок 49. SimpleAdapter. Методы SetViewText и SetViewImage 19.01.2012
Урок 50. SimpleAdapter. Используем ViewBinder 23.01.2012
Урок 51. SimpleAdapter, добавление и удаление записей 26.01.2012
Урок 52. SimpleCursorAdapter, пример использования 30.01.2012
Урок 53. SimpleCursorTreeAdapter, пример использования 02.02.2012
Урок 54. Кастомизация списка. Создаем свой адаптер 06.02.2012
Урок 55. Header и Footer в списках. HeaderViewListAdapter 09.02.2012
Урок 56. Spinner – выпадающий список 13.02.2012
Урок 57. GridView и его атрибуты 16.02.2012
Урок 58. Диалоги. TimePickerDialog 20.02.2012
Урок 59. Диалоги. DatePickerDialog 23.02.2012
Урок 60. Диалоги. AlertDialog: Title, Message, Icon, Buttons 27.02.2012
Урок 61. Диалоги. AlertDialog.Метод onPrepareDialog 01.03.2012
Урок 62. Диалоги. AlertDialog. Список 05.03.2012
Урок 63. Диалоги. AlertDialog. Список с одиночным выбором 08.03.2012
Урок 64. Диалоги. AlertDialog. Список с множественным выбором 26.03.2012
Урок 65. Диалоги. AlertDialog. Кастомизация 29.03.2012
Урок 66. Диалоги. Обработчики и операции 02.04.2012
Урок 67. Диалоги. ProgressDialog 05.04.2012
Урок 68. Немного о Parcel 09.04.2012
Урок 69. Передаем Parcelable объекты с помощью Intent 12.04.2012
Урок 70. onSaveInstanceState. Сохранение данных Activity при повороте экрана 16.04.2012
Урок 71. Preferences как настройки приложения. PreferenceActivity 19.04.2012
Урок 72. Preferences. Список, экраны и категории 23.04.2012
Урок 73. Preferences. Управляем активностью настроек (setEnabled) 26.04.2012
Урок 74. Preferences. Программное создание экрана настроек 30.04.2012
Урок 75. Хранение данных. Работа с файлами. 03.05.2012
Урок 76. Tab - вкладки. Общий обзор 07.05.2012
Урок 77. Tab - вкладки. TabActivity. Activity, как содержимое вкладки 10.05.2012
Урок 78. Tab - вкладки. TabContentFactory, ручное создание содержимого вкладки 14.05.2012
Урок 79. XmlPullParser. Парсим XML 17.05.2012
Урок 80. Handler. Немного теории. Наглядный пример использования 21.05.2012
Урок 81. Handler. Посылаем простое сообщение 24.05.2012
Урок 82. Handler. Пример с более содержательными сообщениями 28.05.2012
Урок 83. Handler. Отложенные сообщения, удаление из очереди, Handler.Callback 31.05.2012
Урок 84. Handler. Обработка Runnable 04.06.2012
Урок 85. Еще несколько способов выполнения кода в UI-потоке 07.06.2012
Урок 86. AsyncTask. Знакомство, несложный пример 11.06.2012
Урок 87. AsyncTask. Параметры. Промежуточные результаты 14.06.2012
Урок 88. AsyncTask. Итоговый результат. Метод get 18.06.2012
Урок 89. AsyncTask. Cancel – отменяем задачу в процессе выполнения 21.06.2012
Урок 90. AsyncTask. Status – статусы задачи 25.06.2012
Урок 91. AsyncTask. Поворот экрана 28.06.2012
Урок 92. Service. Простой пример 02.07.2012
Урок 93. Service. Передача данных в сервис. Методы остановки сервиса 05.07.2012
Урок 94. Service. Подробно про onStartCommand 09.07.2012
Урок 95. Service. Обратная связь с помощью PendingIntent 12.07.2012
Урок 96. Service. Обратная связь с помощью BroadcastReceiver 16.07.2012
Урок 97. Service. Биндинг. ServiceConnection 19.07.2012
Урок 98. Service. Локальный биндинг 23.07.2012
Урок 99. Service. Уведомления - notifications 26.07.2012
Урок 100. Service. IntentService. Foreground. Автозагрузка сервиса 30.07.2012
Урок 101. Создаем свой ContentProvider 07.08.2012
Урок 102. Touch – обработка касания 13.08.2012
Урок 103. MultiTouch – обработка множественных касаний 17.08.2012
Урок 104. Android 3. Fragments. Lifecycle 27.08.2012
Урок 105. Android 3. Fragments. Динамическая работа 03.09.2012
Урок 106. Android 3. Fragments. Взаимодействие с Activity 10.09.2012
Урок 107. Android 3. ActionBar. Размещение элементов 19.09.2012
Урок 108. Android 3. ActionBar. Навигация - табы и выпадающий список 27.09.2012
Урок 109. Android 3. Fragments. ListFragment - список 08.10.2012
Урок 110. Android 3. Fragments. DialogFragment - диалог 18.10.2012
Урок 111. Android 3. Fragments. PreferenceFragment - настройки. Headers 29.10.2012
Урок 112. Android 3. ActionBar. Динамическое размещение элементов 07.11.2012
Урок 113. Android 3. ActionMode, как альтернатива контекстному меню 19.11.2012
Урок 114. Android 3. Библиотека Support Library. Зачем нужна и как ее использовать на примере фрагментов 26.11.2012
Урок 115. Одно приложение на разных экранах 07.12.2012
Урок 116. Поведение Activity в Task. Intent-флаги, launchMode, affinity 17.12.2012
Урок 117. Виджеты. Создание. Lifecycle 14.01.2013
Урок 118. Виджеты. Конфигурационный экран. Обновление 23.01.2013
Урок 119. PendingIntent – флаги, requestCode. AlarmManager 04.02.2013
Урок 120. Виджеты. Обработка нажатий 13.02.2013
Урок 121. Виджеты. Список 25.02.2013
Урок 122. Виджеты. Превью, изменение размера, экран блокировки, ручное обновление 06.03.2013
Урок 123. Как подписать приложение. Утилиты keytool и jarsigner 18.03.2013
Урок 124. Что такое Package для приложения 28.03.2013
Урок 125. ViewPager 08.04.2013
Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основные возможности 29.04.2013
Урок 127. Медиа. SoundPool 27.05.2013
Урок 128. Медиа. Audio Focus 10.06.2013
Урок 129. Медиа. Запись звука с помощью MediaRecorder 24.06.2013
Урок 130. Медиа. Запись звука с помощью AudioRecorder 22.07.2013
Урок 131. Камера. Используем системное приложение 19.08.2013
Урок 132. Камера. Вывод изображения на экран. Обработка поворота устройства 30.09.2013
Урок 133. Камера. Делаем снимок и пишем видео 14.10.2013
Урок 134. Камера. Настройки 29.10.2013
Урок 135. Loader. LoaderManager. AsyncTaskLoader 11.11.2013
Урок 136. CursorLoader 18.11.2013
Урок 137. Сенсоры. Ускорение, ориентация. 09.12.2013
Урок 138. Определение местоположения. GPS координаты. 16.12.2013
Урок 139. Google maps. Создание и настройка проекта. Карта, камера, события 13.01.2014
Урок 140. Google maps. Свои объекты на карте 27.01.2014
Урок 141. Рисование. Доступ к Canvas 03.02.2014
Урок 142. Рисование. Простые фигуры, текст 10.02.2014
Урок 143. Рисование. Path 17.02.2014


 - видеоверсия уроков
Канал о разработке мобильных приложений
Канал "Start android" представляет видео уроки по темам "программирование под android", "программирование на java", и поможет начинающим, как стать программистом. В наших видео уроках вы найдете ответы, как научиться создавать мобильные приложения:
- приложения для андроид,
- игры на андроид.
Вы научитесь писать приложения для андроид самых популярных версий: от android 2.2, android 2.3 до android 4 и выше.
Мы даем основы программирования с использованием таких инструментов:
- java,
- eclipse,
- android sdk,
- AndEngine,
- эмулятор android.
Изучайте программирование и android development с нами, просматривая наши видео уроки! Оставляйте комментарии, лайки, делитесь ссылками, задавайте вопросы - мы всегда рады помочь вам в создании приложений для андроид!

Друзья! По многочисленным просьбам мы открываем возможность скачивать видео уроки программирования под андроид, чтобы Вы могли просматривать их на своих устройствах в любом месте без подключения к интернету.
   источник