Сообщество - Android Developers
Добавить пост

Android Developers

86 постов 2 039 подписчиков

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

Google Play удалил приложение за webview. В чем суть нарушения?

Приложение - игра была собрана в двух версиях для android и html5 функционально идентичные.
Сделал страницу ведущую на html5 версию игры и на андроид версию в гугл плей - https://electronikas.ru/st/
Приложение было опубликовано в Google Play и некоторое время было доступно. Но после того как я добавил на страницу приложения ссылку на свой сайт с игрой, оно было сначала удалено и потом забанено полностью(Suspended).

Во время апелляции отправил в поддержку гугла чек об оплате домена, на котором находится html5 версия игры. После этого приложение разбанили, но оно осталось удаленным(Rejected).

При попытке его опубликовать мне приходит сообщение о нарушении:

Google Play удалил приложение за webview. В чем суть нарушения? Android, Android разработка

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

Google Play удалил приложение за webview. В чем суть нарушения? Android, Android разработка

Из которого я все-равно не понял как это решить..

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

Может кто сталкивался, как решить?

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

Навигатор для прокладки интересных пешеходных маршрутов

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


Вот оказались вы в незнакомом городе и надо вам дойти до метро/вокзала/отеля. Яндекс-Гугл посоветуют вам кратчайший маршрут, но это не очень интересно. Иногда хочется сделать небольшой крюк и по пути пройтись по парку, или мимо каких-нибудь памятников, чтобы совместить дорогу и осмотр достопримечательностей.


Но как узнать, где искать эти достопримечательности? Туристических путеводителей может под рукой не оказаться, да и не для всех городов и районов они есть. Часто они затрагивают только центр города, и вряд ли так уж много путеводителей охватывает спальники, типа условного Купчино. Однако даже там часто есть на что поглядеть по дороге.

Навигатор для прокладки интересных пешеходных маршрутов Приложение на Android, Навигация, Туризм, Android разработка, Длиннопост

Мой навигатор решает эту проблему. Строит маршруты, которые длиннее процентов на 20, чем кратчайшие, зато в разы интереснее.


Долгое время сервис жил в виде веб-версии, но пользователи настойчиво просили Android-приложение. Так что пришлось им наконец заняться.


Алгоритм поиска путей


Сперва пара слов о базовой идее. Алгоритм работы у сервиса такой:

1. Парсим Open Street Map

2. Выдираем оттуда объекты, представляющие потенциальный интерес у туристов, используя теги для фильтрации. Например, здания с тегом historic или tourism, объекты с тегом park или garden и т.п.

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

4. Берем популярную библиотечку для поиска путей GraphHopper

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


Более подробное описание алгоритма можно найти на Хабре.


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


Osmdroid - тормоза и фризы


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


По запросу "OSM Android SDK" первым делом выдает библиотечку osmdroid, которая обещает быть полной заменой стандартного гуглового MapView. Поначалу все было хорошо, встроить по туториалам его удалось достаточно быстро.


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


Поскольку для нашего приложения отображение маркеров очень важно - пришлось искать альтернативу.


Mapbox


Вторым вариантом стал SDK MapBox. У них там есть куча платных фич, однако само использование MapView в своем приложении бесплатно (платно - всякие API типа роутинга, но он у нас свой собственный).


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


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

Навигатор для прокладки интересных пешеходных маршрутов Приложение на Android, Навигация, Туризм, Android разработка, Длиннопост

Немного про UI


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


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

Навигатор для прокладки интересных пешеходных маршрутов Приложение на Android, Навигация, Туризм, Android разработка, Длиннопост

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


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

Пример кругового маршрута по двум паркам на час с небольшим вокруг станции метро "Парк Победы" в Питере:

Навигатор для прокладки интересных пешеходных маршрутов Приложение на Android, Навигация, Туризм, Android разработка, Длиннопост

В Android есть типичная проблема - Activity классы быстро превращаются в этакий God-object, с тысячами строк кода и кучей логики вперемешку с отображением. Бороться с этим призваны всякие хитрые варианты архитектуры. В своем приложении я использовал MVP с помощью библиотечки Moxy. Вкратце - приложение делится на Model (данные), View (отображение, собственно Activity) и Presenter (логика, вынесенная в отдельный класс и работающая с View через интерфейс). На самом деле довольно очевидная вещь, из тех что ты сперва начинаешь сам изобретать, а потом узнаешь что оказывается у нее уже есть какое-то умное название.


Про Moxy есть хорошая статья на Хабре. Главный профит этой библиотечки - что она берет на себя заботу о сохранении состояния приложения и обработку всяких смен ориентации и прочих причин пересоздания Activity. Presenter по сути заполняет очередь команд (на основе бизнес-логики нарисовать то-то там-то, отобразить такой-то поп-ап), которая при необходимости проигрывается заново если Activity была пересоздана.


Заключение


Приложение мы пилили без малого год и все еще продолжаем его допиливать. Работает оно бесплатно и без рекламы, взять можно тут: https://play.google.com/store/apps/details?id=city.sightsafari.android


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


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


Работает пока в 100+ городах России и мира. Оставить заявки на добавление новых городов можно тут в комментариях или в нашей группе ВК.

Навигатор для прокладки интересных пешеходных маршрутов Приложение на Android, Навигация, Туризм, Android разработка, Длиннопост
Показать полностью 5

Мое первое Android приложение, Pizza Calculator

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

На тот момент из опыта в каком-либо программировании у меня были только онлайн курсы по основам C# и пара написанных лаб.

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

Мое первое Android приложение, Pizza Calculator Пицца, Калькулятор, Android разработка, Приложение на Android, Длиннопост

Спустя практически год я решил перенести свое творение на Android, сделать приложение с нормальным интерфейсом и полноценным сравнением пицц.

Если бы я начинал делать приложение сейчас, я бы отказался от идеи Xamarin + C# и выбрал бы Java. Полезной информации, гайдов и примеров готового кода для Java гораздо больше и новичку было бы проще, та и Android Studio в плане мобильной разработки удобнее чем Visual Studio.

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

Я на этом остановился и месяца три вообще не занимался приложением, пока не узнал что есть список RecyclerView и гайдов про него гораздо больше. Так я нашел блог одного индуса, который описывал как сделать адаптер для RecyclerView и списка List<T>. Мне потребовалось две недели чтобы адаптировать его пример кода под мои нужды: добавить больше информации про объект в списке и картинку. Я использовал CardView и мой список стал немного похож на фид новостей Google:

Мое первое Android приложение, Pizza Calculator Пицца, Калькулятор, Android разработка, Приложение на Android, Длиннопост

В фотошопе я нарисовал интерфейс, который хотел реализовать:

Мое первое Android приложение, Pizza Calculator Пицца, Калькулятор, Android разработка, Приложение на Android, Длиннопост

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

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

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

Построить графики по нужным данным вроде бы просто, но как добавить к ним взаимодействия, чтобы сравнивать одну пиццу со всеми остальными, а не только 2 с 1 и т.д. Были найдены графики от Syncfusion (не реклама), которые умеют скролится в сторону и одновременно отображать таким образом любое количество нужных расчетов. Также они позволяют взаимодействовать с конкретным столбцом в графике, что после нескольких дней переписок с тех. поддержкой позволило реализовать текущий функционал, когда мы жмём на нужный столбец и эта пицца сравнивает себя со всеми остальными, но уже в процентах. Таким образом можно понять, что площадь пиццы больше, например, на 10%, а дороже она уже на 20%:

Мое первое Android приложение, Pizza Calculator Пицца, Калькулятор, Android разработка, Приложение на Android, Длиннопост

На этом глобальный функционал был окончен, я также добавил несколько мелочей: кастомный шрифт Google NotoSans, адаптивную иконку приложения, перевод на 6 языков (рус, укр, англ, болгарский, чешский и итальянский), спасибо моим друзьям за переводы.

Наступил самый волнительный момент, подготовка приложения и всех сопутствующих материалов к публикации в Play Market. Было заготовлено 5 скриншотов, с короткими подсказками функционала приложения, а также было написано подробное описание. Все это опять требовалось перевести на все необходимые языки и только потом добавлять.

И вот этот день настал, я отдал честно заработанные 25$ за регистрацию учётной записи разработчика для Google Play Console.

Я залил все скриншоты, описание и прочее и столкнулся с новыми проблемами. Требовалась целевая версия Android API 28 (Android Pie), а мое приложение собиралось для API 27. Ну ничего страшного подумал я и скачав нужное SDK пересобрал приложение. И снова ошибка, с 1 августа Google требует обязательное наличие 64 битной версии приложения, пол часа поиска и этот вопрос был решен. Потом Play Console попросила чтобы приложение было собрано как Android App Bundle, а моя Visual Studio 2017 этого не умела и я потратил ещё пол дня чтобы с этим разобраться.

Не смотря на все описанные трудности и два года времени от идеи до реализации приложения, оно наконец-то доступно для всех желающих в Play Market по ссылке. Приложение абсолютно бесплатное и не содержит рекламу.

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

И напоследок несколько скриншотов:

Мое первое Android приложение, Pizza Calculator Пицца, Калькулятор, Android разработка, Приложение на Android, Длиннопост
Мое первое Android приложение, Pizza Calculator Пицца, Калькулятор, Android разработка, Приложение на Android, Длиннопост
Мое первое Android приложение, Pizza Calculator Пицца, Калькулятор, Android разработка, Приложение на Android, Длиннопост
Мое первое Android приложение, Pizza Calculator Пицца, Калькулятор, Android разработка, Приложение на Android, Длиннопост
Мое первое Android приложение, Pizza Calculator Пицца, Калькулятор, Android разработка, Приложение на Android, Длиннопост
Показать полностью 9

Секретный Санта - Время дарить подарки! Исправляем ошибки, рассказываем о работе внутри

Привет, пикабуняне, а также уже будущие Санты!


После последнего поста о начале работы мобильного приложения для обмена подарками Пикабушники, как обычно все поломали (в хорошем смысле):


- Для начала сломали авторизацию, и СМС-ки для регистрации не приходили (поправили почти сразу)

- Потом сломали Блог, Базу знаний, поэтому пришлось отключить (уже включили)


А потом мы сами заметили, что для некоторых версий Android вообще половина функций не работает, и оперативно начали делать обновление 1.0.2. Сейчас оно уже публикуется в Маркете, и скоро ко всем прилетит.


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


Итак..

Секретный Санта - Время дарить подарки! Исправляем ошибки, рассказываем о работе внутри Тайный Санта, Новогодний обмен подарками, Обмен подарками, Длиннопост

И полетели!


Начнем, наверное с Блога (этот для пользователей пк)

Секретный Санта - Время дарить подарки! Исправляем ошибки, рассказываем о работе внутри Тайный Санта, Новогодний обмен подарками, Обмен подарками, Длиннопост

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


*РукаЛицо.jpg


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


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


Обмен платный, стоимость зафиксирована - 75р. Зачем платить, скажете вы - ответ таится в новых особенностях - тотальной проверке пользователя, уведомлениях (по СМС / Звонкам / Отправке писем Почтой с кодом подтверждения / Оплата мощностей Firebase).


Отличия от бесплатного обмена в том - что вам точно не попадется школота, которая ничего не пришлет, а также в том, что все участники обзвонены, предупреждены о порядке обмена под страхом бана по трем направлениям:

- Телефон

- ФИО

- Адрес


А значит, намного больше вероятность что обмен будет более гладким. Участвовать или нет - решать вам.


Мы берем с людей деньги, значит и налоги платим? Да, конечно, и еще чеки выдаем. Тут все серьезно


Сколько стран? В этом году 15 стран, в основном это бывший Советский Союз. Сам список ищи в предыдущих постах


Итак, по Блогу.


Сейчас блог - полностью самописный, то есть он не завязан на каком то фреймворке (кроме Bootstrap, но это внешка) типа WordPress, Joomla, или еще чего. За счет этого приходится писать все посты вручную, что конечно отнимает много времени.

Секретный Санта - Время дарить подарки! Исправляем ошибки, рассказываем о работе внутри Тайный Санта, Новогодний обмен подарками, Обмен подарками, Длиннопост

Ну и конечно, лучший друг сейчас - редактор, а в дальнейшем, конечно будем "натягивать" наш шаблон на CMS, чтобы было легче дышать


Кстати, до конца все таки блог на телефоне все еще не работает (Не забирает текст самой записи) - поэтому было придумано самое тупое и простое решение: временно перенаправлять на сайт.


Зато заработал предварительный просмотр записи:

Секретный Санта - Время дарить подарки! Исправляем ошибки, рассказываем о работе внутри Тайный Санта, Новогодний обмен подарками, Обмен подарками, Длиннопост

Далее - как проходит модерация, и звонки для будущих Сант


Порядок, собственно, довольно простой:


- Санта заполняет анкету (нам приходит уведомление)

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


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


Запрос на звонок нам приходит совсем простой: (замазал некоторые данные, в итоге все оказалось замазано :0 )

Секретный Санта - Время дарить подарки! Исправляем ошибки, рассказываем о работе внутри Тайный Санта, Новогодний обмен подарками, Обмен подарками, Длиннопост

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


Ну и наша админка, половину пришлось также вырезать:

Секретный Санта - Время дарить подарки! Исправляем ошибки, рассказываем о работе внутри Тайный Санта, Новогодний обмен подарками, Обмен подарками, Длиннопост

Обитель администрато-модератора отличается в том, что физически она нигде не расположена - то есть из Интернета в нее не попасть.


Работает она на локальных компьютерах, с развернутым сервером (безопасность наше все)


Иногда мы активируем режим "Технические работы" - выглядит он для пользователей так:

Секретный Санта - Время дарить подарки! Исправляем ошибки, рассказываем о работе внутри Тайный Санта, Новогодний обмен подарками, Обмен подарками, Длиннопост

Эти самые работы нужны, чтобы добавить/поменять что нибудь в базе данных, а также проверить, что ничего нигде не выпадает


В заключение хотелось бы попросить причастных, и заинтересованных:


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

Секретный Санта - Время дарить подарки! Исправляем ошибки, рассказываем о работе внутри Тайный Санта, Новогодний обмен подарками, Обмен подарками, Длиннопост

Далее расскажу вот о чем:


- До конца разворачиваем личный кабинет для всех браузеров, тестируем, снова ломаем

- Разбираемся с документами и правилами

- Показываем как платятся налоги


Всем добра :)

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

Секретный Санта - Время дарить подарки

Привет, пикабуняне!


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


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


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


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


Полетели!

Секретный Санта - Время дарить подарки Новогодний обмен подарками, Тайный Санта, Новый год, Длиннопост

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

Секретный Санта - Время дарить подарки Новогодний обмен подарками, Тайный Санта, Новый год, Длиннопост

Как и упоминалось ранее - основной упор при регистрации (и вообще для аккаунта) сделан на использование мобильного телефона. С его помощью теперь и осуществлются все манипуляции.


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


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


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


А так, ссылка в маркете вот такая: https://play.google.com/store/apps/details?id=ru.oneclickstudio.secretsanta


2) Обмен платный, стоимость уже установлена - 75р. Зачем платить, скажете вы -  ответ таится в новых особенностях - проверке пользователя, уведомлениях (по СМС / Звонкам / Отправке писем Почтой с кодом подтверждения / Оплата мощностей Firebase). Ну и общий посыл проверки в том, чтобы убедится что ты не верблюд плохой Санта, и не захапаешь только посылку для себя, а сам ничего не отправишь (было и такое в предыдущие года, сам попадал)


3) Мы берем с людей деньги, значит и налоги платим? Да, конечно, и еще чеки выдаем. Тут все серьезно


4) Сколько стран? В этом году 15 стран, в основном это бывший Советский Союз. Сам список ищи в посте

Секретный Санта - Время дарить подарки Новогодний обмен подарками, Тайный Санта, Новый год, Длиннопост

И еще, насчет серьезности.


После прохождения регистрации, каждый будущий Санта обязан согласится с правилами обмена - эта особенность обязательна для РФ (закон о персональных данных), да и в будущем для европы (GDPR как никак).


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


1 - Заполнение анкеты

2 - Оплата

3 - Подтверждение данных

4 - Нажатие кнопки "Готов участвовать", и ожидание распределения

5 - Отправка подарка (ввод сведений о посылке)

6 - Получение подарка (просмотр трека)


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

Секретный Санта - Время дарить подарки Новогодний обмен подарками, Тайный Санта, Новый год, Длиннопост

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


А еще появился тип обмена. Можно выбирать из двух вариантов:

а) Обычный - распределение случайным образом

б) Знакомство - распределение по половому признаку, но тоже случайным образом. Будет интересно для заведения новых знакомств или друзей

Секретный Санта - Время дарить подарки Новогодний обмен подарками, Тайный Санта, Новый год, Длиннопост

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


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


Остается только дожидаться распределения, и готовить подарок своему Санте


В следующем посте:

- Информация о розыгрыше для всех участников (от администрации)

- Польза и преимущества для тестировщиков

- Блог, и почему его важно периодически читать

- Мои достижения, и возможные награды



Cпасибо, что дочитали. Задавайте вопросы и критику в комменты. Как и было обещано, прилагаю список стран для участия. Ссылок на маркет не дам, не рекламирую

