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

Android Developers

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

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

16

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

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

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

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

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

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

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

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

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

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

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


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

Показать полностью 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-уведомления.

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

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

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


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


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


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



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



pps


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

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

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

Всем привет!


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


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


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

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


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


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


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

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

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

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


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

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

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

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


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


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

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

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


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


- Иконки (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 по подбору подарков.


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


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

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

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


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


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

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


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


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

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

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

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


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


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

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


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


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

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

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


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


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

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


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


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

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

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

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

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


Что дальше?


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


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


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


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


https://yadi.sk/d/MrhXFgGu37vam7

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

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

Всем привет!


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


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


Поехали!


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


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

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


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


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

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

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

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

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

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

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


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


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


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

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

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

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


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


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


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


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

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

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


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

(app/src/main/res)

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


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


Кстати!


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


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


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


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

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

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

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

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


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


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


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

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

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

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

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


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


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


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


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


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

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

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

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

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


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


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


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

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

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

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

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

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


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


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

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

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