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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Android Developers

63 поста 1.8K подписчик

Правила сообщества

Давайте адекватно относиться к тематике сообщества. Посты, не удовлетворяющие требованиям канала, будут отклоняться. Разработка под Android - это не только описание того, что надо сделать

(освоить Java / покормить кота / установить студию), но и реальные примеры того, что Вы описываете.

Классная программа, можете скинуть исходник?)

клёвый пост! автор, держи в курсе )

тоже жду приложения, понравилось, ссылочку пожалуйста для скачивания)

Прикольное приложение только не понял зачем библиотека для часов если в сдк такие же часы для версий > 5

Например, есть значение 23:59. Изначально это 23 часа и 59 минут. А ты записываешь это как как 23 минуты 59 секунд? Или я чего-то не понял? Это, конечно, смекалочка и всё такое, но не укладывается у меня в голове как можно намеренно хранить и использовать неправильные значения. Точнее, значения-то правильные — неправильно интерпретируются.

Фон в галерее мышц не стоит делать таким же как картинки на этом фоне. Тотальный вырвиглаз. Лично я бы не стал там вообще заморачиваться с каруселью, а сделал простые кнопки обычной сеткой в два столбца и вертикальной прокруткой. Больше информации на виду, быстрее выбор.

Приложение установилось, но вылетает при запуске. Meizu M3s

Много библиотек. Используй нативные возможности ведра:

Dexter - requestPermissions (>=Marshmallow)

P.S. понимаю, что для себя, но я не увидел навигацию в toolbar (и его самого кстати тоже), имхо, непонятно, где нахожусь:

P.P.S Не удалось установить. Используй версию сигнатур V1 (Jar) при генерировании apk

Комментарий для тех, кто, возможно, сюда заглянет.

Сторонние библиотеки, писали ранее - лучше использовать как можно меньше. Основной аргумент был в избыточном кол-ве методов и пагубном влиянии на итоговый размер приложения. Сейчас общий "вес" - 13.5 MB. Из них 8.5 MB приходится на папку assets, где, на данный момент лежат не обработанные, еще пока, фотографии для каталога упражнений. Папка res, где находится большое кол-во иконок в высоком разрешении (которые в релизной версии планируется заменить на более низкого качества не в ущерб внешнему виду, но в пользу уменьшения размера приложения) - 2.3 MB суммарно. Оставшееся место

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

Но проблема проявилась в другом - приложение перестало запускаться при первичной установке (я тестировал запуск из AS и было все OK). Оказалось использование большого кол-ва одинаковых зависимостей стало причиной возникновения ошибки с описанием как "Unable to instantiate application android.support.multidex.MultiDexApplication". Решение я выбрал как самое простое для себя это - добавление в конфиг Gradle следующей строчки "multiDexEnabled true". Но правильным вариантом будет исключить в конфиге все избыточные зависимости из сторонних бибилотек, а вот это уже влечет за собой реальную кучу гемора.

ЖИМ ЛЕЖА ИЛИ ОТЖИМАНИЯ? ЧТО ГОВОРИТ НАУКА?

По сравнению с жимом лежа, отжимания часто рассматриваются как менее эффективная альтернатива. В конце концов, жим лежа - это хардкор, а отжимания только для людей, не имеющих доступа в спортзал, верно? Не-а. Неверно!

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

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

Исследование

23 атлета среднего уровня подготовки разделили на две группы - группу жима лёжа и группу отжиманий. Обе группы выполняли три тренировки в неделю в течение месяца. Каждая тренировка состояла из 3 рабочих подходов по 6-8 повторений.

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

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

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

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

Что выяснили исследователи?

Через 4 недели учёные изменили толщину мышц груди, результативность метания медбола во взрывной манере и 1 повторный максимум (1ПМ) в жиме лёжа. Также обе группы прошли тест на отжимания.

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

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

Если брать среднюю величину общего роста, то группа отжиманий набрала 4% мышечных объёмов против 1,2% у группы жима лёжа. В три раза больше! Возможно, если бы исследование длилось дольше, то разрыв бы увеличился ещё больше в пользу группы отжиманий.

В чём здесь ошибка?

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

Ну, может, подтягивания, и то вряд ли.

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

10 ошибок в отжиманиях

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

Что со всем этим делать?

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

Если вы по какой-то причине не можете посещать зал, вас достали привычные упражнения, и вы не собираетесь участвовать в чемпионате по жиму лёжа - то обратите внимание на отжимания. Они столь же эффективны! Просто помните, что для эффективности отжимания нужно усложнять.

поднимайте руки или ноги на возвышения во время отжиманий;

отжимайтесь с изменением ширины постановки рук;

сделайте отжимания односторонними: используйте только одну руку, практикуете отжимания лучника;

увеличьте нагрузку: используйте цепи, фитнес-ленты, или партнёра, который ляжет вам на спину;

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

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

Супергеройское приземление

Не мог долго освоить этот элемент. Казалось бы, что ничего сложного - обычное заднее сальто. Но на самом деле , добавляешь какой-то нюанс - и элемент получается совсем иным. Элементарно - делаешь мах руками снизу, а не сверху - и уже начинаешь тупить. А когда думаешь, как там ноги иначе поставить - сразу теряешься и как мешок с картошкой втыкаешься башкой в пол. Этот элемент я задумал выполнить ещё на Чемпионате России по бодибилдингу в октябре, где выступал в категории Фитнес. Но там я его запорол. И вот только сейчас начало уверенно получаться.

ГДЕ МОИ КУБИКИ, ИЛИ 5 ОШИБОК ТРЕНИРОВКИ ПРЕССА

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

Ошибка тренировки пресса 1. Вера в то, что качая мышцы живота можно похудеть.

И именно поэтому любители «быстрых результатов» и «весеннего экспресс — фитнеса» как сумасшедшие набрасываются на тренажеры для скручиваний, поворотов и подъемов корпуса, едва успев зайти в зал: а как же, изголодались по фитнесу, за зиму-то. Съеденные плюшки и выпитое пиво требуют решительных действий!

Факт: ни одно упражнение в мире не заставит ваш организм сжигать жир именно в тренируемой зоне. Любые упражнения всего лишь создают определенные энергозатраты, заставляя ваше тело сжигать дополнительные калории. Чем тяжелее упражнение, тем больше расход энергии. С этой точки зрения, 1 подход приседаний с собственным весом будет гораздо эффективнее «убирать» живот, чем два или даже три подхода на пресс! (при условии правильного питания!)

Ошибка тренировки пресса 2. Выполнение упражнений на «низ пресса», «верх пресса» и «первый кубик справа во втором ряду сверху».

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

Да, подъемы корпуса в чуть большей степени загружают «верхние кубики», а подъемы ног – «нижние», и тем не менее, пресс всегда работает целиком, поэтому в выполнении 5-7 разных упражнений на одной тренировке просто нет смысла.

Ошибка тренировки пресса 3. Убежденность в том, что пресс нужно качать с большим числом повторений

Исходя из этого, многие считают, что выполнять меньше 30 повторений в подходе – просто бесполезно.

Факт: на самом деле, имеет значение не количество повторений, а время нахождения под нагрузкой. Для того, чтобы сделать «кубики» выпуклыми, идеальный режим 15-25 повторений до отказа или сильного жжения. Обычно, это соответствует 30-50 секундам непрерывной нагрузки.

Техника выполнения скручивания на пресс на полу

Уверенность в необходимости многих десятков и сотен повторений на пресс во многом еще основывается на вере в «жиросжигающие свойства» такого тренинга. Но мы в п.1 уже выяснили, что это не так.

Ошибка тренировки пресса 4 | Подъем прямых ног и подъемы прямого корпуса на наклонной скамье

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

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

Ошибка тренировки пресса 5 | Сильный пресс = плоский живот.

Факт: каким бы сильным ни был пресс, если над ним толстый слой шоколада жира, плоским живот не будет!

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

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

Дело в том, что за втягивание живота отвечает совершенно другая мышца: т.н., поперечная мышца живота, а вовсе не пресс! Поэтому, для эффекта впалого живота и уменьшения талии тренировать нужно прежде всего ее. Хорошо для этого подходит упражнение «вакуум» (втягивание живота в разных положениях на задержке дыхания).

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

ОБРАТНЫЕ ШРАГИ | ЗАБЫТОЕ ВСЕМИ УПРАЖНЕНИЕ

Обратные шраги или как их еще называют, тяга Хейни – это редкое но очень эффективное упражнение для развития заднего пучка дельт. Называется оно так потому что его придумал 8 кратный мистер Олимпия Ли Хейни. Упражнение является базовым т.к. включает в работу плечевой и локтевой сустав.

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

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

1.Держать локти как можно ближе друг к другу. Когда вы тянете штангу, локти должны смотреть вверх, а не в стороны.

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

Техника выполнения

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

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

1.Встаньте спиной к грифу, возьмитесь за штангу хватом на ширине плеч.

2.Потяните локти вверх как можно выше, но до такого уровня пока ваши плечи не начнут подниматься вслед за локтями. Высота подъёма штанги до уровня поясницы.

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

Рекомендации

Это упражнение можно выполнять как в день спины самым последним упражнением, так и в день тренировки плеч. Работайте с приличными весами в силовом диапазоне на 6-10 повторений, периодически устраивая своим трапециям встряску в виде прокачки их супер-сетами.

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

Как начать и не бросить

Я про спорт, но, думаю, это работает не только в нем.

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

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

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

Я — тренер и видел много всего. Но знаете, чего не видел? 6 кубиков за 1 месяц с не лучшими исходными данными. Люди ставят себе недостижимую цель и разочаровываются в тренинге и спорте, не достигнув ее.

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

Фитнес-индустрия прекрасно знает, что большая часть зрителей благополучно пропустила все адекватные периоды для подготовки своего бренного к лету и находятся в уязвимом и крайне нетерпеливом состоянии. Поэтому рассказы про «он инвестировал 3 года жизни, чтобы приблизиться к телу фитнес модели» не интересны начинающим.

Банеры пестрят быстрыми результатами «-20 кг за 2 месяца», не уточняя при этом 20 кг чего.У каждого свой темп и свои цели, которые нужно формировать не на основе чужих результатов, а на основе своего образа жизни и тех возможностей, которыми ты обладаешь. Именно поэтому курсы про «6 кубиков», чаще не приносят результатов. Они не учитывают именно ваши стартовые условия и темп.

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

Кто-то начинает менять кровать на наклонную скамью, а перед сном повторяет аффирмацию, что «без боли нет результата», а потом молится о мышечной боли, чтобы понимать, что все старания не в пустую. Самое страшное то, что у кого-то получается, формируя представление, что это единственно верный путь.

Я с подопечными всегда выбираю удобный им темп. У меня есть те, кто занимается 2 раза в неделю дома с гантелями. Есть те, кто занимается 4 раза в зале с заметным силовым объемом. Каждому свой ритм, главное чтобы он был подходящим. Какое количество занятий спортом в неделю тебе удобны? Будет это по началу одна тренировка — ок. 2 — хорошо. 3 — еще лучше.

Считается, что 9 подходов на мышечную группу в неделю — оптимальное количество рабочего объема для прогресса. 2 тренировки, 4 большие мышечные группы, по 4-5 подходов на каждую МГ за тренировку. Много? Ок, введи приоритет — 4-5 подходов на отстающие мышцы, 2-3 на преобладающие. Все равно много? делай по 3 подхода на МГ за тренировку, 6 в неделю — этого тоже достаточно для роста новичка. Появятся изменения в зеркале и приоритеты поменяются и тренировкам начнет уделяться чуть больше времени.

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

Люди, дисциплинированные в своих делах, тоже пропускают тренировки по необъективным и надуманным причинам. И совершенно не последовательны в вопросах еды. Дисциплина — это набор отработанных привычек и навыков которые, выполняя по шаблону, приводят тебя к одному и тому же ожидаемому результату.

Для многих оправданием служит то, что в будни тренироваться не получается, только в выходные. Две тренировки подряд делать нельзя — недовосстановление. А одна тренировка в неделю… Разве от нее есть польза и смысл? «Это недостаточно дисциплинированно, чтобы из этого получился результат» думаешь ты.

Две тренировки подряд на выходных — это лучше, чем ничего!

Даже одна тренировка в неделю лучше, чем ее отсутствие. Загоревшееся желание — вот что стоит ожидать на таком уровне тренировок, а не того, что твои банки разнесет за две с половиной недели. Первые тренировки должны показать, чтО ты можешь, и побудить двигаться дальше. На каждый уровень есть своя объективная цель.

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

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

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

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

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

Статья получилась больше мотивационной чем практической, поэтому я буду рад вашим вопросам в комментариях или в ТГ канале. Помните «Все что вам нужно, чтобы начать, у вас уже есть! Начните!»

Пикабу, а ты не лопнешь?

Последние пару дней жутко тупит приложение Пикабу на телефоне. При выгрузке его из памяти, освобождаются 743 Мб оперативной памяти. В связи с этим вопрос: уважаемые разработчики мобильного клиента, это баг или теперь всегда будет так?

Записки диагноста-теоретика. Пишу ПО для автодиагностики на Android. Часть 1. Чтение и сброс ошибок

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

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

В конце ноября выпустил версию с чтением кодов ошибок с расшифровкой и их сбросом через Elm327 по Bluetooth. Но проверить в реальных условиях на большом спектре автомобилей не получилось, в итоге чтение ошибок оказалось работающим только для некоторых автомобилей. В основном только для тех, где протокол диагностики CAN (и то с лишними кодами C0300 C0700, которые в действительности отсутствовали в ЭБУ (моя оплошность, признаю)). Остальные читаться отказывались.

Но сегодня я выпустил новую версию, где реализовал поиск протокола подключения к блоку управления двигателем среди заданных 25, собранных из сотен вариантов строк инициализации для Elm327, которые удалось найти в интернете. Теперь "подключаемость" к ЭБУ должна быть намного выше.

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

Сейчас я собираю информацию о том, работает ли новый алгоритм поиска протокола подключения в реальных условиях на автомобилях с нестандартными протоколами подключения, чтобы продолжать улучшать приложение. Поэтому мне нужна помощь автомобилистов - чтобы те, у кого протокол не нашелся, сообщили мне марку, модель и год выпуска автомобиля (по почте [email protected] или в комментариях к посту). А те, у кого протокол нашелся указали в ответе дополнительно номер протокола из строки "Подключение установлено. (Протокол . )" и удалось ли считать ошибки. Заранее спасибо!

Промокоды на ПРО-версию (без нее тоже можно читать и сбрасывать ошибки, просто с ней это будет без рекламы):

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

Если будут проблемы с активацией промокодов пишите на почту [email protected]

Разработка живых обоев для Android

Всех приветствую. Решился я наконец рассказть о своём маленьком проектике.

Все началось примерно в 2014 году, когда я приобрел себе HTC one X. Этот аппарат был идеальным для меня, и начиная с того момента я стал фанатом HTC. В этом аппарате были интересные живые обои в силе слайд-шоу, всё в них было хорошо, но были некоторые ньюансы, например нельзя запускать смену изображения ручками, например через двойной тап по экрану, а этого очень хотелось. Картинки перемещались не только в одну (рандомную) сторону - к примеру.

И вот захотелось мне найти замену, которая меня бы удовлетворяла больше. Перелопачивая всё, что было на плей-мараркете найти что-то стоящее не удавалось. То работает рывками, то весит дофига, то свайпов нет, то растягивает изображение. Нашлось только ОДНО приложение платное, которое более-менее выполняло то, что мне хотелось, но тут сыграл роль мой перфекционизм, который никак не давай покоя: Зачем делать экраны настроек, интерфейс приложения каким-то цветастым-пердястым, почему вообще приложение платное, ведь ничего сверх естественного оно не делает. И так было много мелких причин, которые вылились в "не нравится? - сделай сам!". Ок, попробуем.

Для себя я поставил несколько целей:

1. Минимализм в весе приложения, - ибо почему приложение весит >10Мб? Чего там такого?

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

3. Обязательно использовать OpenGL 2.0 (ну и выше соответственно)! Только так можно добиться максимальной плавности и производительности.

4. Картинки прокручиваются влево-вправо и свайпом.

5. Двойной тап по экрану меняет изображение.

В процессе разработки удалось добиться всего что хотелось и даже больше:

1. Вес приложения 117кб. из них 70кб весит дефолтная картинка!

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

2. Приложению ВООБЩЕ не нужны разрешения!

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

3. Можно выбрать как каталог из которого будут браться файлы, так и отдельно выбрать файл/файлы.

4. Удалось заставить воспроизводить видео-файлы!

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

И при этом откуда у них столько скачиваний? Ума не приложу.

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

📎📎📎📎📎📎📎📎📎📎