Гибридные мобильные приложения. Часть 3: работа с данными в Parse

Дата публикации:

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

Примеры исходного кода можно найти на GitHub:

https://github.com/c3gdlk/ionic_parse_todo

“Привычка – это либо лучшая из служанок, либо худшая из хозяек.” — Натаниэль Эммонс

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

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

  1. Список всех вредных привычек. При нажатии на выбранную позицию перед нами откроется ее журнал.
  2. Список всех фейлов с отображением текста заметки, даты и привязкой к одной из вредных привычек.

Начнем с изменений на стороне сервера — создаем новые таблицы в Parse.

Нам требуется список вредных привычек (в качестве главной страницы) и таблица фейлов (как дочерняя страница).

Добавляем класс Habit с полями:

  • Title — название привычки.
  • User — идентификатор пользователя, ссылка на запись в таблице User. Для того чтобы создать ссылку на объект, нам нужно выбрать тип нового поля “Pointer” и в появившемся выпадающем списке — класс _User. Нижнее подчеркивание обозначает, что это один из предопределенных классов.

Добавляем класс HabitFailure

  • body — текст заметки о фейле;
  • user — идентификатор пользователя, ссылка на таблицу User;
  • habit — идентификатор привычки, ссылка на таблицу Habit.

Следующий шаг изменения в самом приложении. Добавляем новые маршруты в js/router.js

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

templates/views.html

js/controllers.js

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

js/habits/habits_controller.js

Пояснения к коду контроллера

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

Для получения и изменения свойств любой записи мы используем геттеры и сеттеры.  Выбранный способ реализации не предоставляет нам возможность привязать атрибуты к ng-model.

Для устранения этой проблемы добавляем в объект два новых поля:

  • bad — флаг вредной привычки (к отмеченным таким образом привычкам мы сможем добавлять заметки о фейлах);
  • reason — заметка о фейле.

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

Если нам потребуется отобразить текст о привычке при отображении фейла, мы делаем query.include(«habit»)

Когда все данные получены — обновляем интерфейс

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

Создаем шаблон для новой страницы/экрана templates/habits.html

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

Подводим итоги. Мы объявили еще одну верхнюю панель с классом bar-subheder. Для главного контейнера также определен класс bar-subheader. Фильтр formattedDate используется для того чтобы отобразить дату в удобочитаемом формате. С его кодом вы можете ознакомиться в репозитории нашего учебного проекта. Там же располагается код контроллеров создания новой привычки и отображения выбранной привычки. Он достаточно тривиален. Поэтому мы не станем тратить ваше время на описание его особенностей. Продолжение следует.

Мы Крым Диджитал

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

Подпишись
на наши новости

Контакты пресс-службы

+ 7 (926) 118-80-32

WhatsApp, Viber, Telegram

Давайте обсудим Ваш проект

или свяжитесь с нами по почте projects@crimeadigital.ru

Нажимая кнопку «Отправить», вы даете согласие на обработку персональных данных

Заполните форму или свяжитесь
удобным для Вас способом

Контакты

г. Севастополь, ул. Руднева, д.41, 4 этаж технопарк ИТ-Крым +7 978 679-76-353 agro@crimeadigital.ru

Социальные сети

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

Крым Диджитал приняла участие в стратегической сессии

Руководители Крым Диджитал приняли участие в стратегической сессии, которая прошла на базе СевГУ 10 июня. Вместе с Правительством Севастополя, Институтом информационных технологий и управления в технических системах СевГУ и приглашенными ИТ-компаниями города обсудили перспективу развития системы высшего образования в Севастополе.Представители бизнеса, власти и образовательной системы выступали со своим видением будущих потребностей региона в кадрах, поднимали насущные вопросы обучения студентов, прохождения практики и дальнейшего трудоустройства. Крым Диджитал является амбассадором идеи образования и взращивания молодых кадров, развивает образовательные проекты и на протяжении 5 последних лет ведет активную работу в направлении поддержки и развития молодых специалистов ИТ-отрасли Крыма.

Руководители Крым Диджитал приняли участие в стратегической сессии, которая прошла на базе СевГУ 10 июня.

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

Крым Диджитал является амбассадором идеи образования и взращивания молодых кадров, развивает образовательные проекты и на протяжении 5 последних лет ведет активную работу в направлении поддержки и развития молодых специалистов ИТ-отрасли Крыма.

Выпуск курса Software Testing

Мы поздравляем выпускников нашего первого в этом году курса Крым Диджитал Академии по Software Testing! Всего курс успешно завершили 13 человек. В течение 2 месяцев несмотря на теплую погоду и манящее море ребята ответственно посещали занятия 2 раза в неделю, делали домашние задания и проверочные работы. Трое начинающих специалистов теперь стажеры нашей компании. Следующий курс намечен на август. Не пропусти анонс записи!

Мы поздравляем выпускников нашего первого в этом году курса Крым Диджитал Академии по Software Testing!

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

Следующий курс намечен на август. Не пропусти анонс записи!

Лицензия на образовательную деятельность

В 2022 году мы получили лицензию на образовательную деятельность по программам дополнительного профессионального образования! Теперь мы можем обучать специалистов по направлениям Ruby on Rails, ReactJS и Software Testing и выдавать удостоверения о повышении квалификации государственного образца.
В 2022 году мы получили лицензию на образовательную деятельность по программам дополнительного профессионального образования! Теперь мы можем обучать специалистов по направлениям Ruby on Rails, ReactJS и Software Testing и выдавать удостоверения о повышении квалификации государственного образца.

Мы вошли в Реестр эффективно и социально значимых предприятий.

По результатам ежегодной финансово-экономической аналитики Межотраслевой рейтинговой компании Крым Диджитал включена в Реестр эффективных и социально значимых предприятий. По итогу аналитики, в рамках отрасли (ОКВЭД 62.01) и региона Крым, CDG вошло в 4% лучших компаний страны, с результатом – 92 балла!
По результатам ежегодной финансово-экономической аналитики Межотраслевой рейтинговой компании Крым Диджитал включена в Реестр эффективных и социально значимых предприятий. По итогу аналитики, в рамках отрасли (ОКВЭД 62.01) и региона Крым, CDG вошло в 4% лучших компаний страны, с результатом – 92 балла!