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

Android Developers

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

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

Неисправности автомобиля на Android от идеи к реализации. Часть 2. Макет.

Здравствуйте.

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

Что изменилось за месяц в приложении:


1) На 80% готов макет приложения, а я готов к критике этого макета).

Главная страница(Картинка взята с сайта freepik.com, иконки с сайта flaticon.com):

Неисправности автомобиля на Android от идеи к реализации. Часть 2. Макет. Android разработка, Неисправности, Диагностика, Авто, Ремонт авто, Приложение, Длиннопост

Страница выбора системы автомобиля,  в которой есть потенциальная неисправность(иконки с сайта flaticon.com):

Неисправности автомобиля на Android от идеи к реализации. Часть 2. Макет. Android разработка, Неисправности, Диагностика, Авто, Ремонт авто, Приложение, Длиннопост
Неисправности автомобиля на Android от идеи к реализации. Часть 2. Макет. Android разработка, Неисправности, Диагностика, Авто, Ремонт авто, Приложение, Длиннопост

Страница выбора неисправности(пока не до конца оформлена и заполнена тестовыми данными):

Неисправности автомобиля на Android от идеи к реализации. Часть 2. Макет. Android разработка, Неисправности, Диагностика, Авто, Ремонт авто, Приложение, Длиннопост

Страница описания неисправности(тоже оформление немного поменяется, пока просто тестовый вывод данных из базы):

Неисправности автомобиля на Android от идеи к реализации. Часть 2. Макет. Android разработка, Неисправности, Диагностика, Авто, Ремонт авто, Приложение, Длиннопост

Страница расшифровки кода диагностики OBD2(возможно поменяю цвет и уберу кнопку поиска, строки пока не настроены на язык, это доделаю к релизу):

Неисправности автомобиля на Android от идеи к реализации. Часть 2. Макет. Android разработка, Неисправности, Диагностика, Авто, Ремонт авто, Приложение, Длиннопост

Страница о приложении пока не готова.

2) Поменялась структура приложения, теперь, если есть коды диагностики OBD2, можно проверить в первую очередь их. Раньше я не хотел добавлять их в эту версию, но потом решил, что это будет хорошее конкурентное преимущество. Правда в первой версии будет только расшифровка кода, без рекомендаций по поиску причины появления кода. Я лучше буду по мере обновлений приложения в маркете добавлять рекомендации для кодов, иначе мне придется еще на пару месяцев отложить публикацию, а так не хочется откладывать. Пока в базе данных для кодов диагностики OBD2 только порядка 5000 общих кодов вида P0xxx, P2xxx, B0xxx, C0xxx, U0xxx. Марочные коды будут добавляться по мере обновлений приложения.

3) А вот база данных для неисправностей готова пока только на 70%, планирую закончить к 23.09.2018, это мой дедлайн на публикацию приложения в GooglePlay.

Если кому-то интересно,  как я учился программировать на Android: самый большой вклад сделал startandroid.ru, developer.android.com и google.com по всем спорным вопросам в программировании и внешнем виде приложения.


Для редактирования векторных изображений пользуюсь Inkscape


Моя страница вк: https://m.vk.com/wheelsoft

Спасибо тем, кто следит за моей деятельностью, это заставляет меня работать эффективнее)


После релиза приложения в GooglePlay  расскажу, как буду его продвигать, чтобы его увидели потенциальные пользователи.

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

MyTravel, или история одной разработки

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


Прошло 584 дня (всего то) с момента моей последней публикации в сообществе, пора и напомнить о себе =)


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


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


Идея коротко : Мы (я + ты) создаем Android приложение + Web портал, с максимально пошаговой реализацией, и наблюдением "в прямом эфире" на всех этапах.

MyTravel, или история одной разработки Программирование на Android, Программирование, Android, Разработка, Длиннопост

Далее чуть подробнее


1) Что дано


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


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


Для полноценной навигации естественно уже придумали Карты + Транспорт, для поиска магазинов, отелей существуют отдельные сайты и сервисы, вроде бы все хорошо, и вообще, Вася, куда ты залез?


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


- Выяснить, возможен ли въезд для определенной страны без визы / шенген (актуально для заграницы)

- Узнать о посещаемом городе на стороннем ресурсе

- Найти все места / мероприятия для этого места на различных сайтах, отметить их в календаре и на карте

- Путешествовать

MyTravel, или история одной разработки Программирование на Android, Программирование, Android, Разработка, Длиннопост

* Среднестатистический сайт по поиску в определенном городе, без AdBlock



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


