Примеры для андроид разработчика

Программирование под Android для начинающих. Часть 1

Здравствуйте. Сегодня на глаза попался пост о курсе программирования под Android на сайте Linux Foundation, а вместе с ним — и немало комментариев о том, что хотелось бы видеть и перевод этих уроков. Поскольку я сейчас, после четырех лет разработки под микроконтроллеры, начал изучать и программирование для мобильных устройств, то параллельно решил сделать перевод первой части урока.

Программирование под Android для начинающих. Часть 1

Смартфоны и планшеты на Android все чаше встречаются в наших сумках и карманах, и программирование под Android также становится все популярнее. Это отличная платформа для разработки — API прекрасно документирован и прост в использовании, да и просто интересно создать что-то, что вы cможете запустить на своем смартфоне. Изначально вы можете обойтись и без него, создав и протестировав код с помощью эмулятора на вашем Linux ПК. В первой из двух частей этого введения объясняется как создать простое приложение с таймером, а также даются начальные сведения о Android API. Курс подразумевает наличие начальных представлений о Java, XML и технологиях программирования, но тем не менее не стесняйтесь попробовать даже если вы имеете об этом очень смутное представление.

Начало работы и среда разработки

Немного о версиях: последней версией 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:

Это общепринятый способ обращения к ресурсам в 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.

Источник

Резюме Android-разработчика [+ Шаблон для android developer]

При поиске кандидата рекрутер просматривает сотни анкет, поэтому резюме Android-разработчика должно выделяться среди конкурентов. Надо уделить внимание дизайну, интересным фактам. Многие соискатели делают типичные ошибки при составлении анкеты. Рассмотрим в статье, как сделать идеальное резюме Android-разработчика.

Пример резюме Android-разработчика

в среднем 5,00 (4 голосов)

Примеры резюме в смежных специализациях:

Общие рекомендации для Android-разработчика

Резюме составляется в формате PDF. Другие типы файлов (даже ворд) могут отличаться на разных компьютерах, из-за чего внешний вид анкеты сильно меняется. В частности, это проявляется в съехавших границах, блоках, иконках. В итоге страдает дизайн.

Писать надо грамотно. После составления резюме его нужно перечитать дважды. Первый раз – сразу после написания, второй раз – на следующий день, чтобы взглянуть на анкету свежим взглядом. Если ваш уровень грамотности низкий, то пользуйтесь специальными сервисами (Тургенев, Орфограммка).

Пишите кратко. Старайтесь все факты оформлять в виде списков. Так вы сможете уместить всю информацию на одной странице. К тому же в анкете будет проще ориентироваться. Кроме того, вы избавите себя от словоблудия.

Дробите информацию на блоки:

  • самые необходимые из них: личные данные, навыки, опыт, образование, контакты, о себе;
  • выделяйте блоки заголовками, границами, иконками;
  • вверху анкеты располагайте наиболее ценную информацию: личные данные, контакты.

Android-Разработчику в резюме полезно указать дополнительные ссылки на различные ресурсы:

  • GidHub. Тут можно выкладывать примеры кода, чтобы работодатель смог оценить ваш стиль программирования;
  • серьезные проекты, в которых вы принимали участие. Но обязательно указывайте, за какую часть работы вы отвечали. Это поможет оценить вашу способность разрабатывать приложение с нуля;
  • книги или статьи, которые вы писали (выкладывайте их онлайн, чтобы работодатель смог их прочитать);
  • личные блоги или сайты. Они помогут оценить уровень знаний в программировании.
Читайте также:  Андроид где подключение по usb

Пример составления личной информации:

Один из важнейших приемов – отправка примера кода. Так начальство сможет оценить то, как вы используете классы, какую архитектуру предпочитаете, а также другую ценную информацию, которую нельзя пересказать в анкете.

Важным компонентом успеха является дизайн анкеты:

  • подберите красивые, но неброские шрифты (избавьтесь от заезженных стилей);
  • используйте цвета. Лучше всего подойдет зеленый или синий. Они нейтральны и подходят для официального документа. В крайнем случае, для выделения элемента используете оранжевый оттенок;
  • всю информацию необходимо поместить на одной странице;
  • обязательно вставляется личная фотография в деловом стиле.

Есть несколько требований к фотографии:

  • формат – стандартный, 3*4;
  • вы на ней обязаны улыбаться. Так вы передадите свою уверенность и позитив;
  • необходим деловой внешний вид: костюм, галстук;
  • фон делается белым.

Опыт работы в резюме Android-разработчика

Как правильно описывать свой опыт:

  • не перечисляйте все свои функции. Указывайте только те обязанности, которыми реально занимались;
  • если работали на биржах фриланса, то обязательно расскажите об этом и оставьте ссылку на свой аккаунт;
  • абстрактные обязанности часто не вызывают интереса у работодателей. Поэтому опишите самые интересные и сложные проекты, в которых принимали участие. Яркий пример расскажет о вас больше;
  • при указании места работы пишите сначала название фирмы, годы по трудовой книжке, должность;
  • если были разрывы в опыте работы, то опишите их причину. Уважительным поводом может стать отпуск, индивидуальное предпринимательство, декрет;
  • выделяйте лишь релевантный опыт. Не стоит писать, что вы были шофером, если претендуете на должность Android-разработчика;
  • используете обратный хронологический порядок: последнее место работы указывайте вверху;
  • акцент делается на последних 5-10 годах опыта, более ранние должности можно упомянуть вскользь;
  • если часто меняли работу (от 1 раза в год), то опишите причины для смены места;
  • всю информацию оформляйте списками.

Какие компетенции станут уместны в резюме Android-разработчика:

  • разработка Android-приложений «с нуля»;
  • техническая поддержка, устранение багов, выпуск обновлений;
  • работа с чужими приложениями: рефакторинг, оптимизация, переход с одной библиотеки или языка программирования на другие аналоги;
  • разработка архитектуры, работа с базами данных;
  • добавление нового функционала в программу.

Вот пример грамотного описания опыта работы:

Источник

Примеры тестовых заданий для Android и iOS

Очень часто при приеме на работу, программиста просят выполнить тестовое задание. Особенно это актуально для Juniour специалистов. В большинстве случаев необходимо создать мини приложение, где продемонстрировать свои навыки проектирования и кодирования.

Ниже представлены реальные примеры тестовых заданий для Android и iOS разработчиков, которые компании давали моим студентам. Далеко не все из них понятные и адекватные, но это то, что в реальности присылают кандидатам.

Задача 1. Приложение «Погода»

На 1-м экране (отображение) должно быть:

  1. Возможность выбрать город (3-4 города)
  2. Возможность выбрать сезон года
  3. В зависимости от п.1 и п.2 — отображение средней температуры за сезон в городе
  4. В зависимости от п.1 — отображать тип города (малый, средний, большой)

На 2-м экране (настройки) должно быть:

  1. Управление списком городов (город, тип)
  2. Управление температурой по месяцам

Приложение на первом экране должно отображать информацию, введенную пользователем на втором экране. Например, на втором экране вводим: город «Минск», тип «средний», температура июнь «23», июль «28», август «25». На первом экране в списке городов, должен отобразится Минск, тип «средний» и температура за сезон «лето» = 25,3 (среднее арифметическое 3-х месяцев).

Обязательно использовать паттерны:

  • Lazy singleton
  • Factory: получать тип города в зависимости от его названия
  • Decorator: При запросе средней температуры за сезон в городе — должна быть возможность получить строку для логирования
  • Observer: Дополнительно выводить сообщение, о температуре, через Snackbar
  • Strategy: В зависимости от стратегии — выводить температуру в необходимом формате (градус Цельсия, градус Фаренгейта, Кельвин)
Читайте также:  Avira для андроид 4pda

Условия:

  • Без использования сети
  • БД: SQLite
  • Мы ожидаем выполнения задания без применения сторонних библиотек, кроме официальных (таких как AndroidX, Android Architectural Components, CoreData и т.д.)
  • Результат выложить на Github.com

Задача 2. Репозитории GitHub

  1. При помощи GitHub API отобразить список репозиториев у организации xxx (github.com/xxx)
  2. Дизайн — полностью на ваше усмотрение
  3. Код разместить на GitHub и прислать нам ссылку

