Доброго времени суток! Представляю вашему вниманию вольный перевод статьи от GDE (Google developer expert) Dmytro Danylyk. Собственно, вот оригинал. Статья описывает правильные подходы для работы со strings.xml и особенно полезно это будет разработчикам, которые разрабатывают мультиязыковые приложения. Прошу под кат.
Рубрика «android development» - 21
Android string.xml — несколько вещей, которые стоит помнить
2016-08-15 в 15:53, admin, рубрики: android, android application development, android development, разработка мобильных приложений, Разработка под androidСтартовала продажа билетов на конференцию Droidcon Moscow 2016
2016-08-04 в 9:55, admin, рубрики: android, android development, Conference, droidcon, droidcon moscow 2016, Блог компании e-Legion Ltd., разработка мобильных приложений, Разработка под android, метки: droidcon, droidcon moscow 201622 сентября в конгресс-центре “Технополис Москва” пройдёт третья крупнейшая евразийская конференция Android-разработчиков Droidcon Moscow 2016.
В прошлом году спикеры из Google, Twitter, Facebook, Sports.ru, Intel, Mail.Ru Group и других известных компаний собрали более 1000 участников. Уникальная трёхдневная программа, выставка гаджетов, DemoCamp для стартапов, а также увлекательные активности от партнёров Droidcon Moscow 2015 – подробности читайте здесь.
В этом году деловая программа будет разделена на четыре основных направления: Android, Firebase, VR и IoT. Доклады представят иностранные и российские разработчики и эксперты по работе с новыми технологиями и устройствами от Google.Читать полностью »
От регистрации до витрины: как выложить мобильное приложение в App Store и Google Play (часть 2)
2016-08-03 в 11:05, admin, рубрики: android development, App Store, BaaS, backend as a service, backend development, Google Play, iOS, ios development, java, javascript, scorocode, swift, Блог компании Scorocode, выкладывание приложения, разработка мобильных приложений, Разработка под android, разработка под iOSВ первой части нашего туториала мы зарегистрировались в обоих магазинах — App Store и Google Play. Но чтобы ваше приложение стало доступным для скачивания, необходимо совершить ещё немало действий. Давайте их рассмотрим.
Читать полностью »
Основы реактивного программирования под Android на практическом примере
2016-07-29 в 14:08, admin, рубрики: android development, java, rxandroid, rxjava, разработка мобильных приложений, Разработка под android, метки: RxAndroid, RxJava1. Введение в реактивное программирование
Разрабатывая сложное приложение под Android со множеством сетевых соединений, взаимодействием с пользователем и анимацией — означает писать код, который полон вложенных обратных вызовов. И по мере развития проекта такой код становится не только громоздким и трудно понимаемым, но также сложным в развитии, поддержке и подвержен множеством трудноуловимым ошибкам.
ReactiveX или функциональное реактивное программирование предлагает альтернативный подход, который позволяет значительно сократить код приложения и создавать изящные понимаемые приложения для управления асинхронными задачами и событиями. В реактивном программировании потребитель реагирует на данные, как они придут и распространяет изменения события в зарегистрированных наблюдателях.
RxJava — реализация ReactiveX с открытым исходным кодом на Java. Базовыми строительными блоками реактивного кода являются Observables и Subscribers. Подробнее с базовой основой можно ознакомиться в статье Грокаем* RxJava, часть первая: основы.
RxAndroid — расширение к RxJava, которое позволяет планировщику запускать код в основном и дополнительных потоках Android приложения и обеспечивает передачу результатов из созданных дополнительных потоках в основное для агрегации и взаимодействия с интерфейсом пользователя.
С целью более полного понимания основных принципов реактивного программирования рассмотрим практический пример для платформы Android. И начнем с настройки окружения для разработки.
Читать полностью »
От регистрации до витрины: как выложить мобильное приложение в App Store и Google Play (часть 1)
2016-07-21 в 8:08, admin, рубрики: android development, App Store, BaaS, backend as a service, backend development, Google Play, iOS, ios development, scorocode, swift, Блог компании Scorocode, выкладывание приложения, разработка мобильных приложений, Разработка под android, разработка под iOSНачинающие мобильные разработчики часто испытывают затруднения при выкладывании своих проектов в Google Play и App Store. И если с первым особых проблем не возникнет, то со вторым придется повозиться, особенно, если вы выкладываете приложение от юридического лица. Поэтому в помощь начинающим мы решили написать туториал по размещению в официальных сторах приложений под iOS и Android.
Читать полностью »
Android и Data Binding: обработка действий
2016-07-19 в 8:01, admin, рубрики: action handling, android development, Разработка под androidНе так давно закончили разработку приложения, в котором пришлось обрабатывать одинаковые действия (actions) в различных местах приложения. Казалось бы, стандартная ситуация, и, как всегда, разработчики — ленивые, клиент — сделайте все вчера, у нашего клиента есть свой клиент, и ему — всё нужно позавчера. А значит, сделать все нужно просто, красиво и, главное — меньше лишних строк кода.
Особенностью проекта было то, что большая часть экранов содержала одинаковые или очень похожие сущности и позволяла пользователям выполнять над ними ряд одинаковых действий. О том, как мы решили данную задачу, и будет рассказано в этой статье.
Читать полностью »
Разработка Android приложений с использованием qt и android studio часть вторая
2016-07-12 в 16:48, admin, рубрики: android development, android studio, qt, Разработка под androidДоброго времени суток всем посетителям и пользователям !
Недавно я на эмоциях опубликовал статью, где я рассказывал о всех своих злоключениях при попытки создать qt приложение ( а именно вызвать и использовать
QApplication a(argc, argv);
и использовать его при помощи андроид студии. Было найдено «решение», которое было чрезвычайно костыльным. Теперь у меня были выходные, чтобы разобраться как надо работать с qt без таких костылей из андроид студии. Всем кому интересно — добро пожаловать под кат!Читать полностью »
Shake Detector для Android на RxJava
2016-06-30 в 14:11, admin, рубрики: android development, badoo, java, rxjava, Блог компании Badoo, разработка мобильных приложений, Разработка под androidВступление
Началось все с того, что была поставлена задача отменять последнее действие в приложении при встряхивании устройства. Но как понять, что случилось это самое встряхивание? Через пару минут изучения вопроса стало ясно, что надо подписываться на события от акселерометра и дальше пытаться как-то определить, что устройство встряхнули.
Обнаружились и готовые решения. Все они были довольно похожи, но в чистом виде они меня не устраивали, и я написал собственный «велосипед». Это был класс, который подписывался на события от сенсора и менял свое состояние по мере их поступления. Потом пару раз я и мои коллеги подкручивали шестеренки этого велосипеда, и в результате он стал напоминать нечто из «Безумного Макса». Я пообещал, что, как выдастся свободное время, приведу это безобразие в порядок.
И вот, читая недавно статьи по RxJava, я вспомнил про эту задачу. «Хм, — подумал я, — RxJava выглядит очень подходящим инструментом для такого рода проблем». Не откладывая в долгий ящик, взял и написал решение на RxJava. Результат меня поразил: вся логика заняла 8 (восемь!) строк! Я решил поделиться своим опытом с другим разработчикам. Так появилась на свет эта статья.
Надеюсь, этот простой пример поможет принять решение тем, кто размышляет о применении RxJava в своих проектах.
Статья ориентирована на читателей, имеющих базовый опыт разработки под Android. Исходный код готового приложения можно посмотреть на GitHub.
Приступим!
Читать полностью »
Теория и практика AOP. Как мы это делаем в Яндексе
2016-06-30 в 13:47, admin, рубрики: android development, aop, aspectj, java, Блог компании Яндекс, Программирование, Разработка под androidОдна из ключевых особенностей работы в Яндексе — это свобода выбора технологий. В Авто.ру, где я работаю, нам приходится поддерживать большой пласт исторических решений, поэтому любая новая технология или библиотека встречается двумя вопросами коллег:
— Насколько это увеличит дистрибутив?
— Как это поможет нам писать меньше и эффективнее?
Сейчас мы используем RxJava, Dagger 2, Retrolambda и AspectJ. И если о первых трёх технологиях слышал каждый разработчик, а многие даже применяют их у себя, то о четвёртой знают только хардкорные джависты, пишущие большие серверные проекты и разного рода энтерпрайзы.
Передо мной стояла цель ответить на эти два вопроса и обосновать использование AOP-методологии в Android-проекте. А это значит — написать код и показать наглядно, как аспектно-ориентированное программирование поможет нам ускорить и облегчить работу разработчиков. Но обо всём по порядку.
AndroidAudit. Ваше Android-приложение как место преступления
2016-06-27 в 11:31, admin, рубрики: android, android development, architecture design, Build Tools, clean code, codestyle, java, security, Разработка под androidОт переводчика: оценка процесса и результата разработки — достаточно субъективная вещь, если не используется какая-либо мера весов. Можно долго спорить: табы или пробелы, git или mercurial, maven или gradle, но такие споры все равно скатываются к вкусовщине и каким-то частным случаям. Другое дело — соблюдение однородности проекта, вот это уже вполне себе измеримая величина.
Плохая методология лучше её отсутствия.
Помимо общих вещей, найдутся и специфические, присуще только мобильной разработке, только под Android. Pedro Vicente Gómez Sánchez из Karumi в своей работе разобрал по косточкам основные технические области и задал меткие вопросы для правильной, объективной оценки разработки для платформы Android. Если появится задача: оценить чужой проект, то рекомендую воспользоваться его методологией. Я воспользовался этой методологией, как чек листом. На выходе получился вполне понятный не профессионалу документ, где напротив каждой категории — конкретная величина соответствия правильности от 0 до 1.
Читать полностью »