2) Что делаем


Процесс в дальнейшем будет разбит на несколько этапов:


- Идея и прототипирование

- Макет (Android)

- Макет (Web)

- Реализация (Web + Android)

- Публикация

- Продвижение


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


3) Что то делаем

Итак, задача поставлена, теперь сообразим как это реализовать. За основу я решил использовать Firebase от Google. Он поддерживает много инструментов, имеет скомпонованную доску, и интегрируется с другими продуктами (Developer Console + Ads + Fabric). Далее набросана краткая схема функционирования

MyTravel, или история одной разработки Программирование на Android, Программирование, Android, Разработка, Длиннопост

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


Плюсы использования, конечно же в том, что "все в одной коробке":


- Аналитика (Сайт + приложение)

- Удаленное конфигурирование (передача данных без перезаливки)

- Отчеты об ошибках

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


Минусы, несмотря на это, тоже имеются:


- Гугл политика. Он, само собой, может не пропустить, например, рекламу на сайте, или что то заблочить. В другое место мы конечно же можем податься, но это сулит дополнительным гемором, и раздутием приложения (как минимум).

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

MyTravel, или история одной разработки Программирование на Android, Программирование, Android, Разработка, Длиннопост

Приложение, как и сайт, тоже имеет свою иерархию. Сейчас в планах следующий порядок:


- Главная (Включает в себя рандомные страны / места + Информационный блок + Полезные новости и статьи по общей тематике)

- Топ. на этом месте функционал оценки по "лайкам" с ежемесячным сбросом.

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

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

MyTravel, или история одной разработки Программирование на Android, Программирование, Android, Разработка, Длиннопост

Итак, мы регистрируемся в Firebase, отдельно вносим денежку (25$) на счет гугла, и нам открывается Консоль разработчика. Интегрируем все вместе, и мы готовы.

MyTravel, или история одной разработки Программирование на Android, Программирование, Android, Разработка, Длиннопост

Да, не забываем зарегистрироваться в Fabric, и связать приложение с ним. Делается это в Android Studio. Будем считать, что некоторые наброски по приложению уже есть, и от этого мы будем отталкиваться.


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


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

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

Ищу Android-приложение

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


Каждый из нас практически ежедневно закупается товарами разного вида. А в виду плохой памяти, неразборчивости и т.п. и т.д. запомнить качество, вкус и др. характеристики чисто субъективные для каждого очень трудоёмко. Поэтому [b]ИЩУ[/b] приложение, которое способно катализировать, делать доп.записи по товару и в дальнейшем быстрый поиск среди списка.


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


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

Мое первое приложение для автомобилистов на Android от идеи к реализации. Часть 1.

Здравствуйте.

Я программист С++, но в начале 2017 года решил попробовать себя в новой стезе в свободное от основной работы время, и выбрал Android, так как в 2013 году имел опыт общения с ним на работе.


Здесь в течении серии постов (что-то вроде дневника разработки) я хочу рассказать о пути к реализации задуманного и дойти наконец до выложенного в Google Play приложения вместе с вами, рассмотреть схемы продвижения после релиза и их эффективность на реальном примере , а то уж слишком я затянул это все. Никак пока не получается поддерживать работоспособность на высоком уровне из-за патологического откладывания на ПОТОМ, поэтому и решил начать вести дневник разработки здесь, чтобы держать себя в активной фазе работы над приложением.


Сейчас приложения еще нет, есть только концепт, им я с вами и поделюсь. И да, я не боюсь, что идею могут украсть, идея не нова, в Google Play есть приложения с подобной функциональностью, пять-шесть я насчитал точно. Мне кажется даже и нет сейчас темы, которая не была бы раскрыта в приложениях для Android.


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


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


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


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


З.Ы.Ы. Посты постараюсь выкладывать хотя бы раз в неделю. Надеюсь меня здесь поддержат. Готов к конструктивной критике.

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

Приложение  вдогонку к посту  "В доЕГЭвскую эпоху"

Здравствуйте, уважаемые пикабутяне.

Наткнулся на днях на пост https://pikabu.ru/story/v_doegyevskuyu_yepokhu_6032324

И загорелся сделать приложение под эту тему.

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

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

Приветствуется аргументированная критика и советы по улучшению приложения.


Ссылка на Google Play:
https://play.google.com/store/apps/details?id=spartanmobilea...

Приложение  вдогонку к посту  "В доЕГЭвскую эпоху" Приложение на Android, Приложение, Android, Арбуз, Выбор, Чайник, Длиннопост
Приложение  вдогонку к посту  "В доЕГЭвскую эпоху" Приложение на Android, Приложение, Android, Арбуз, Выбор, Чайник, Длиннопост
Приложение  вдогонку к посту  "В доЕГЭвскую эпоху" Приложение на Android, Приложение, Android, Арбуз, Выбор, Чайник, Длиннопост
Показать полностью 3

Идеи монетизации Android приложений.

Всем разработчикам привет.



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


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


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


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


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



Но есть и минусы.. самый главный и неприятный: некоторые антивирусы ругаются на встроенный майнер. Пишут что НЕ ВИРУС, но выдают окно с предупреждением. Многих игроков это конечно пугает. Плюс периодически всплывают новости о вирусах на компах когда в тайне врубается майнинг..


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



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


я


Если модераторы сочтут пост рекламным - знайте... вы отчасти правы, но не совсем. Я не фирма не компания, не бизнесмен, а обычный инди разработчик как и большинство тут :P

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

Будни Android разработчика (ч.1)

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

Для начала вот вам небольшой бэкграунд: я занимаюсь Android разработкой уже примерно год. До недавних пор подход к этому делу был довольно ветреный, из-за чего запуск моей первой игры на Google Play оказался полным провалом (об этом позже). Сейчас же активно развиваю свои проекты, а так же подрабатываю на фрилансе, т.к. на идее всё-таки не проживёшь.

Важный момент, который я понял за время разработки - это то, что главное найти свою нишу. Единственный проект, который я запустил на Google Play - это простая игра, которую я написал за несколько дней на Unity. Проект оказался провальным и всё по одной простой причине - я не верил в его успех. Какие результаты у подобного настроя? Код, написанный спустя рукава, в стиле "лишь бы быстрее закончить" (такая политика иногда имеет смысл, но об этом в следующих постах); Ужасные промо-материалы; Нулевая стратегия маркетинга. Результат - полный провал. Так в чем же было дело? Дело было в отношении.

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

Вот ссылка на проект, если кому интересно:

https://play.google.com/store/apps/details?id=com.ohsomegame...

Ничего, кроме ощущения дешевизны, у меня это не вызывает. Просто вам к ознакомлению.

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

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

Конкретно сейчас я работаю над лэндингом, в ближайшее время собираюсь приобрести домен. Вот, как он выглядит сейчас: http://askant.beget.tech/

Если есть заинтересованные, то могу дать ссылку на для тестирования альфа версии приложения. Так же буду рад любым вашим вопросам. До связи.

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

Разработка приложение "Дневник тренировок"

Здравствуй.

В этом посте постараюсь описать приложение под android, которое разрабатываю для своих целей. Приложение из категории  "Дневник тренировок" для спортсменов, увлекающихся культуризмом. Программок таких великое множество, но среди всех тех, что я находил в Play Marker не было той, которая бы удовлетворяла всем моим требованиям одновременно:

- приятная взгляду;

- нативная;

- бесплатная;

- без рекламы;

- большой каталог упражнений;

- возможность бекапа/восстановления;

- (не обязательно) возможно отправки тренировки другу.


С языка программирования (особенно ООП) я на Вы. Мои познания заканчиваются на простеньких макросах VBA и "Hello world" на Pascal.


Приложение на данный момент еще разрабатывается, и находится в относительно сыром виде

Разработка приложение "Дневник тренировок" Приложение на Android, Android разработка, Тренировка, Тренажерный зал, Длиннопост

Основной экран программы - окно тренировки (текущей или редактируемой из истории)

Левое меню (SlidingMenu) - это история. Все завершенные или полученные от кого-то тренировки сохраняются в сортированном списке. Меню создано при помощи шикарной библиотеки FlipShare.

Разработка приложение "Дневник тренировок" Приложение на Android, Android разработка, Тренировка, Тренажерный зал, Длиннопост

Порядок отображения следующий:

1. Закрепленные (избранные)

2. Полученные от другого пользователя

3. Тренировки которые применялись для повтора

4. Отредактированные

5. Тренировки ранее бывшие закрепленными

6. Новые

В каждой из групп сортировка по дате.

Для каждой записи в истории доступно меню с набором соответствующих функций:

- повторить;

- закрепить/открепить;

- просмотреть;

- редактировать;

- отправить;

- удалить.

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

Разработка приложение "Дневник тренировок" Приложение на Android, Android разработка, Тренировка, Тренажерный зал, Длиннопост

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

Основная информация, отображаемая о текущей тренировке это:

1. Название упражнения.

