Как написать программу ежедневник

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags

Nothing to show

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Cancel Create

  • Local
  • Codespaces

HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

ПИШЕМ ПРИЛОЖЕНИЕ СПИСОК ДЕЛ НА C# WPF ОТ НАЧАЛА ДО КОНЦА | DATAGRID | JSON ПАРСИНГ РАБОТА С ФАЙЛАМИ

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

Latest commit message
Commit time

README.md

Приложение-ежедневник с отображением и добавлением дел.

Приложение содержит два экрана
-для выбора даты и отображения дел в виде блоков
-для добавления дела

Для локального хранения используется бд Realm.

Скрины приложения

About

Приложение-ежедневник с отображением и добавлением дел. Для локального хранения использует бд Realm.

Источник: github.com

Live guide по созданию приложения на Java

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

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

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

Как вести ежедневник просто и удобно в 2023. Ежедневник в точку для минималистов

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

Читайте также:
Как написать программу для проверки таблицы умножения

С чего начать?

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

Поэтому я решил немного поменять подход. Теперь я руководствуюсь четырьмя пунктами:

  1. Формулируем цели и понимаем, что нужно на начальном этапе.
    Например, я хочу написать программу-ежедневник. Я хочу, чтобы у меня была полноценное приложение с графикой, а не просто консольное нечто, поэтому мне точно понадобятся всякие окна, панели, кнопки и т.д.
  2. Продвигаемся к цели методом проб и ошибок. Например, я хочу создать окно. Ищу в интернете необходимую библиотеку, подключаю ее, создаю это окно.
    После этого вспоминаем работу с окнами в Windows/Linux и пытаемся сделать это через код. Условно, установить определенный размер и запретить его изменение.
  3. Включаем свою любознательность. Пытаемся переставлять строки местами, менять параметры и запускать после этого программу, подмечать, что поменялось
  4. Пишем комментарии к коду. Вот прям обязательно. Долгое время сам не использовал комментарии, но с ними гораздо удобнее: можно сэкономить много времени, не спрашивая «что здесь вообще происходит», ну и просто немного разгрузить мозг, освободив его «оперативку», записав мысль словами

Первый шаг — Окна

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

Тем не менее, еще до того, как я дошел до окон, у меня возник вопрос: можно ли создавать несколько классов внутри одного файла? Не по принципу матрешки (класс в главном классе).
Оказалось, что да.

Основной класс, в котором также содержится main, должен иметь такое же название, как и имя файла. Насколько я понимаю, обычно приложение состоит из многих файлов, поэтому основной класс должен быть открыт для доступа из других фалов, то есть иметь тип public. Остальные же классы создаются без public и private перед ключевым словом class и доступны они только в том файле, в котором их объявили.

Так вот, можно, наконец, перейти к окнам.

Окно в Java обозначается как JFrame. Если переводить на русский, то получится что-то типа «java — окно». Находится окно в библиотеке javax.swing.

Код по созданию нового окна выглядит примерно так:

import javax.swing.JFrame; public class Car < public void main(String[] arg) < JFrame new_frame = new JFrame(«name of frame»); >> class Bicycle

Что мне очень нравится в Java, так это понятные названия методов. Например, догадайтесь, что делают следующие методы?:

import javax.swing.*; import java.awt.*; public class MainWindow < public static void main(String[] args) < Dimension size = Toolkit.getDefaultToolkit().getScreenSize(); JFrame main_frame = new JFrame(«new window»); main_frame.setVisible(true); int frame_width = 500, frame_height = 300; main_frame.setBounds((size.width — frame_width) /2, (size.height — frame_height)/2, frame_width, frame_height); main_frame.setResizable(false); >>

А вот тот же код с пояснениями:

import javax.swing.*;//* импортирует все объекты, которые есть в библиотеке import java.awt.*;//нужна для того, чтобы было можно узнать размер экрана public class MainWindow < public static void main(String[] args) < Dimension size = Toolkit.getDefaultToolkit().getScreenSize(); /*узнаем размер экрана, возвращает пару значений длина-ширина*/ JFrame main_frame = new JFrame(«new window»); //новое окно с заголовком «new window» main_frame.setVisible(true); //метод позволяет визуализировать окно (если флаг true) int frame_width = 500, frame_height = 300; //задаем исходные размеры нашего окна main_frame.setBounds((size.width — frame_width) /2, (size.height — frame_height)/2, frame_width, frame_height); /*задает положение окна на экране первые два параметра отвечают за расположение окна по горизонтали и вертикали, а вторые за размеры самого окна*/ main_frame.setResizable(false); /*метод фиксирует размер окна, то есть блокирует изменение его размера*/ >>

Читайте также:
Примеры простых программ visual basic

На сегодня это все. Получилось не так много, но, надеюсь, информативно.

Всем желания кодить и хороших компиляторов.

  • java
  • приложения для android

Источник: habr.com

Разработка мобильного приложения для управления личным временем и бюджетом «Ежедневник»

Разработка мобильного приложения для управления личным временем и бюджетом «Ежедневник» / Е. В. Грива, И. Н. Буторина, Л. Р. Валиев [и др.]. — Текст : непосредственный // Молодой ученый. — 2021. — № 11 (353). — С. 12-15. — URL: https://moluch.ru/archive/353/79079/ (дата обращения: 02.07.2023).

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

Ключевые слова: мобильное приложение, iOS, Swift, управление временем, API, Python.

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

Мобильное приложение разрабатывается на языке программирования Swift 5.3, с использованием облачного сервиса Google Firebase для аутентификации и регистрации пользователей, СУБД PostgreSQL [1] и API для взаимодействия с базой данных, разработанное на языке программирования Python с использованием библиотеки Jango [2]. За моделирование и рекомендации в области личного бюджета и помощи в управлении временем отвечает технология TenserFlow.

Все функции управления личным временем и достижения целей основана на методиках А. Парабеллума “Успей все” [3], а также методике Н. Мрочковского и А. Толкачева под названием “Экстремальный тайм-менеджмент” [4]. Эти методики прошли проверку временем и получили много премий и рекомендаций от известных людей в сфере бизнеса, управления и коучинга, а также были испытаны авторами этой статьи.

Функционал управления личным бюджетом основан на методике «Психологические ловушки денег» [5], Гэри Бельски и Томаса Гиловича, методика, описанная в их книге, является признанной и также рекомендуется многими успешными людьми.

У пользователя в приложении есть много доступных функций. Первой важной функцией является создание расписания надень и трех главных задач дня. Эта функция помогает пользователю составлять график на весь день и отслеживать приоритетные задачи.

Через некоторое время использования приложения, обучившаяся нейронная сеть начнет предлагать пользователю более оптимальное время выполнения задач и предлагать вернее расставить приоритеты на главные задачи [6]. Так, если пользователь часто ставит задания с большим приоритетом на конец дня, то система может предложить правильно оптимизировать время, добавляя более короткие задачи в начало дня или разбавляя несколько тяжелых задач более маленькими. Так же нейронная сеть умеет понимать какие задачи пользователь часто вносит в свой график и какие задачи часто не выполняет, если пользователь не смог выполнить большое задание, то нейронная сеть предложит перенести его в раздел “Зачистить хвосты” где скапливаются пропущенные задачи за месяц.

Читайте также:
Как называется программа на Андроид

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

При регистрации пользователю предлагается заполнить колесо жизненного баланса. Колесо жизненного баланса состоит из 8 категорий, которые могут быть оценены по шкале от 0 до 10. Это самостоятельная оценка пользователем различных отраслей жизни, таких как: здоровье, карьера, отношения и т. д. После регистрации пользователь может заполнить цели и задачи по каждой категории, в любой момент он может скорректировать оценку, но по истечению двух месяцев система предложит пересмотреть оценки и укажет, по каким сферам был достигнут наименьший прогресс. Примеры интерфейса представлены на рисунке 1.

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

Экраны текущего дня и результатов дня

Рис. 1. Экраны текущего дня и результатов дня

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

1. Парабеллум А. А. Ежедневник. Успеть все. — М.: АСТ, 2017. — 480 с.

2. Мрочковский Н. Экстремальный тайм-менеджмент / Мрочковский Н., Толкачев А. — М.: Альпина Паблишерз, 2019. — 228 с.

3. Мартин Роберт. Чистая архитектура. Искусство разработки программного обеспечения: пер. с англ. — СПб.: Питер, 2018. — 352 с.

4. Сенченко П. В. Организация баз данных: учеб. пособие. — Томск: ФДО, ТУСУР, 2015. — 170 с.

5. Бельски Г. Психологические ловушки денег: Почему умные люди не умеют управлять своими деньгами — и как это исправить / Гэри Бельски, Томас Гилович; Пер. с англ. — М.: Альпина Паблишерз, 2010. — 188 с.

6. Грива, Е. В. Разработка чат-бота Volunteurio для организации и управления волонтерскими проектами / Е. В. Грива. — Текст: непосредственный // Молодой ученый. — 2020. — № 24 (314). — С. 2–5. — URL: https://moluch.ru/archive/314/71810/ (дата обращения: 02.03.2021).

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

Источник: moluch.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru