Сообщество - Android Developers

Android Developers

90 постов 2 040 подписчиков

Популярные теги в сообществе:

16

Моя история разработки одного Android приложения. Часть 2.

В то же время начал для себя изучать создание и продвижения сообществ во всем известной социальной сети.

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

Вот и придумал для себя, что должно делать приложение - показывать статистику.

Просмотрев API соц. сети без проблем нашел методы, которые эту статистику отдают, сел изучать Android Studio.

Среда разработки меня очень порадовала удобством, буквально через неделю я уже свободно ей пользовался, как будь то работаю в ней уже больше года.

Так как опыта не было, я переписывал свой код раз десять, каждый раз открывая для себя новые возможности, как среды, так и языка.

Так же пришлось изучить саму ОС Androin, открыл для себя много новых и я бы даже сказал гениальных архитектурных решений. Так как до этого я писал только под ОС Windows. Но и странных моментов для меня оказалось не мало, например вы знали, что у работающего приложения при повороте экрана не просто меняются ширина и высота, а вообще полностью уничтожаются все видимые формы и создаются заново с новыми размерами?

Через несколько недель мучений моё приложение, наконец, смогло показать данные, пока это были просто цифры посещений сообщества за текущий день, но радости моей не было предела.

Моя история разработки одного Android приложения. Часть 2. Разработка, Android, Google Play, История, Истории из жизни

Я понял, что у меня есть шанс написать реально работающее приложение а не то, которое вылетает при любом удобном ему случае:)


Настало время учиться рисовать графики.

Показать полностью 1

Разработчики под Android? Как вы это делаете?

Отчаялся найти подходящее приложение для учёта и прогнозирования финансов и решил написать сам. В итоге:


- из-за установленного по рабочей необходимости на компе hyper-v, Android Studio не запускает эмулятор


- установил в отдельный раздел Линукс (fedora x64). После незначительных плясок с бубном смог запустить там Android Studio, но при запуске эмулятора система вешается намертво


- поставил ту же федору, но 32 бита. Android Studio отказывается собирать проекты из-за какого-то косяка в Gradle и JDK


- сдался и удалил с рабочей винды hyper-v. Эмулятор запустился, но работает настолько медленно, как будто у меня не core i7 c 12 гигами оперативы, а какой-нибудь первый пентиум на 100 мегагерц.


Однако, play market полон приложений. Некоторые даже можно назвать стоящими. Разработчики под Android, как вы это делаете?!?!?

2

Оцените, какие мы додики

Я больше не могу сдерживать это! Мы с джунами зарелизили первое приложение, и восторг настолько безграничен, что выплеснулся в этот пост.



Прошу не судить строго результат почти полугодовой работы неопытных студентов. Чтобы никого не обделить, наше чудо есть в ios и android маркетах.


приложение абсолютно бесплатное! монетизации и рекламы в нем нет и не будет, это официальное заявление.


На самом деле мы почти не сделали ничего нового, мы сделали обычное валютное приложение, но зато какое!


Когда курс меняется - оно шлет push-уведомления.

Оцените, какие мы додики Курсометр, Android, iOS, Программирование, Android разработка, Разработка, Первый раз

Как облегчить себе жизнь:

-выбрать нужную котировку


-выбрать обменник


-выбрать стоимость валюты, при достижении которой нужно уведомление


-ждать уведомлений



ps процесс разработки этого чуда это отдельная захватывающая история, могу рассказать, если интересно.



pps


ссылку в посте не ставлю, чтобы не ругались на рекламу. если кому то интересно - отпишусь в комментариях.

Показать полностью 1
10

Material Design - Макетирование в xD (Experience Design)

Всем привет!


Выдался свободный от рутины денек, а значит, пора приступить к очередному этапу улучшайдзеров для приложений на Android.


Сегодня поговорим о таких скучных словах как user interface, material design, перекопаем кучу гайдов и вообще, будем немного причесывать приложения в плане юзабилити.


Все телодвижения будем производить за компьютером в приложении experience design от Adobe. Поехали!

Material Design - Макетирование в xD (Experience Design) Android, Программирование, Длиннопост, Adobe XD

Рассматриваемая на сегодняшнем занятии программа - это попытка мега гиганта Adobe заменить такие приложения, как Sketch, Fluid Ui и кучи других.


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


Но мы сейчас не об этом. Прикидывать новый дизайн будем для клиента интернет магазина Эльдорадо, и немного освежим его.


Открываем новый документ, в панели инструментов выбираем готовый шаблон для ведроид девайсов.

Material Design - Макетирование в xD (Experience Design) Android, Программирование, Длиннопост, Adobe XD

Пару пустых экранчиков мы наклепали, идем дальше. Нам надо нарисовать привычные для каждого устройства status bar и toolbar. А для этого что? Правильно. Нужно залезть в гайды, и вспомнить их размеры.

Material Design - Макетирование в xD (Experience Design) Android, Программирование, Длиннопост, Adobe XD

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

Material Design - Макетирование в xD (Experience Design) Android, Программирование, Длиннопост, Adobe XD

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


И черт меня дернул растянуть toolbar аж до 250dp (вместо положенных 56). Дальше как говориться понеслось, только успевай. Вышло что то наподобие экрана "О приложении".

В целом мне показалось миленьким.

Material Design - Макетирование в xD (Experience Design) Android, Программирование, Длиннопост, Adobe XD

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

Material Design - Макетирование в xD (Experience Design) Android, Программирование, Длиннопост, Adobe XD

В целом, для прототипирования каких либо программ я обязательно смотрю похожие приложения, иногда посещаю ресурсы со стоковой графикой, тематические порталы с направленностью на тот же ui. А раньше рисовал руками в блокноте. в 21 веке то.


К примеру, нарисованный ниже за пол часика экран частично берет корни из приложения Google Play Store, часть из программы AliExpress.


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

Material Design - Макетирование в xD (Experience Design) Android, Программирование, Длиннопост, Adobe XD

Запуск, в отличии от эмуляторов мгновенный, это явный плюс. Пока что не нашел параметров для скрола контента, но думаю это прикрутят в будущих фиксах.

Material Design - Макетирование в xD (Experience Design) Android, Программирование, Длиннопост, Adobe XD

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


Использовал множество ресурсов, в том числе:


- Иконки (https://material.io/icons/)

- Цветовая палитра (https://material.io/guidelines/style/color.html#color-color-palette)

- Библиотеки (https://android-arsenal.com/)

- Общие принципы концепта MD (https://material.io/guidelines/patterns/confirmation-acknowledgement.html#confirmation-acknowledgement-confirmation)

- Cтоковая графика (http://www.freepik.com/)


Ну и в качестве подведения итогов.


Ни разу не претендую на звание дизайнера, напротив, при наличии средних знаний в программировании ощущаю себя очень стесненным в плане дизайна. Но подобного рода приложения очень грамотно помогают в будущем видении приложения, подготовке качественных сборок (коих перевалило за полторы сотни), и всячески совершенствоваться.


Скачать можно пока на халяву, ну а дальше вы знаете. Подписка, пиратство, срок.

http://www.adobe.com/ru/products/experience-design.html


Поддерживается только Windows 10 и MacOS. Потыкал на обеих платформах, в целом идентичен.


Всем бобра, до связи! =)

Показать полностью 8
0

Подбираем подарки - Gift Maker для Android

Привет!


С прошедшими праздниками, и с началом боевой недели!


Прошу простить долгое отсутствие, много бухал был занят многочисленными заказами по фрилансу + делал свои программулины.


Сегодня выношу на ваш суд рассказ - повествование о приложении, которое в скором времени будет публиковаться в магазинах приложений для Android по подбору подарков.


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


Школодрочеры! Пост создан не в рекламных целях, т.к. приложение нигде не светится.

Подбираем подарки - Gift Maker для Android Android, Программирование, Длиннопост

(* один из графических материалов для Google Play - раздел рекомендуемое)

Итак - первоначальной идеей приложения было занести в каталог популярные подарки для определенной группы (категории) людей, собранной по интересу, половому признаку, возрасту, а также по цене.


Естественно, для первой сборки было решено по пути наименьшего сопротивления - пользователь сам выбирает необходимые параметры, взамен показываются подарки, отсортированные по стоимости.


Мучения были и на стадии названия. Взамен длинных и скучных "Подбирателей подарков для мальчиков и девочек" было решено сократить название: для магазина Gift Maker, а в телефоне просто отображать Gift - чтобы не обрезалось.

Подбираем подарки - Gift Maker для Android Android, Программирование, Длиннопост

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


Второй блок - случайный подарок. Пока он пустует, по причине того, что не все подарки еще добавлены на сервер. А так - приложение выбирает случайный подарок в диапазоне (0-301) и парсит его.


Используется связка (random.nextInt(300) + 1), а прибавляем 1 по причине, что наш рандом может выкинуть 0, и этого нам не хочется.

Подбираем подарки - Gift Maker для Android Android, Программирование, Длиннопост

Панель подбора подарков. Тут у нас имеется 3 категории (в дальнейшем хотелось бы расширить), отсеивающие подарки по половому признаку, интересам, и поводу. Последний пункт недоступен, и для этого вставлена кошачья заглушка.

Подбираем подарки - Gift Maker для Android Android, Программирование, Длиннопост

Кстати, этот хвостатый будет периодически подсказывать, как и что делать. Такую фишку мне подсказала моя жена, так как сама является яблофилом (срач дома не разводим), ну и чтобы разобраться, неплохо бы "тыкнуть пальцем".

Подбираем подарки - Gift Maker для Android Android, Программирование, Длиннопост

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


Кроме того, с этого экрана можно попасть прямиком в магазин - я использовал разные сайты, которые высылают подарки по стране, но никто не запрещает найти такой же в своем городе.


Главное - подать идею, что подарить. А где вы его купите - ваше дело.

Подбираем подарки - Gift Maker для Android Android, Программирование, Длиннопост

Приложение также адаптировано для планшетов. Для этого даже пришлось купить Xiaomi Mi Pad, хоть я и противник этой бесполезной лопатки.


Для планшетной версии многие элементы были перераспределены, некоторые увеличены, чтобы комфортно пользоваться.


Пока поддерживаются только 7 дюймовки. Для 10 дюймов придется действовать наугад, т.к. еще один планшет я не хочу, а эмулятор не дает нужной отдачи.

Подбираем подарки - Gift Maker для Android Android, Программирование, Длиннопост

Сейчас приложение находиться на стадии финальных тестов и наполнения. Некоторые подарки будут храниться локально на устройстве, некоторые подгружаться с сервера. Предстоит огромный пласт работы, а также большое количество подарков, которые хотелось бы занести.

Подбираем подарки - Gift Maker для Android Android, Программирование, Длиннопост

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


В свою очередь, с моей стороны мониторится количество оценок для подарка, и средний рейтинг.


Сделано это для того, чтобы в будущем формировать ТОП подарков - так сказать народный выбор на основе проставленных оценок.

Подбираем подарки - Gift Maker для Android Android, Программирование, Длиннопост

В этой сборке вы также можете увидеть непонятные сообщения, как с получением id. Это моя контрольная информация, и в релизе ничего такого не будет.


В подведение итога, хочется сказать, что на сам каркас было потрачено около 2х месяцев. Он включает в себя:


- Парсинг данных посредством xml (локально и через сеть)

- Встроенный браузер на основе Chrome, для перехода в магазин

- Огромное количество статичных данных, в том числе по оценкам, настройкам, и подсказкам

- Собственная система оповещений о новой версии

- Графические материалы, в приложении и для рекламных целей (в том числе комбинация стоковых ресурсов)


Что дальше?


Если вас заинтересовало приложение, или вы хотите поиграть в "охотника на баги" - ссылка на Ядиск в конце поста.


Если у Вас есть конструктивное замечание (кроме Нахер надо) - в комментарии


Если хотите предложить идею для реализации - туда же. Еще ничего не поздно поменять.


Ну и по обычаю желаю всем бобра, и хорошего начала недели!


https://yadi.sk/d/MrhXFgGu37vam7

Показать полностью 9
9

Material Design - Верстка под планшеты.

Всем привет!


Начнем без предисловия, давно обещал показать, как же все таки реализуется верстка для планшетных ПК на платформе ведроид Android на уровне макета.


На данный момент адаптирую одно из имеющихся приложений под 7' и 8/10', поэтому буду максимально краток.


Поехали!


*для удобства и наглядности все изображения склеил (телефон и планшет)


Примерно так выглядит экран приложения, который не адаптирован под размер планшета. Коротко говоря - все растянуто. У меня еще не так все плохо, и это уже радует.

Material Design - Верстка под планшеты. Android, Программирование, Материальный дизайн, Длиннопост

Перво наперво хотелось бы начать с того, что устройств и диагоналей для нашей платформы существует нереальное количество (over 15.000 устройств). Это минус, так как приходится адаптировать приложение как под маленькие устройства, так и под лопаты планшеты.


Гугл же по вопросу адаптации под плашеты, тв, и чайники советует компоновать экраны, и использовать фрагменты:


- Маленький экран, вертикальная ориентация: однопанельный вид с логотипом.

- Маленький экран, горизонтальная ориентация: однопанельный вид с логотипом.

- Планшетный ПК с 7-дюймовым экраном, вертикальная ориентация: однопанельный вид с панелью действий.

- Планшетный ПК с 7-дюймовым экраном, горизонтальная ориентация: двухпанельный вид с панелью действий.

- Планшетный ПК с 10-дюймовым экраном, вертикальная ориентация: двухпанельный вид (узкий вариант) с панелью действий.

- Планшетный ПК с 10-дюймовым экраном, горизонтальная ориентация: двухпанельный вид (широкий вариант) с панелью действий.

- Телевизор, горизонтальная ориентация: двухпанельный вид с панелью действий.


Совет хороший, но использовать мы его конечно не будем. Мне было бы очень неприятно переписывать логику всех экранов только из за того, что на планшете все выглядит растянуто. Может, со временем я изменю к этому подход, но пока просто впадлу.


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


Итак, открываем студию, к примеру у нас имеется готовый слой для одного экрана телефона (как выше). Создаем точно такой же файл (название идентичное).

Material Design - Верстка под планшеты. Android, Программирование, Материальный дизайн, Длиннопост

Теперь во всплывающем окне мы перетаскиваем параметр Orientation, и назначаем ему Landscape. Отдельно я подчеркнул название, указываем точно такое же как основное.

Material Design - Верстка под планшеты. Android, Программирование, Материальный дизайн, Длиннопост

Теперь в дереве проекта у нас появится такой же файл, но с припиской -land . В моем случае слой уже работает только для 7' планшетов (sw600dp) и только для повернутого экрана (-land).

Material Design - Верстка под планшеты. Android, Программирование, Материальный дизайн, Длиннопост

Что дальше? Следующим шагом необходимо полностью скопировать содержание старого слоя в новый.


Теперь мы сделали разметку для портретного режима. Что будем меняем? Меняем в основном сетку и представление.


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


Впринципи это не сложно, но занимает много времени. В одном их фрагментов у меня статический контент (список категорий), поэтому процесс может занять некоторое время. Например с динамически подгружаемыми списками проще.


Теперь если внешний вид окна в вертикальном режиме выглядел так (шрифт в TabLayout еще не увеличен):

Material Design - Верстка под планшеты. Android, Программирование, Материальный дизайн, Длиннопост

То для горизонтального уже был переписан (можете использовать TableRow или Linear Layout) в соответствии с нашими нуждами:

Material Design - Верстка под планшеты. Android, Программирование, Материальный дизайн, Длиннопост

При этом я забыл упомянуть, что на изменяемых слоях ни в коем случае нельзя ни удалять элементы, менять идентификаторы или что то в таком духе. Иначе получим крах приложения. Только внешний вид.


Мы разобрались с горизонтальным режимом. А как создать макет вертикальной ориентации для планшета? Очень просто. Заходим в папку нашего проекта:

(app/src/main/res)

Material Design - Верстка под планшеты. Android, Программирование, Материальный дизайн, Длиннопост

И создаем новую папку layout-sw600dp


В нее будет необходимо перекинуть те файлы (слои), которые вы будете адаптировать для планшетов. Принцип работы тот же, что описан выше.


Кстати!


Параметр в названии папки sw600dp работает для планшетов с минимальной высотой 600px (например 1024х600).


Для планшетов на 10 дюймов используйте папку res/layout-sw720dp


Вот вроде и все. Если я что то пропустил, не стесняйтесь спросить в комментариях.


Напоследок фото моего котопса:

Material Design - Верстка под планшеты. Android, Программирование, Материальный дизайн, Длиннопост

Всем бобра! =)

Показать полностью 8
16

Material Design (OnBoarding), и сказ о том, как я обмен прошляпил.

Привет, человеки!


Очень давно ничего не писал по тематике MD (да и вообще в целом), виной тому очень печальный график, по которому пришлось работать, ну и чаще читаю ленту чем пишу в ней что то.


Сегодня речь пойдет про создание splash screen в стиле MD в приложении Gift Exchange для Pikabu, которое я не успел подготовить, @Kpoxaru уже все провернула (и я записался в последний момент), поэтому покажу то, что успел сделать.


Тематикой должна быть актуальная сейчас тема обмена подарками на НГ, которая упростит жизнь организатору, и участнику.

Material Design (OnBoarding), и сказ о том, как я обмен прошляпил. Новогодний обмен, Тайный Санта, Android, Материальный дизайн, Программирование, Гифка, Длиннопост

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

Material Design (OnBoarding), и сказ о том, как я обмен прошляпил. Новогодний обмен, Тайный Санта, Android, Материальный дизайн, Программирование, Гифка, Длиннопост

Пример того, как выглядит анимация:

Material Design (OnBoarding), и сказ о том, как я обмен прошляпил. Новогодний обмен, Тайный Санта, Android, Материальный дизайн, Программирование, Гифка, Длиннопост

Следующим шагом будет посещение страницы чувака с ником saulmm (ссылка в конце), смотрим его пример, изучаем, берем нужный код из активности:

Material Design (OnBoarding), и сказ о том, как я обмен прошляпил. Новогодний обмен, Тайный Санта, Android, Материальный дизайн, Программирование, Гифка, Длиннопост

Я изменил некоторые параметры в коде (некоторые из них используются только для версии JELLY_BEAN, некоторые можно упростить), а именно:


- Убираем выставление стиля в коде


- Выставляем принудительно портретную ориентацию setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);


- Убираем Toolbar через requestWindowFeature(Window.FEATURE_NO_TITLE);


- И добил это дело стилем, который указывается в манифете, где жестко прописал цвет статус бара (для android 5 и выше, и указал, что я точно не хочу видеть toolbar).


Наверное я параноик, раз сделал это дважды.

Material Design (OnBoarding), и сказ о том, как я обмен прошляпил. Новогодний обмен, Тайный Санта, Android, Материальный дизайн, Программирование, Гифка, Длиннопост

Теперь нам нужна иконка. Посещаем бесплатный ресурс со стоковой графикой, находим более менее симпатичную иконку с тематикой НГ (ссылка в конце):

Material Design (OnBoarding), и сказ о том, как я обмен прошляпил. Новогодний обмен, Тайный Санта, Android, Материальный дизайн, Программирование, Гифка, Длиннопост

Изображение у нас векторное, засовываем его в люстру (Adobe Illustrator), обрезаем под размер иконки для ведроид (512х512), получаем следующее:

Material Design (OnBoarding), и сказ о том, как я обмен прошляпил. Новогодний обмен, Тайный Санта, Android, Материальный дизайн, Программирование, Гифка, Длиннопост

Теперь переносим иконку в студию, любезно просим немного скруглить картинку по краям, на выходе получаем вполне симпатичные валенки:

Material Design (OnBoarding), и сказ о том, как я обмен прошляпил. Новогодний обмен, Тайный Санта, Android, Материальный дизайн, Программирование, Гифка, Длиннопост

Теперь осталось только переименовать кнопки, и запустить на устройстве.


Анимация красиво воспроизводится, кнопочки тыкаются.


Всем спасибо за внимание, в следующий раз продолжу рассказ о том, как планировалось добавлять участника к системе через приложение, и как это было реализовано.


https://github.com/saulmm - гитхаб чувака

http://www.freepik.com/free-vector/christmas-color-icon-set_818976.htm#term=happy new year icon&page=1&position=23 - иконки

Показать полностью 8
453

Первое приложение или яСделалЬ

Первое приложение или яСделалЬ Android, Android разработка, Score Keeper Lite, Подсчет, Приложение, Тег для красоты

Я осознаю, что это приложение может показаться большинству не очень интересным. Но может кому-то все таки пригодиться... Суть приложения тривиальна - записывать очки, набранные игроками за раунд какой-либо игры (настольной, карточной или растянутой во времени (очки сохраняются при закрытии приложения)).

Приложение не преследует и не будет преследовать АБСОЛЮТНО никаких коммерческих целей. Цель данного приложения - сделать что-то конечное, цельное, наполненное каким-либо смыслом... Вот что получилось:

Первое приложение или яСделалЬ Android, Android разработка, Score Keeper Lite, Подсчет, Приложение, Тег для красоты

Для ХабраХабра - оно явно не подойдет - слишком простое, поэтому оставлю это здесь, может кому-то из менее искушенных в коддинге людей пригодиться...

Приложение сделал я от первой буквы до последнего пикселя в дизайне, поэтому тег моё присутствует...


P.S. приложение абсолютно не коммерческое - никакой рекламы или оплаты нет и не будет - обещаю. Единственное, в качестве тренировки на будущее я разместил один рекламный блок в информации об Разработчике (куда, в общем-то, никто никогда не заглядывает), который можно посмотреть только самостоятельно кликнув на "Play" - никак по другому реклама никогда не выскочит:)


P.S.S. Если кому-то будет интересно - ссылку отдам в комментариях, ну или найдите в Маркете ScoreKeeper Lite вот с такой иконкой:

Первое приложение или яСделалЬ Android, Android разработка, Score Keeper Lite, Подсчет, Приложение, Тег для красоты

Всем Спасибо за внимание, не судите строго :)

Показать полностью 2
Отличная работа, все прочитано!