Секретный Санта - Время дарить подарки Новогодний обмен подарками, Тайный Санта, Новый год, Длиннопост
Показать полностью 6

SOS - моё первое приложение

Всем привет.


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


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

SOS - моё первое приложение Android, Android разработка, Приложение, Java, SOS

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


Кстати, про sms. С этим возникли проблемы при релизе на Google Play, так что пришлось организовать небольшую переписку с саппортом, где я слёзно выпрашивал дать мне право использовать разрешение SEND_SMS.


Конечно, хочется увидеть ваши мнения на счёт моего "продукта", так что ловлю ваши тапки)

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

Кто сколько кому должен?

Привет-привет, Пикабу!


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

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

Вроде бы оно получилось довольно простое и понятное. Заходим в него, затем...


1. Добавляем вечеринку и обзываем её:

Кто сколько кому должен? Android, Разработка, Приложение, Долг, Калькулятор, Длиннопост

2. Вводим категории расходов с названием и стоимостью (в поле суммы можно вводить выражения, все само считается):

Кто сколько кому должен? Android, Разработка, Приложение, Долг, Калькулятор, Длиннопост

3. Тем же макаром вводим плательщиков и указываем, кто что употреблял. А чтобы видеть это всё в свёрнутом виде, закрашиваются прямоугольнички, если категория выбрана:

Кто сколько кому должен? Android, Разработка, Приложение, Долг, Калькулятор, Длиннопост

(там еще четверо плательщиков, просто скриншот слишком длинный)


4. Все готово, результаты автоматически будут выведены ниже:

Кто сколько кому должен? Android, Разработка, Приложение, Долг, Калькулятор, Длиннопост

5. По мере оплаты отмечаем выполнение галочкой и делимся результатами. Вот так выглядит эта вечеринка в текстовом виде:

*** Вечеринка в Хогвартсе ***
Результаты:
Гарри: 0.50 -> Грозный Глаз
Гарри: 58.50 -> Дамблдор
Рон: 40.00 -> Дамблдор
Гермиона: 84.50 -> Дамблдор
Полумна: 30.00 -> Дамблдор
Волдеморт: 199.50 -> Дамблдор

Сюда также можно включить категории и плательщиков.

— Зачем изобретать велосипеды? —  Все приложения с этим же предназначением, которые мне удалось найти показались мне неудобными, с кучей разных функций и возможностей.

— Для иностранных граждан прилагается перевод на english - язык выставляется как на устройстве.


— Скачать можно по ссылке (пока что из-за отсутствия загрузок оно не выводится в поиске Google Play).


— Буду очень благодарен, если найдёте баги, ошибки и опишите их в комментах или пришлёте на почту: marinchenkovalentin@gmail.com


Большое спасибо за внимание!

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

Бета-тест игры для Android

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

Бета-тест игры для Android Игры, Мобильные игры, Ретро-игры, Synthwave, Android, Бета, Бета-тест, Google Play, Видео, Длиннопост

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

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

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

Бета-тест игры для Android Игры, Мобильные игры, Ретро-игры, Synthwave, Android, Бета, Бета-тест, Google Play, Видео, Длиннопост

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

Основа нашей игры (помимо всего прочего) - музыка. Каждый уровень имеет оригинальный саундтрек (разумеется, старались сделать в духе 80х). В конечном счёте имеем более получаса музыки. Геймплей напрямую с музыкой (как в Guitar Hero) не связан, но игру это на наш взгляд не портит.

Бета-тест игры для Android Игры, Мобильные игры, Ретро-игры, Synthwave, Android, Бета, Бета-тест, Google Play, Видео, Длиннопост

Второй фишкой игры планировалась стать сложность. Этакий Dark Souls в жанре скролл-шутеров. Но на этапе первых тестов сложность решили снизить, из-за негативной реакции публики.

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

Если вы хотите поучаствовать в закрытом тестировании - оставьте здесь свою почту или напишите нам по адресу beta@cybercat.studio, мы с вами свяжемся. Единственное - важно, чтобы ваша почта была привязана к аккаунту Google.

Мы хотим получать от вас сообщения если вы обнаружите баги или недочеты. Если игра вылетает с ошибкой - пришлите ее скриншот. Будем рады услышать ваше мнение о сложности игры. Скриншоты и отзывы так же присылайте на beta@cybercat.studio

Трейлер игры:

Спасибо за внимание!

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