Обязательно:

  • Код на Kotlin/Swift
  • Задействовать RxJava/RxSwift
  • Покрыть юнит-тестами (UI не стоит)

Желательно:

  • Обработка сетевых ошибок
  • Поиск репозиториев в рамках организации по названию (просто фильтр списка подойдёт)
  • MVI, MVVM, MVP — на ваше усмотрение, будет интересно посмотреть, но лучше без сторонних библиотек

Задача 3. Пользователи GitHub

Главный экран:

  1. Users (список всех Github пользователей). Использовать API https://developer.github.com/v3/users/#get-all-users
  2. В элементе списка отрисовать avatar, login (title), id (subtitle)
  3. По нажатию на элемент списка реализовать переход на UserDetails
  4. Реализовать pagination и Pull-to-refresh

UserDetails (экран с информацией о пользователе):

  1. Использовать API https://developer.github.com/v3/users/#get-a-single-user
  2. Поля: Avatar, Name, Email, Organization (если есть), Following count, Followers count, Дата создания аккаунта

Требования:

  • Структурированный код (архитектурный паттерн на усмотрение кандидата)
  • Язык Java/Kotlin/Swift
  • Код поместить в репозиторий на GitHub/Bitbucket/GitLab
  • Неоднозначности задания трактуются на усмотрение разработчика

Задача 4. Приложение «Вечеринка»

На экране располагаются:

  1. Картинка (загружается по URL)
  2. Название вечеринки
  3. Имя пригласившего
  4. Фото пригласившего (извлекается по URL)
  5. Список гостей с фото, которые идут вместе с текущим пользователем. Фото загружаются по URL

Все данные должны загружаться из файла в формате JSON, зашитого в ресурсах приложения.

Критерии проверки: корректность работы: отсутствие крашей и багов, соответствие требованиям, код как для продакшена, читабельный и аккуратный, с разделением обязанностей между классами, код должен легко модифицироваться, из учета, что новые требования могут быть выставлены каждую неделю, при использовании RecyclerView нежелательно использовать дополнительные библиотеки.

Задача 5. Приложение из 1-го экрана

  1. Необходимо создать приложение состоящее из 1 экрана
  2. Реализовать данное задание с применением RxJava/RxSwift, любого DI (например Dagger 2) и MVP.

Реализовать:

  • База данных 5 полей и заполнить любыми данными
  • Вывод в активити или фрагмент в виде списка
  • Live search по базе данных
  • Реализовать сортировку, любой параметр

Задача 6. Приложение «Авто»

Приложение, должно иметь следующие функции:

  1. Отображение списка автомобилей с характеристиками (10-12 автомобилей, 3 производителя, 1-3 марки у каждого производителя)
  2. Добавление нового автомобиля
  3. Редактирование деталей автомобиля

Желательно:

  • Фильтрация по производителю и марке
  • Сортировка по цене

Задача 7. Проверка адреса email

Создать хороший UX для пользователей, вводящих адрес электронной почты и пароль при регистрации в приложении.

Требования:

  1. Проверка формата электронной почты. Пример: [email protected] не является действительным адресом электронной почты
  2. Пользовательский интерфейс должен показывать, действителен или нет адрес электронной почты. При необходимости интерфейс должен указать, что не так с адресом
  3. Автозаполнение и проверка доступности домена. Пользователи часто опечатываются при вводе адреса. Например, указывают неправильно доменное имя (gmail.con вместо gmail.com)
  4. Проверка пароля. Нет ограничения на вводимые символы. Есть ограничение минимальной и максимальной длины
  5. При необходимости, интерфейс должен указать, что неправильно
  6. Проверить, что заполнены все поля, и указать, какое именно не заполнено

Для автозаполнения необходимо:

  • Проверить существование введённого домена
  • Указать, что неправильно в введённом имени
  • Предложить Автозаполнение доменного имени самыми вероятными и популярными доменными именами. Пример: если пользователь вводит «[email protected]», то продолжениями могут быть «[email protected]», «[email protected]» и т.д. Если пользователь уточняет «[email protected]», то продолжениями могут быть популярные домены, начинающиеся с «g». Например: «[email protected]», «[email protected]»

Источник

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