ПЗ (1194855), страница 6

Файл №1194855 ПЗ (Мобильное клиентское приложение под OC Android для компании ООО Эгида) 6 страницаПЗ (1194855) страница 62020-10-01СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 6)

Данный метод вызывается, когда окно становится невидимым для пользователя. Это может произойти как при уничтожении текущей Activity, так и при запуске новой Activity, перекрывшей текущее окно. В этом методе Activity переходит в состояние Stopped. Однако сохраняется состояние всех элементов интерфейса. При повторном открытии Activity восстанавливаются объекты, хранящиеся в памяти. Если пользователь возвращается к текущей Activity, предварительно перейдя на другую, то система вызовет метод onRestart. Однако, если Activity полностью завершила свою работу (например, из-за закрытия приложения), то вызывается метод onDestroy().

3.4.6 Метод onRestart()

Данный метод вызывается в случае, если окно возвращается в приоритетный режим после вызова метода onStop(). Это означает, что Activity была остановлена, а затем снова запущена пользователем. Данный метод всегда сопровождается вызовом метода onStart().

3.4.7 Метод onDestroy()

Работа Activity завершается вызовом данного метода. При этом удаляются все статические данные Activity. Отдаются все используемые ресурсы [31]. Также данный метод вызывается при изменении ориентации экрана, уничтожая Activity, а затем создавая заново, используя метод onCreate().

Переходы между перечисленными выше методами можно представить в виде простой схемы (рисунок 23).

Рисунок 23 – Переход между состояниями Activity

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

    1. Реализация отправки заявки

Необходимо реализовать передачу данных заявки на почту организации. Одним из способов является отправка E-Mail средствами Android. Отправку писем средствами Android можно реализовать несколькими способами – с вызовом программы приёма-передачи почтовых сообщений и анонимная отправка сообщения без вызова дополнительных приложений. Для данного приложения более приемлемым является второй метод.

Этот метод с применением внешней библиотеки, которая позволяет нам отсылать письма более приемлемыми способами. Обозначим плюсы данного метода:

– не требует от пользователя настроенного клиента;

– может быть полностью анонимным;

– можно передавать различные данные.

Для работы метода необходимо установить дополнительные библиотеки javamail-android. Для настройки также понадобится почтовый ящик зарегистрированный на gmail.com. В данном случае он будет выступать в виде шлюза через которые будут проходить все заявки пользователей [30].

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

– public MailSenderClass(String user, String password) – Конструктор. В качестве аргументов передаются логин и пароль от промежуточного почтового ящика на gmail.com. Здесь же прописываются параметры smtp-подключения к серверу;

– protected PasswordAuthentication getPasswordAuthentication() – Аутентификация для сервера;

– public synchronized void sendMail(String subject, String body, String sender, String recipients, String filename) – Основной метод, в который передаются данные для отправки.

Код последнего метода представлен на листинге 1.

  1. public synchronized void sendMail(String subject, String body, String sender, String recipients, String filename) throws Exception {

  2. try {

  3. MimeMessage message = new MimeMessage(session);

  4. message.setSender(new InternetAddress(sender));

  5. message.setSubject(subject);

  6. if (recipients.indexOf(',') > 0)

  7. message.setRecipients(Message.RecipientType.TO,

  8. InternetAddress.parse(recipients));

  9. else

  10. message.setRecipient(Message.RecipientType.TO,

  11. new InternetAddress(recipients));

  12. BodyPart messageBodyPart = new MimeBodyPart();

  13. messageBodyPart.setText(body);

  14. _multipart.addBodyPart(messageBodyPart);

  15. if (!filename.equalsIgnoreCase("")) {

  16. BodyPart attachBodyPart = new MimeBodyPart();

  17. DataSource source = new FileDataSource(filename);

  18. attachBodyPart.setDataHandler(new DataHandler(source));

  19. attachBodyPart.setFileName(filename);

  20. _multipart.addBodyPart(attachBodyPart);

  21. }

  22. message.setContent(_multipart);

  23. Transport.send(message);

  24. } catch (Exception e) {

  25. Log.e("sendMail","Ошибка отправки функцией sendMail! ");

  26. }

Листинг 1 – Метод передачи данных

В методе, представленном на листинге 1 используется объект класса MimeMessage для составления письмо, для отправки сообщения передаётся методу send, класса Transport.

Основной метод отправления сообщения выполняется в функции sitv_sender_mail_async, представляющей класс AsyncTask (листинг 2).

  1. private class sender_mail_async extends AsyncTask<Object, String, Boolean> {

  2. ProgressDialog WaitingDialog;

  3. @Override

  4. protected void onPreExecute() {

  5. // Выводим пользователю процесс загрузки

  6. WaitingDialog = ProgressDialog.show(ExtendedMail.this, "Отправка данных", "Отправляем сообщение...", true);

  7. }

  8. @Override

  9. protected void onPostExecute(Boolean result) {

  10. // Прячем процесс загрузки

  11. WaitingDialog.dismiss();

  12. Toast.makeText(mainContext, "Отправка завершена!!!", Toast.LENGTH_LONG).show();

  13. ((Activity)mainContext).finish();

  14. }

  15. @Override

  16. protected Boolean doInBackground(Object... params) {

  17. try {

  18. // Получаем данные с наших полей

  19. title = ((EditText)findViewById(R.id.screen_sendnews_et_title)).getText().toString();

  20. text = ((EditText)findViewById(R.id.screen_sendnews_et_text)).getText().toString();

  21. from = "from_post_msg@gmail.com";

  22. where = "where_post_msg@yandex.ru";

  23. // Вызываем конструктор и передаём в него наши логин и пароль от ящика на gmail.com

  24. MailSenderClass sender = new MailSenderClass("mypostmail@gmail.com", "password");

  25. // И вызываем наш метод отправки

  26. sender.sendMail(title, text, from, where, attach);

  27. } catch (Exception e) {

  28. Toast.makeText(mainContext, "Ошибка отправки сообщения!", Toast.LENGTH_SHORT).show();

  29. }

  30. return false;

  31. }

  32. }

Листинг 2 – Метод отправления сообщения

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

Асинхронный процесс состоит из трех методов onPreExecute(), doInBackground() и onPostExecute(), которые выполняются в написанной последовательности [32].

  1. public void onClick(View v) {

  2. sender_mail_async async_sending = new sender_mail_async();

  3. async_sending.execute();

  4. }

Листинг 3 – Подключение функции

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



4 ТЕХНИКО-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ

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

4.1 Назначение и специфика работы

Целью ВКР является разработка мобильного клиентского приложения для строительной организации.

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

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

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

4.2 Расчет затрат на исследование и разработку проекта

Затраты на исследование и разработку включают в себя все расходы, связанные с их выполнением. Определение затрат на исследование и разработку производится путем составления калькуляции себестоимости. Она является основным документом, на основании которого осуществляется планирование и учет затрат на выполнение (таблица 2).



Таблица 2 – Длительность по этапам разработки

Этапы и содержание выполняемых работ

Исполнитель

Трудоемкость, дн., Ti

Ставка, руб./дн., Ci

1

Консультация

Руководитель

5

3000.00

2

Обзор литературы

Разработчик

3

1800.00

3

Анализ предметной области

Разработчик

5

1800.00

4

Проектирование мобильного приложения

Разработчик

14

1800.00

5

Технико-экономическое обоснование

Разработчик

3

1800.00

6

Оформление пояснительной записки

Разработчик

7

1800.00

7

Согласование пояснительной записки

Руководитель

1

3000.00

8

Оформление иллюстративного материала

Разработчик

3

1800.00

9

Согласование иллюстративного материала

Руководитель

1

3000.00

4.3 Расчет затрат на основную заработную плату

Характеристики

Тип файла
Документ
Размер
3,54 Mb
Высшее учебное заведение

Список файлов ВКР

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7027
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее