Программирование под Android для начинающих. Часть 1
Здравствуйте. Сегодня на глаза попался пост о курсе программирования под Android на сайте Linux Foundation, а вместе с ним — и немало комментариев о том, что хотелось бы видеть и перевод этих уроков. Поскольку я сейчас, после четырех лет разработки под микроконтроллеры, начал изучать и программирование для мобильных устройств, то параллельно решил сделать перевод первой части урока.
Программирование под Android для начинающих. Часть 1
Смартфоны и планшеты на Android все чаше встречаются в наших сумках и карманах, и программирование под Android также становится все популярнее. Это отличная платформа для разработки — API прекрасно документирован и прост в использовании, да и просто интересно создать что-то, что вы cможете запустить на своем смартфоне. Изначально вы можете обойтись и без него, создав и протестировав код с помощью эмулятора на вашем Linux ПК. В первой из двух частей этого введения объясняется как создать простое приложение с таймером, а также даются начальные сведения о Android API. Курс подразумевает наличие начальных представлений о Java, XML и технологиях программирования, но тем не менее не стесняйтесь попробовать даже если вы имеете об этом очень смутное представление.
Как изучать программирование на телефоне? C++, Python, Java и пр.
Начало работы и среда разработки
Немного о версиях: последней версией Android является 4.2 (Jelly Bean), но, как можно выдеть по этой диаграмме, она еще недостаточно распространена. Лучше всего начинать разработку под одну из версий: 4.0 (Ice Cream Sandwich) или 2.3 (Gingerbeard), особенно с учетом того, что версии Android поддерживают обратную совместимость (т.е. ваш код для версии 2.3 будет работать и на 4.2), а приложения, разработанные для более поздней версии, не всегда будут работать и на старой. Приведенный здесь код должен работать на версиях 4.0 и 2.3.
Простейший способ получить среду разработки — установить Android Bundle, который можно скачать здесь. Также вам понадобится JDK 6 (не только JRE). Не забудьте что Android не совместим с gcj. Если вы уже используете Eclipse или другую IDE, то вы можете попробовать настроить ее под Android. Как это сделать — описано здесь.
Теперь создайте проект под именем Countdown с помощью Eclipse, или из командной строки. Я установил в настройках BuildSDK 4.0.3 и minimum SDK 2.2, и (в Eclipse) использовал шаблон BlankActivity.
Мой первый проект под Android: интерфейс
Первой нашей программой под Android будет таймер, показывающий обратный отсчет от 10 секунд после нажатия кнопки. Прежде чем писать код, нужно создать интерфейс — то, что пользователь увидит, запустив наше приложение. Нужно открыть res/layout/activity_countdown.xml и создать XML шаблон — с помощью редактора Eclipse или текстового/XML редактора ввести следующее:
Обратите внимание на string/start и string/__00_30. Их значения будут расположены в res/values/strings.xml:
Как изучать программирование на телефоне / C++, Python, Java и другие
Это общепринятый способ обращения к ресурсам в Android: лучше использовать ссылки на строковые переменные, чем жестко заданные строки.
Мой первый проект под Android: код
Теперь откроем в редакторе файл CountdownActivity.java — и мы готовы писать код нашего приложения. Вы должны увидеть автоматически сгенерированную «заглушку» метода onCreate(). Он всегда вызывается как только создается объект Activity, и в него вы можете поместить какие-либо функции, которые должны выполняться при запуске приложения. (Eclipse также может создать пустой метод onCreateOptionsMenu(), но мы пока не будем обращать на него внимания). Введите следующий код:
Вы видите как просто оказалось создать наш первый проект: Android API включает в себя CountDownTimer, который мы можем использовать. Мы объявили его и поле отображения обратного отсчета как закрытые (private) свойства класса Activity. В методе onCreate() мы использовали метод setContentView, чтобы подключить наш XML-шаблон. Такой R.foo.bar синтаксис — это стандартный способ обращения к XML-ресурсам в Android, и мы встретимся с ним еще много раз.
findViewById — это еще один метод, который вы будете часто использовать. Здесь он возвращает ссылки на поле вывода таймера и кнопку Start, описанные в XML-шаблоне. Для кнопки, чтобы мы могли обработать ее нажатие, должен быть задан «перехватчик» OnClickListener, и его метод onClick(). Здесь он просто вызывает метод showTimer() c заданным числом миллисекунд (сейчас жестко заданным в коде).
Итак, что делает showTimer():
Класс CountDownTimer делает за нас почти всю работу, что очень приятно. В начале мы проверяем, существует ли уже таймер, и, если он есть, то сбрасываем его. Далее мы создаем новый таймер с заданным числом миллисекунд для обратного отсчета (из параметра метода showTimer()) и с заданным числом миллисекунд между интервалами отсчета. По истечении времени между интервалами вызывается метод onTick().
CountDownTimer — абстрактный класс, и методы __onTick() и __onFinish() должны быть реализованы в его подклассе. Мы переопределяем метод onTick(), уменьшающий выводимое число на единицу по истечении каждого интервала, и метод onFinish(), выводящий на дисплей сообщение о окончании обратного отсчета. Потом start() запускает таймер.
С помощью команды «Run» в Eclipse вы можете запустить созданное приложение, при этом будет автоматически запущен эмулятор Android. Посмотрите документацию по Android если вы хотите узнать больше о настройке эмулятора, или о запуске приложений из командной строки.
Поздравляем, вы только что создали свое первое приложение под Android. Во второй части этого введения мы более подробно рассмотрим структуру Android-приложения, и сделаем некоторые улучшения нашей программы: ввод времени обратного отсчета, кнопку Stop и меню. Также мы запустим его на реальном устройстве, а не на эмуляторе.
Более подробную информацию вы можете найти в разделе Android Development Training сайта The Linux Foundation’s Linux training website.
Мой опыт разработки с использованием андроид устройства
Как же люди любят упрощать сложное и усложнять простое, ну или как провести свои выходные без пользы.
Как все начиналось.
А начиналось все как обычно с разматывания губы на тему вот сейчас как перейду с ПК на планшет, да как все заиграет.
Раньше (недели две назад) я постоянно задумывался почему так мало слышно о разработке пусть даже front-end’a на мобильных устройствах (нет, не под мобильные, а именно с мобильных устройств).
И думал я, что может только у меня такая потребность возникла. Что только я мучаюсь с подготовкой к работе. Ведь, чтобы развернуть бурную рабочую деятельность, мне нужно сперва сварить кофе, уложить всех спать, выгнать кота. А с мобильным устройством все проще. И уж если куплю планшет, да его настрою, будет у меня и мобильность, и скорость, да и лёгкость в движениях появится=)
Решил, что рута я сбивать не буду, дефолтную систему сносить не буду, а то вдруг не просто так люди на ПК до сих пор работают.
Ах, этот дивный новый мир.
Признаться, за время работы на ПК я уже успел пристреляться. И имею представление, что сначала нужно настроить среду разработки, так сказать, разложить инструменты.
Поэтому первое, что я сделал – удалил все лишнее и полазили по настройкам, чтобы ничего не раздражало (это подробно думаю описывать не стоит, каждый сам под себя точит все свои инструменты). Далее по списку:
Войти в аккаунт (почта, браузер, GitHub)
настроить редактор кода
настроить хотя бы подобие IDE
Как вы понимаете с первым пунктом ничего сложного, хотя и в этом случае пришлось немного потыкаться. Приложения GitHub предоставленные в плеймаркете(то что попалось мне из 5 установленных, в том числе и сам GitHub). Позволяют, максимум, посмотреть историю, комментарии (смотреть и отвечать), но создавать и изменять контент и запросы не могут. Так что нельзя назвать это полноценной заменой для андроида.
В итоге на первых порах, достаточно браузерной версии гит, вот только если хочешь добавить или изменить папку, то быстро сделать это не получится, нужно выгружать, менять и загружать папки обратно (создаёшь папку с файлом, прописывая путь, а затем все файлы в папку загружаешь через appload file). Как вы понимаете это не удобно если нужно перенести проект на GitHub через планшет.
В итоге из порядка 15 я нашел около 3 которые мне подходят. Однако в дальнейшем я решил использовать в качестве быстрого редактора Acode, хотя он больше похож на ide чем на простой редактор.
Двигаемся дальше. Что же мне нужно от IDE.
Наличие консоли при тестировании
Интеграция с GitHub
Удобство в использовании (в частности расположение вкладок и настройки)
Терминал для Nodejs
Теперь посмотрим, что я нашел:
Хоть в play market и написано, что это IDE для веб разработки, но работать на нем неудобно.
Полноценных снипетов нет (нет автоопределения, вставляется только тег без символов, нет автоопределения атрибутов тегов). Из удобных только автозакрытие тега (в случае написания «
Программирование на телефоне – зачем, как и почему?
Программирование на телефоне – почему люди задаются таким вопросом?
Люди всё чаще начинают задавать вопрос, как это – программирование на телефоне? Может удобно или нет? Все эти вопросы задавал себе наверное каждый начинающий программист, который стремится к знаниям и хочет программировать везде и всегда. Безусловно на это повлияло и столь быстрое развитие технологий. За небольшой промежуток времени печатные машинки заменились ноутбуками и ПК, которые способны решить очень сложные задачи.
Если мы посмотрим на развитие телефонов в целом, то они также очень быстро начали развиваться. Сначала сенсорные телефоны не восприняли так как надо, а сейчас такой смартфон неотъемлемая часть каждого человека. Это и есть ответ на вопрос: “Программирование на телефоне – откуда у людей такие вопросы и мысли“. Практически каждый человек, который хоть как то знаком с программированием скажет, что программирование на смартфонах Android или Apple – крайне неудобно и ненужно. Они будут отчасти правы, однако это всё же возможно и давайте разберемся как и зачем?
Программирование на телефоне – разберемся?
Как это? Программирование на телефоне с помощью различных сервисов и ПО.
Существует множество сервисов, которые помогают программировать на чем угодно. Главное, это доступ в Интернет и дисплей со средством ввода. Одним из таких сервисов является очень популярные Ideone.
Ideone – это онлайн-компилятор и инструмент для отладки, который позволяет вам компилировать исходный код и выполнять его онлайн в более чем 60 языках программирования.
Такие онлайн сервисы позволяет без проблем скомпилировать код, который вы можете там же и написать. Выбор языков программирования, как правило, обширный и постоянно обновляется. По крайней мере добавляются новые версии языков программирования.
Также, существуют узкоспециализированные программы, такие как Java Compiler и т.д. Их можно без проблем скачать на ваш смартфон. Программирование на телефоне и заключается в таких программах и сервисах, так как делать это в терминале, как на Linux будет крайне неудобно. Одним из лучших терминалов на Android является Termux.
Зачем программировать на телефоне. Удобство и заключительный ответ.
Как вы могли уже догадаться, программирование на телефоне – это крайне неудобно из-за маленького экрана и отсутствия полноценной клавиатуры. Конечно, вы можете подключить клавиатуру через OTG, но зачем? Почему не взять ноутбук в таком случае, ведь клавиатура у вас с собой вмещается?!
Ещё одним фактором, который говорит против программирования на телефонах Android и Apple является отсутствие профессионального софта. Существуют только узконаправленные компиляторы или онлайн-IDE. Они, как вы понимаете, никогда не смогут заменить нормальное ПО для программиста.
Мое мнение такого, что программирование на смартфоне не имеет смысла, так как занимает много времени и концентрации. Это, безусловно, является возможным и может даже кому-то пригодится. Однако я считаю, что лучше учить материал, который может вам помочь в развитии, так как смартфон для этого подходить очень даже. По пути куда-то или лежа на диване, вы всегда сможете посмотреть видеокурс или прочитать книгу. Пользуйтесь гаджетами правильно, а я надеюсь, что смог дать вам ответ на это пусть и легкий, но очень популярный вопрос.
Если вы считаете, что программирование на телефоне не является чем-то неудобным, пишите об этом в комментариях. Подписывайтесь на обновления сайта, а также наш Telegram.
10 приложений для изучения программирования на мобильных устройствах + бонус
Авторизуйтесь
10 приложений для изучения программирования на мобильных устройствах + бонус
Как программировать телефон
Перепрограммирование телефона — обновление прошивки, установленной на сотовом при изготовлении. Данная операция может потребоваться в случае возникновения неисправностей в первоначальной микропрограмме. Вы можете сделать это в домашних условиях, достаточно осуществить несколько несложных шагов.
Статьи по теме:
- Как программировать телефон
- Как прошивать мобильный телефон
- Как прошивать сотовые телефоны
Инструкция
В первую очередь, потребуется синхронизировать телефон с компьютером. В этом вам поможет дата-кабель, драйвера, а также специальное программное обеспечение. Все это вы можете найти в комплекте поставки мобильного, в противном случае вам придется найти их самостоятельно. Дата-кабель вы сможете найти в магазинах сотовой связи. Наличие компакт-диска с драйверами необязательно, достаточно чтобы у вас на руках оказался usb провод со штекером, подходящим к вашему телефону.
Используйте поисковик для того, чтобы найти официальный сайт фирмы-производителя вашего телефона. Для этого введите в поле поиска ее название. На таких сайтах, как nokia.com, samsung.com и sonyericsson.com вы сможете скачать как драйвера, так и программное обеспечение, необходимое для синхронизации. В случае, если драйвера для вашей модели отсутствуют, ищите сайты, посвященные вашему телефону, такие как allnokia.ru и samsung-club.org, а также proshivki.net. Кроме того, на них вы сможете найти множество полезной информации, такой, как инструкции, и контента, к примеру,аудио и видео, адаптированного для вашей модели телефона.
Установите драйвера и программное обеспечение, после чего подключите телефон к компьютеру. Осуществляйте действия именно в этой последовательности, иначе компьютер может не распознать ваш сотовый, Что существенно усложнит процесс синхронизации. Убедитесь, что программа «видит» телефон, после чего переходите к следующему шагу.
Скачайте программное обеспечение для осуществления этого шага. Вы можете найти его на сайтах, найденных во втором шаге. Старайтесь найти программное обеспечение, к которому имеется подробная инструкция и тщательно следите за ее детальным исполнением. Приступайте к перепрошивке только при полной зарядке телефона, иначе случайное отключение аппарата может привести к его порче.
Операция считается завершенной только после того, как на экране появится соответствующее сообщение. До его появления не используйте телефон для звонков и смс, а также ни в коем случае не отсоединяйте от компьютера.
Источник: www.kakprosto.ru
Подборка русскоязычных YouTube-каналов по программированию
В данной подборке представлены youtube каналы по языкам программирования: Python, JavaScript, C/C++, Java, Kotlin, Go, PHP и C#.
Ruby
- Ruby Russia club – записи российских конференций по Ruby.
- Ruby Roars – записи митапов в NIX Solutions.
JavaScript, TypeScript и фреймворки
- IT-KAMASUTRA – обучающий ресурс с плейлистами-курсами по JavaScript и React. 45 тыс.
- Канал Владилена Минина с курсами по JavaScript, Vue.js, React, Angular и Node.js. 46.5 тыс.
- HolyJS – записи конференции по JavaScript. 14.5 тыс.
- Записи JavaScript-программистов из различных городов: Нижний Новгород, Ростов-на-Дону, Минск, Киев, Харьков.
- WebDev с нуля – канал Алекса Лущенко с упором на JS.
- Плейлист со скринкастами по Webpack.
- Плейлист со скринкастами по Node.JS.
- Плейлист со скринкастами по Angular.
- Angular-митапы. 1.4 тыс.
Go
- Плейлист с курсом «Программирование на Go».
- GopherCon Russia – видеозаписи конференции GopherCon Russia, посвященной разработке на Go. 1.9 тыс.
- Golang Piter – видеозаписи с конференции разработчиков на Go.
Python и фреймворки
- Плейлисты лекций Тимофея Хирьянова по алгоритмам и структурам данных и практике программирования на Python 3.
- Канал Олега Молчанова – уроки по Python, парсингу сайтов, Flask, Django, блокчейну и ботам. 38.8 тыс.
- Канал Алексея Голобурдина «Диджитализируй» – заметки о Python и Linux со скринкастингами кода. 24.9 тыс.
- MoscowPython – видеозаписи встреч московских питонистов. 16.4 тыс.
- Python Meetup – записи докладов с митапов минского Python-сообщества. 3.5 тыс.
- Python Channel – записи докладов с конференций Moscow Python Conf. 1.8 тыс.
- PiterPy – видеозаписи Петербургской конференции по Python.
- PyLadies SPb – часть международного движения, помогающего женщинам вливаться в сообщество Python. Множество мотивирующих докладов от лица девушек с различным опытом в программировании.
Java и Kotlin
- Плейлист с курсом «Введение в Java».
- Плейлист с курсом «Разработка на Java».
- JUG.ru – круглые столы и часовые доклады с конференций JPoint, Joker и JBreak. 32 тыс.
- Канал Сергея Немчинского – рассужденя общего характера на темы вблизи Java и других языков. 91.8 тыс.
- Java Professionals BY – записи докладов белорусского сообщества Java-программистов.
- ThinkJava – канал джавистов из Харькова, в основном записи митапов.
- JUGNsk – Java-разработчики из Новосибирска.
- Minsk Java Community – Java-разработчики из Минска.
- Belarus Kotlin User Group – записи сообщества Belarus Kotlin User Group.
C/С++
- Плейлисты лекций Тимофея Хирьянова по алгоритмам и структурам данных на C++, а также ООП.
- Канал Константина Владимирова – лекции в магистратуре МФТИ по C++
- #SimpleCode – уроки и отдельные темы по C++ (и C#).
- Плейлист «Учим C/C++» на канале Ocode.
- Уроки по C++ для начинающих от Дениса Маркова.
- Базовый курс по языку Си от Гены ANTG.
- C++ User Group – сообщество русскоязычных С++ программистов с видеозаписями конференций из различных городов, видео структурированы в виде плейлистов. 6.1 тыс.
- corehard – записи минского сообщества C++. 1.6 тыс.
C#, F# и .NET
- #SimpleCode – уроки и отдельные темы по C# (и C++).
- CODE BLOG – Программирование и C# – обучающие видео по языку программирования C#, алгоритмам и структурам данных и практическому программированию. 47.4 тыс.
- Плейлист по основам C# на канале Ocode.
- DotNext – видеозаписи с конференции DotNext для разработчиков уровней Middle и Senior. 10.6 тыс.
- DotNetRu – записи подкастов RadioDotNet, видео с митапов, круглых столов и прочих обсуждений 2.2 тыс.
- Dot Nuts – видео докладов с митапов сообщества Nuts.
- DotNet https://bookflow.ru/podborka-russkoyazychnyh-youtube-kanalov-po-programmirovaniyu/» target=»_blank»]bookflow.ru[/mask_link]