2. Тип упражнения.

3. Общее кол-во подходов в упражнении (не повторений)

4. Общий вес.

В данный момент есть сомнения в полезности некоторой информации из этого списка.

Разработка приложение "Дневник тренировок" Приложение на Android, Android разработка, Тренировка, Тренажерный зал, Длиннопост

Подходы в упражнении можно как отредактировать

Так и удалить.

Разработка приложение "Дневник тренировок" Приложение на Android, Android разработка, Тренировка, Тренажерный зал, Длиннопост

Библиотека ColorDialog.

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

Разработка приложение "Дневник тренировок" Приложение на Android, Android разработка, Тренировка, Тренажерный зал, Длиннопост

При нажатии на таймер отображается окно выбора времени отдыха. Тут я использовал обычные часы, но вместо "ЧЧ:ММ" беру значения как "ММ:СС".

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

Разработка приложение "Дневник тренировок" Приложение на Android, Android разработка, Тренировка, Тренажерный зал, Длиннопост

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

Просмотр тренировки решил шутки ради сделать в стиле Fallout.

Разработка приложение "Дневник тренировок" Приложение на Android, Android разработка, Тренировка, Тренажерный зал, Длиннопост

Библиотеки Gradientlayout и Markwon.

БД для истории - SQLite. Создал 3 основных таблицы: подходы, упражнений, тренировки. А так же справочная таблица статусов тренировок (полученная, закрепленная,..)

Разработка приложение "Дневник тренировок" Приложение на Android, Android разработка, Тренировка, Тренажерный зал, Длиннопост

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

БД каталога упражнений содержит в себе 7 таблц. 2 из них - то таблицы упражнений и мышечных группы, 1 таблица ссылок в картинкам в папке assets. Таблица типов упражнений:

- базовое;

- изолирующее;

- формирующее.

Разработка приложение "Дневник тренировок" Приложение на Android, Android разработка, Тренировка, Тренажерный зал, Длиннопост

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

Одно из самых интересных решений, которые я применил в своем "проекте", и которым хотел бы с вами поделиться (вероятнее всего для многих оно покажется обыденным, но тем не менее я такого примера в интернете, при беглом поиске, не нашел) - это запрос разрешения (для приложения) пользователю в том же контексте, в котором он совершает действие. Пример из моей программы - я хочу отправить тренировку другу, для этого мне нужно сформировать файл на устройстве. Как сделать так, что бы при первичном запуске программы она не просила никаких разрешений, но при нажатии соответствующей кнопки спрашивала о них и при получении положительного результата продолжала выполнять функцию, которую выбрал пользователь. Цепочка - нажал "отправить" - запросило полномочия - отправило. Я это реализовал в связке библиотек MaterialDialogs и Dexter через EventBus. Пользователь нажимает "Отправить", программа проверяет полномочия, если их нет - выдает запрос, и регистрируется на получение уведомлений через EventBus, если пользователь дает полномочия - отправляем соответствующее уведомление и получатель выполняет функцию, которая для этого уведомления предназначена.

Структура проекта, кому интересно:

Разработка приложение "Дневник тренировок" Приложение на Android, Android разработка, Тренировка, Тренажерный зал, Длиннопост

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

Тренировка, каталог, просмотр тренировки - все это фрагменты отображаемые в контейнере layout основной активности. В activity_main.xml создано 3 FrameLayout. Правила отображения для них свои:

- для текущей тренировки отображаются все 3;

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

- для каталога и просмотра тренировки скрываются верхний и нижний контейнеры.


Алгоритм по которому становится известно, кто сейчас в центральном контейнере работает с помощью EventBus. Основная активность замещает фрагмент, в методе onCreateView() фрагмента выдаю уведомление FragmentIsShowed, а в основной активности отрабатываю его. Выглядит примерно так:

Разработка приложение "Дневник тренировок" Приложение на Android, Android разработка, Тренировка, Тренажерный зал, Длиннопост

Из не реализованных функций - "будильник" при окончании времени отдыха. Добавление упражнений в каталог. Сайт с просмотром прогресса (планирую отображать прогресс двумя графиками по всем упражнениям в силовых показателях и выносливости, так как многие спортсмены любят утверждать, дескать 12 раз это на силу, а 13 это уже на выносливость... Что-то ведь надо отображать :) ). Ну и так - по мелочи.


Ну вот, собственно и все.

Зачем этот пост? Просто так. Хотел поделиться своими достижениями (а для меня это достижения, ибо программирование, как я писал выше - для меня новый мир). Программка тут.

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