АРМ учета финансов доходов и расходов для бухгалтера

Цели и задачи автоматизированной системы. Разработка автоматизированного рабочего места в виде мобильного приложения "Учета финансов" для отделения дополнительного образования. Экономический расчет разработки автоматизированного рабочего места.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 06.06.2023
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ПРОСВЕЩЕНИЯ РЕСПУБЛИКИ КАЗАХСТАН

АКТЮБИНСКИЙ ТЕХНИКО-ТЕХНОЛОГИЧЕСКИЙ КОЛЛЕДЖ

ДИПЛОМНЫЙ ПРОЕКТ

Тема: «АРМ учета финансов доходов и расходов для бухгалтера»

1304000 - «Вычислительная техника и программное обеспечение»

Выполнил: Ковландин Ернур

Руководитель: Тал?атбекова Диана

АКТОБЕ 2023

МИНИСТЕРСТВО ПРОСВЕЩЕНИЯ РЕСПУБЛИКИ КАЗАХСТАН

АКТЮБИНСКИЙ ТЕХНИКО-ТЕХНОЛОГИЧЕСКИЙ КОЛЛЕДЖ

Для выполнения дипломного проекта

ЗАДАНИЕ

Обучающийся: Ковландин Ернур

Профессия: 1304000 - "Вычислительная техника и программное обеспечение»

Квалификация: Программист(Лингвистические языки)

Тема дипломного проекта: "АРМ учет финансов доходов и расходов для бухгалтера»

Краткие сведения по дипломному проекту: приложение созданное на основе АРМ для бухгалетров на языке программирования java(Android studio)

разделы дипломного проекта:

список графических материалов (по конкретным чертежам): check_image.xml, delete_image.xml, strings.xml, themes.xml, colors.xml

"Естественно-математические дисциплины»

Рассмотрено и согласовано на заседании ПЦК

протокол № __ «___»_________20__ г.

Председатель ПЦК________________________ Кушкенова Г. А.

(подпись)

Дата выдачи темы дипломного проекта«___»_________20__г.

Дата завершения дипломного проекта«___»_________20__г.

Обучающийся: (подпись) Ф. И. Ковландин Ернур

о. руководитель проекта: (подпись) Ф. И. О. Тал?атбекова Диана

Содержание

Введение

1. Сущность и понятие АРМ бухгалтера

1.1 Общая характеристика АРМ бухгалтера

1.2 Цели и задачи, решаемые автоматизированной системой

1.3 Классификация АРМ бухгалтера

2. Разработка мобильного приложения «АРМ для бухгалтеров»

2.1 Выбор программного обеспечения

2.2 Программирование на языке Java

3. Экономический расчет разработки автоматизированное рабочее место

3.1 Доходы программного обеспечения

4. Охрана труда и техника безопасности

4.1 Служба безопасности

4.2 Система безопасности

Список использованной литературы

Приложение

Введение

автоматизированный рабочий место учет

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

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

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

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

? возможность оперативного контроля над достоверностью информации;

? уменьшение числа возможных ошибок при генерировании производных данных;

? возможность быстрого доступа к любым данным;

? возможность быстрого формирования отчетов;

? экономия трудозатрат и затрат времени на обработку информации.

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

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

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

Исходя из вышеперечисленного, целью дипломного проекта является разработка автоматизированного рабочего места (АРМ) в виде мобильного приложения "Учета финансов" для отделения дополнительного образования Актюбинский техника-технологический колледж (АТТК).

Для реализации цели были поставлены следующие задачи:

? исследование предметной области;

? анализ мобильных приложений аналогичной тематики;

? проектирование структуры приложения;

? разработка программного продукта;

? обеспечение безопасности;

? расчет экономической эффективности проекта.

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

Объектом автоматизации является деятельность сотрудников отделения дополнительного образования Актюбинский техника-технологический колледж.

Предметом работы является процесс разработки АРМ в виде мобильного приложения "Учета финансов".

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

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

Объектом исследования является - АРМ для мобильных устройств.

1. Сущность и понятие АРМ бухгалтера

1.1 Общая характеристика АРМ бухгалтера

На современном этапе автоматизации управления общественным производством наиболее перспективным является автоматизация планово-управленческих функций на базе персональных ЭВМ, установленных непосредственно на рабочих местах специалистов.

Эти системы получили широкое распространение в организационном управлении под названием автоматизированных рабочих мест (АРМ).

Специфика деятельности бухгалтерии позволяет выбрать методом решения создание АРМ. Это позволит использовать систему людям, не имеющим специальных знаний в области программирования, и одновременно позволит дополнять систему по мере надобности.

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

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

В современных условиях АРМ должно отвечать следующим требованиям:

1. Своевременное удовлетворение профессиональной, информационной и вычислительной потребности специалиста.

2. Минимальное время ответа на запросы пользователя.

3. Адаптация к уровню подготовки пользователя и его профессиональным запросам.

4. Простота освоения приемов работы на АРМ и легкость общения.

5. Надежность и простота обслуживания.

6. Возможность быстрого обучения пользователя.

7. Возможность работать в составе вычислительной сети.

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

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

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

В основу конструирования АРМ положены следующие основные принципы:

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

2. Формализация профессиональных знаний, то есть возможность предоставления с помощью АРМ самостоятельно автоматизировать новые функции и решать новые задачи в процессе накопления опыта работы с системой.

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

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

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

1.2 Цели и задачи, решаемые автоматизированной системой

Автоматизированная информационная система позволяет бухгалтеру полностью автоматизировать учетный процесс и составление отчетов.

База данных обеспечивает сопоставимость информации и передачу из одного файла в другой. Комплекс программных средств позволяет автоматический подсчет итоговых сумм, составление мемориальных ордеров, изменение и корректировку информации непосредственно в базе данных баз каких-либо дополнительных изменений структуры и алгоритма работы программы, составление книги “Журнал-главная”, составление баланса и сводных отчетов, полностью автоматизирован учет кассовых операций, расчетных операций, учет денежных средств на расчетном счете, учет расчетов с подотчетными лицами и др. задачи.

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

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

1.3 Классификация АРМ бухгалтера

Обоснованное отношение АРМов к определенной группе способствует глубокому и тщательному анализу возможности, сравнительной оценке различных однотипных АРМов с целью выбора наиболее предпочтительного.

В связи с этим необходимо дать четкую классификацию АРМов.

Множество известных АРМ может быть классифицировано на основе следующих обобщенных признаков:

1. По функциональной сфере использования:

1.1. АРМ административно-управленческого персонала;

1.2. АРМ проектировщиков;

1.3. АРМ специалиста в области экономики, математики, физики, медицины и т.д.;

1.4. АРМ производственно-технологического назначения.

2. По режиму эксплуатации ЭВМ:

2.1. Одиночный;

2.2. Групповой;

2.3. Сетевой.

3. По степени подготовленности пользователя к работе на ПЭВМ

3.1. Пользователи, владеющие программированием;

3.2. Пользователи, получившие специальную подготовку по использованию инструментальных средств АРМ и освоившие работу на конкретной ПЭВМ;

3.3. Пользователи не получившие специальных знаний, но имеющие определенные навыки работы на конкретной ПЭВМ;

3.4. Пользователи не имеющие знаний в области ПЭВМ и не умеющие на ней работать

4. По функциональной направленности

4.1 Обучающие;

4.2 Функционально-специализированные;

4.3. Системы автоматизированного проектирования (САПРы).

5. По функциональной сфере использования:

5.1. Научная деятельность;

5.2. Проектирование;

5.3. Производственно-технологические процессы,

5.4. Организационное управление.

6. По уровню управления на предприятии можно выделить три класса типовых АРМ:

6.1. АРМ руководителя;

6.2. АРМ специалиста;

6.3. АРМ технического и вспомогательного персонала.

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

Одним из подходов к классификации АРМ является их систематизация по видам решаемых задач. Возможны следующие группы АРМ:

1. Для решения информационно-вычислительных задач;

2. Для решения задач подготовки и ввода данных;

3. Для решения информационно-справочных задач;

4. Для решения задач бухгалтерского учета;

5. Для решения задач статистической обработки данных;

6. Для решения задач аналитических расчетов.

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

2. Разработка мобильного приложения «АРМ для бухгалтеров»

2.1 Выбор программного обеспечения

Знакомьтесь, Android Studio

Android Studio - это официальная интегрированная среда разработки (IDE) для разработки приложений Android. Android Studio, основанная на мощном редакторе кода и инструментах разработчика IntelliJ IDEA, предлагает еще больше возможностей, повышающих производительность при создании приложений для Android, таких как:

· Гибкая система сборки на основе Gradle

· Быстрый и многофункциональный эмулятор

· Единая среда, в которой вы можете разрабатывать для всех устройств Android

· Живое редактирование для обновления составных файлов в эмуляторах и физических устройствах в режиме реального времени

· Шаблоны кода и интеграция с GitHub помогут вам создавать общие функции приложения и импортировать примеры кода

· Обширные инструменты тестирования и фреймворки

· Инструменты Lint для определения производительности, удобства использования, совместимости версий и других проблем

· Поддержка C ++ и NDK

· Встроенная поддержка Google Cloud Platform, упрощающая интеграцию Google Cloud Messaging и App Engine

Структура проекта

Каждый проект в Android Studio содержит один или несколько модулей с файлами исходного кода и файлами ресурсов. Типы модулей включают:

· Модули приложений для Android

· Библиотечные модули

· Модули Google App Engine

По умолчанию Android Studio отображает файлы вашего проекта в представлении Android Project, как показано на рисунке 1. Это представление организовано по модулям, чтобы обеспечить быстрый доступ к ключевым исходным файлам вашего проекта. Все файлы сборки видны на верхнем уровне, в скриптах Gradle.

Каждый модуль приложения содержит следующие папки:

· манифесты: содержат AndroidManifest.xml файл.

· java: содержит файлы исходного кода Kotlin и Java, включая тестовый код JUnit.

· res: содержит все ресурсы, не связанные с кодом, такие как строки пользовательского интерфейса и растровые изображения.

Рисунок 1 Файлы проекта в Android Project view

Структура проекта Android на диске отличается от этого упрощенного представления. Чтобы увидеть фактическую файловую структуру проекта, выберите Project вместо Android в меню Project.

Система сборки Gradle

Android Studio использует Gradle в качестве основы системы сборки, с более специфичными для Android возможностями, предоставляемыми <a>плагином Android Gradle</a>. Эта система сборки запускается как интегрированный инструмент из меню Android Studio и независимо из командной строки. Вы можете использовать возможности системы сборки для выполнения следующих действий:

· Настраивайте и расширяйте процесс сборки.

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

· Повторно используйте код и ресурсы в наборах исходных текстов.

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

Файлы сборки Android Studio называются, build.gradle.kts если вы используете Kotlin (рекомендуется) или build.gradle если вы используете Groovy. Это обычные текстовые файлы, которые используют синтаксис Kotlin или Groovy для настройки сборки с элементами, предоставляемыми плагином Android Gradle. Каждый проект имеет один файл сборки верхнего уровня для всего проекта и отдельные файлы сборки на уровне модуля для каждого модуля. При импорте существующего проекта Android Studio автоматически генерирует необходимые файлы сборки.

Варианты сборки

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

Сокращение ресурсов

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

Управление зависимостями

Зависимости для вашего проекта указаны по имени в скрипте сборки на уровне модуля. Gradle находит зависимости и делает их доступными в вашей сборке. Вы можете объявлять зависимости модулей, удаленные двоичные зависимости и локальные двоичные зависимости в вашем build.gradle.kts файле.

Android Studio настраивает проекты на использование центрального репозитория Maven по умолчанию. Эта конфигурация включена в файл сборки верхнего уровня для проекта.\

Инструменты отладки и профилирования

Android Studio помогает вам отлаживать и повышать производительность вашего кода, включая встроенные средства отладки и анализа производительности.

Встроенная отладка

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

Встроенная отладочная информация включает:

· Встроенные значения переменных

· Объекты, которые ссылаются на выбранный объект

· Метод возвращает значения

· Лямбда-выражения и операторные выражения

· Значения всплывающих подсказок

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

Профилировщики производительности

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

Чтобы использовать профилировщики производительности, запустив приложение на устройстве или эмуляторе, откройте профилировщик Android, выбрав <strong>Вид> Окна инструментов> Профилировщик</strong>.

Куча дампа

При профилировании использования памяти в Android Studio вы можете одновременно инициировать сборку мусора и сбрасывать кучу Java в снимок кучи HPROFв файле двоичного формата для Android. Программа просмотра HPROF отображает классы, экземпляры каждого класса и дерево ссылок, чтобы помочь вам отслеживать использование памяти и находить утечки памяти.

Профилировщик памяти

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

Доступ к файлам данных

Инструменты Android SDK, такие как Systrace и Logcat, генерируют данные о производительности и отладке для подробного анализа приложений.

Для просмотра доступных сгенерированных файлов данных:

1. Откройте окно инструмента захвата.

2. В списке сгенерированных файлов дважды щелкните файл, чтобы просмотреть данные.

3. Щелкните правой кнопкой мыши любые файлы HPROF, чтобы преобразовать их в стандарт.

4. Изучите формат файла, используемого вашей оперативной памятью.

Проверки кода

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

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

Рисунок 2 Результаты проверки ворса в Android Studio

В дополнение к проверке содержимого, Android Studio выполняет проверки кода IntelliJ и проверяет аннотации, чтобы упростить ваш рабочий процесс кодирования.

Аннотации в Android Studio

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

Android SDK Manager упаковывает библиотеку аннотаций Jetpack в репозиторий поддержки Android для использования с Android Studio. Android Studio проверяет настроенные аннотации во время проверки кода.

Регистрировать сообщения

Когда вы создаете и запускаете свое приложение в Android Studio, вы можете просматривать adb выходные данные и сообщения журнала устройства в окнеLogcat.

Войдите в свою учетную запись разработчика

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

После того, как вы откроете проект в Android Studio, вы можете войти в свою учетную запись разработчика или переключить учетные записи разработчика следующим образом:

1. Нажмите на значок профиля в конце панели инструментов.

2. В появившемся окне выполните одно из следующих действий:

· Если вы еще не вошли в систему, нажмите Войти и разрешите Android Studio доступ к перечисленным сервисам.

· Если вы уже вошли в систему, нажмите Добавить учетную запись, чтобы войти в другую учетную запись Google.

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

2.2 Программирование на языке Java(Android Studio)

Познакомьтесь с пользовательским интерфейсом Android Studio

Главное окно Android Studio состоит из нескольких логических областей, показанных на рисунке 1.

Рисунок 1 Главное окно Android Studio

1. Панель инструментов: Выполняйте широкий спектр действий, включая запуск вашего приложения и инструментов Android.

2. Панель навигации: перемещайтесь по своему проекту и открывайте файлы для редактирования. Это обеспечивает более компактное представление структуры, видимой в окне Проекта.

3. Окно редактора: Создание и изменение кода. В зависимости от текущего типа файла редактор может меняться. Например, при просмотре файла макета редактор отображает Layout Editor.

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

5. Окна инструментов: доступ к конкретным задачам, таким как управление проектами, поиск, контроль версий и многое другое. Вы можете разворачивать их и сворачивать.

6. Строка состояния: отображает статус вашего проекта и самой IDE, а также любые предупреждения или сообщения.

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

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

· Дважды нажмите Shift клавишу.

· Нажмите на увеличительное стекло в правом верхнем углу окна Android Studio.

Это может быть очень полезно, если, например, вы пытаетесь найти определенное действие IDE, которое забыли, как запускать.

Окна инструментов

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

Перейдите в окно инструмента, используя следующее:

· Чтобы развернуть или свернуть окно инструмента, щелкните название инструмента на панели окна инструмента. Вы также можете перетаскивать, закреплять, откреплять, присоединять и отсоединять окна инструментов.

· Чтобы вернуться к макету текущего окна инструмента по умолчанию, нажмите Окно> Восстановить макет по умолчанию. Чтобы настроить макет по умолчанию, нажмите Окно> Сохранить текущий макет по умолчанию.

· Чтобы отобразить или скрыть всю панель окна инструментов, щелкните значок окна в нижнем левом углу окна Android Studio.

· Чтобы найти конкретное окно инструмента, наведите курсор на значок окна и выберите окно инструмента в меню.

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

Таблица 1

Сочетания клавиш для окон инструментов

Окно инструмента

Windows и Linux

macos

Проект

Alt+1

Command+1

Контроль версий

Alt+9

Command+9

Запустите

Shift+F10

Control+R

Отладка

Shift+F9

Control+D

Logcat

Alt+6

Command+6

Вернитесь в редактор

Esc

Esc

Скрыть все окна инструментов

Control+Shift+F12

Command+Shift+F12

Чтобы скрыть все панели инструментов, окна инструментов и вкладки редактора, нажмите Просмотр> Перейти в режим, свободный от отвлекающих факторов. Чтобы выйти из режима, свободного от отвлекающих факторов, нажмите Просмотр> Выйти из режима, свободного от отвлекающих факторов.

Используйте быстрый поиск для поиска и фильтрации в большинстве окон инструментов Android Studio. Чтобы использовать быстрый поиск, выберите окно инструмента, а затем введите свой поисковый запрос.

Завершение кода

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

Таблица 2

Сочетания клавиш для завершения кода

Тип

Описание

Windows и Linux

macOS

Базовое завершение

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

Control+Space

Control+Space

Интеллектуальное завершение

Отображает соответствующие параметры в зависимости от контекста. Интеллектуальное завершение учитывает ожидаемый тип и потоки данных. Если вы вызовете Smart Completion два раза подряд, вы увидите больше результатов, включая цепочки.

Control+Shift+Space

Control+Shift+Space

Завершение инструкции

Завершает текущую инструкцию за вас, добавляя недостающие круглые скобки, скобки-брекеты, форматирование и так далее.

Control+Shift+Enter

Command+Shift+Enter

Чтобы выполнить быстрые исправления и показать действия намерения, нажмите Alt+Enter.

Найдите пример кода

Браузер примеров кода в Android Studio поможет вам найти высококачественные образцы кода Android, предоставленные Google, на основе текущего выделенного символа в вашем проекте. Для получения дополнительной информации см. раздел Найти пример кода.

Навигация

Вот несколько советов, которые помогут вам ориентироваться в Android Studio.

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

Чтобы вызвать действие "Последние файлы", нажмите Control+E (Command+E на macOS). По умолчанию выбирается файл, к которому обращались последним. С помощью этого действия вы также можете получить доступ к любому окну инструмента через левую колонку.

· Используйте действие Структура файла, чтобы просмотреть структуру текущего файла и быстро перейти к любой части вашего текущего файла:

Чтобы вызвать действие "Файловая структура", нажмите Control+F12 (Command+F12 в macOS).

· Используйте действие Перейти к классу для поиска определенного класса в вашем проекте и перехода к нему. Навигация по классу поддерживает сложные выражения, в том числе camel humps (что позволяет выполнять поиск по заглавным буквам в имени элемента в верблюжьем падеже), пути, line navigate to (что позволяет перейти к определенной строке в файле), middle name matching (что позволяет выполнять поиск по части названия класса) и многие другие. Если вы вызовете его два раза подряд, он покажет вам результаты из классов проекта.

Чтобы вызвать действие Перейти к классу, нажмите Control+N (Command+O на macOS).

· Используйте действие Перейти к файлу для перехода к файлу или папке:

Чтобы вызвать действие перейти к файлу, нажмите Control+Shift+N (Command+Shift+O на macOS). Для поиска папок, а не файлов, добавьте "/" в конце вашего выражения.

· Используйте действие Перейти к символу, чтобы перейти к методу или полю по имени:

Чтобы вызвать действие Перейти к символу, нажмите Control+Shift+Alt+N (Command+Option+O на macOS).

· Чтобы найти все фрагменты кода, ссылающиеся на класс, метод, поле, параметр или инструкцию в текущем положении курсора, нажмите Alt+F7 (Option+F7 в macOS).

Стиль и форматирование

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

Чтобы настроить параметры стиля кода, нажмите Файл> Настройки> Редактор> Стиль кода (Android Studio> Настройки> Редактор> Стиль кода в macOS.)

Хотя IDE автоматически применяет форматирование во время работы, вы также можете явно вызвать действие переформатировать код. Чтобы вызвать действие, нажмите Control+Alt+L (Opt+Command+L на macOS). Чтобы автоматически расставить отступы во всех строках, нажмите Control+Alt+I (Control+Option+I в macOS).

Рисунок 2 Код перед форматированием

Рисунок 3 Код после форматирования

3. Экономический расчет разработки автоматизированное рабочее место

3.1 Доходы программного обеспечения

Разработка приложения

Возьмем в пример стоимость разработки мобильного приложения для android, доход от мобильных приложений в среднем составляет от 300 тысяч до 5-8 миллионов рублей. Как видите разброс в цене огромный. В основном есть два критерия, влияющих на стоимость -- сам разработчик (или команда) и комплексность проекта. Но есть множество аспектов, влияющих на ценообразование помимо сложности создаваемого приложения. Документация, внешний вид, бэкенд и дальнейшая поддержка со стороны студии -- все это повлечет за собой увеличение в цене. Не будем забывать и про погрешности, ведь каждый проект уникален, а значит подход всегда будет разным, что повлияет на итоговую стоимость. Наверняка на просторах сети вы видели студии, предлагающие свои услуги за оплату за десятки миллионов рублей. Как правило, это студии, имеющие крупных клиентов: правительственные или известные частные корпорации. Зачастую стоимость, рассчитанная данными девелоперами, оправдана сложным устройством разрабатываемого приложения.

Бэкенд + Сервер

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

Создание хорошего бэкенда обеспечивает приложение:

Адаптивностью, благодаря которой любой девелопер может обновлять и модернизировать программу всеми доступными способами, не опираясь на так называемые "костыли". Все очевидные баги при этом гарантированно устраняются;

Возможностью активного взаимодействия с базой данных;

Интеграцией между сторонними системами, с абсолютной разными характеристиками.

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

Тестирование и публикация

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

На тестирование уходит от двух дней до двух недель (или от 16 до 80 часов). Например, при окладе в 80 000 рублей, получаем:

· 8000 рублей -- для простых проектов;

· 25 000 -- для средних;

· 40 000 -- для сложных.

Весь процесс публикации включен в стоимость. Приобретение лицензии на приложение. Также покупка учетной записи разработчика в AppStore или Google Play. Если вы готовы к релизу, вопрос сколько стоит выложить игру в google play особо актуален. На проверку и публикацию мобильного приложения на устройстве Android уходит около двух часов, в то время как на iOS в районе двух дней. Исходя из этого можно понять, что экспериментировать над приложением, проверяя спрос на рынке легче через Google Play.

4. Охрана труда и техника безопасности (акты и законы можно использовать).

4.1 Служба безопасности (Call_center, administrator)

Администратору контакт-центра Call-o-Call® в составе приложения «Call-o-Call Web» предоставляются различные инструменты для успешного администрирования:

· АРМ Администратора.

· Редактор меню IVR.

· Приложение для управления правами доступа.

Основной инструмент для администрирования -- АРМ Администратора.

С помощью АРМ Администратора осуществляется настройка основных параметров:

· установка параметров общесистемных настроек;

· администрирование операторской базы данных;

· создание, редактирование и удаление данных об операторах, расписания работы;

· создание, редактирование и удаление групп операторов;

· формирование навыков операторов и групп;

· ведение адресной книги;

· настройка условий системной переадресации на всех этапах обработки вызовов;

· создание списков рассылки объявлений;

· настройка маршрутизации вызовов;

· создание и ведение опросов/анкет;

· создание и ведение заданий на исходящий обзвон;

· создание, удаление и редактирование правил обработки web и e-mail-запросов;

· настройка шаблонов ответов на запросы;

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

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

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

Для проведения опросов клиентов Администратор создает анкеты, которые заполняются оператором в процессе диалога с клиентом.

Для создания новых сценариев обработки вызова в IVR и редактирования существующих, Администратор использует «Редактор меню IVR».

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

4.2 Система безопасности (Service_center)

Рекомендации по обеспечению безопасности приложений

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

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

Обеспечить безопасную связь

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

Защищайте связь между приложениями

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

Покажите средство выбора приложений

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

Intent = new Intent(Intent.ACTION_SEND);

List<ResolveInfo> possibleActivitiesList = getPackageManager()

.queryIntentActivities(intent, PackageManager.MATCH_ALL);

// Verify that an activity in at least two apps on the user's device

// can handle the intent. Otherwise, start the intent only if an app

// on the user's device can handle the intent.

if (possibleActivitiesList.size() > 1) {

// Create intent to show chooser.

// Title is something similar to "Share this photo with."

String title = getResources().getString(R.string.chooser_title);

Intent chooser = Intent.createChooser(intent, title);

startActivity(chooser);

} else if (intent.resolveActivity(getPackageManager()) != null) {

startActivity(intent);

}

Применяйте разрешения на основе подписи

При обмене данными между двумя приложениями, которые вы контролируете или которыми владеете, используйте разрешения на основе <i>подписи</i>. Эти разрешения не требуют подтверждения пользователя и вместо этого проверяют, что приложения, получающие доступ к данным, подписаны одним и тем же ключом подписи. Таким образом, эти разрешения обеспечивают более упрощенный и безопасный пользовательский интерфейс.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.example.myapp">

<permission android:name="my_custom_permission_name"

android:protectionLevel="signature" />

Запретите доступ к поставщикам контента вашего приложения

Если вы не собираетесь отправлять данные из своего приложения в другое приложение, которым вы не владеете, явно запретите приложениям других разработчиков доступ к ContentProvider объектам вашего приложения. Этот параметр особенно важен, если ваше приложение может быть установлено на устройствах под управлением Android 4.1.1 (уровень API 16) или ниже, поскольку android:exported атрибут <provider> элемента true используется по умолчанию в этих версиях Android.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.example.myapp">

<application... >

<provider

android:name="android.support.v4.content.FileProvider"

android:authorities="com.example.myapp.fileprovider"

...

android:exported="false">

<!-- Place child elements of <provider> here. -->

</provider>

...

</application>

</manifest>

Запрашивайте учетные данные, прежде чем показывать конфиденциальную информацию

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

Применяйте меры сетевой безопасности

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

Используйте трафик TLS

Если ваше приложение взаимодействует с веб-сервером, у которого есть сертификат, выданный известным доверенным центром сертификации (CA), используйте HTTPS-запрос, подобный следующему:

URL = new URL("https://www.google.com");

HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection();

urlConnection.connect();

InputStream in = urlConnection.getInputStream();

Добавьте конфигурацию сетевой безопасности

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

Чтобы добавить файл конфигурации сетевой безопасности в свое приложение, выполните следующие действия:

1. Объявите конфигурацию в манифесте вашего приложения:

<manifest... >

<application

android:networkSecurityConfig="@xml/network_security_config"

... >

<!-- Place child elements of <application> element here. -->

</application>

</manifest>

2. Добавьте файл ресурсов XML, расположенный по адресу res/xml/network_security_config.xml.

Укажите, что весь трафик на определенные домены должен использовать HTTPS, отключив открытый текст:

<network-security-config>

<domain-config cleartextTrafficPermitted="false">

<domain includeSubdomains="true">secure.example.com</domain>

...

</domain-config>

</network-security-config>

В процессе разработки вы можете использовать <debug-overrides> элемент, явно разрешающий сертификаты, установленные пользователем. Этот элемент переопределяет критически важные параметры безопасности во время отладки и тестирования, не влияющие на конфигурация выпуска приложения. Следующий фрагмент показывает, как определить это элемент в XML-файле конфигурации сетевой безопасности вашего приложения:

<network-security-config>

<debug-overrides>

<trust-anchors>

<certificates src="user" />

</trust-anchors>

</debug-overrides>

</network-security-config>

Создайте своего собственного управляющего доверием

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

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

· Этому центру сертификации не доверяет используемое вами устройство.

· Вы не можете использовать конфигурацию сетевой безопасности.

Осторожно используйте объекты WebView

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

Кроме того, никогда не включайте поддержку интерфейса JavaScript, если вы полностью не контролируете и не доверяете содержимому WebView объектов вашего приложения.

Используйте каналы сообщений HTML

Если ваше приложение должно использовать поддержку интерфейса JavaScript на устройствах под управлением Android 6.0 (уровень API 23) и выше, используйте каналы сообщений HTML вместо обмена данными между веб-сайтом и вашим приложением, как показано в следующем фрагменте кода:

WebView myWebView = (WebView) findViewById(R.id.webview);

// channel[0] and channel[1] represent the two ports.

// They are already entangled with each other and have been started.

WebMessagePort[] channel = myWebView.createWebMessageChannel();

// Create handler for channel[0] to receive messages.

channel[0].setWebMessageCallback(new WebMessagePort.WebMessageCallback() {

@Override

public void onMessage(WebMessagePort port, WebMessage message) {

Log.d(TAG, "On port " + port + ", received this message: " + message);

}

});

// Send a message from channel[1] to channel[0].

channel[1].postMessage(new WebMessage("My secure message"));

Специальный раздел

Панель Project

Прошу вашему вниманию панель Project, как вы заметили мой проект состоит из нескольких слоёв(xml, java) прежде чем объяснить, хочу уточнить одну деталь на счет панели Project. Эта панель отвечает за созданное мной xml и java файлы. И все эти файлы синхронизируется со скриптами build.gradle то есть с главным мозгом он отвечает за запуск моего приложения и дает отчеты какому версию андройд подходит приложение.

Экран добавления расходов и доходов

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

Главный экран приложения

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

Экран карточки расходов

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

Экран меню подтверждения карточек

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

Экран меню удаления карточек

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

Приложение

MainActivity.java

public class MainActivity extends AppCompatActivity implements OnItemsCLick{

ActivityMainBinding binding;

private ExpensesAdapter expensesAdapter;

// Intent intent;

private long income=0,expense=0;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

binding = ActivityMainBinding.inflate(getLayoutInflater());

setContentView(binding.getRoot());

expensesAdapter=new ExpensesAdapter(this,this);

binding.recycler.setAdapter(expensesAdapter);

binding.recycler.setLayoutManager(new LinearLayoutManager(this));

binding.addIncome.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

Intent intent = new Intent(MainActivity.this, AddExpenseActivity.class);

intent.putExtra("type", "Income");

startActivity(intent);

}

});

binding.addExpense.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

Intent intent = new Intent(MainActivity.this, AddExpenseActivity.class);

intent.putExtra("type", "Expense");

startActivity(intent);

}

});

}

@Override

protected void onStart() {

super.onStart();

ProgressDialog progressDialog=new ProgressDialog(this);

progressDialog.setTitle("Please");

progressDialog.setMessage("Wait");

progressDialog.setCancelable(false);

if (FirebaseAuth.getInstance().getCurrentUser()==null){

progressDialog.show();

FirebaseAuth.getInstance()

.signInAnonymously()

.addOnSuccessListener(new OnSuccessListener<AuthResult>() {

@Override

public void onSuccess(AuthResult authResult) {

progressDialog.cancel();

}

})

.addOnFailureListener(new OnFailureListener() {

@Override

public void onFailure(@NonNull Exception e) {

progressDialog.cancel();

Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();

}

});

}

}

@Override

protected void onResume() {

super.onResume();

income=0;expense=0;

getData();

}

private void getData() {

FirebaseFirestore

.getInstance()

.collection("expenses")

.whereEqualTo("uid",FirebaseAuth.getInstance().getUid())

.get()

.addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {

@Override

public void onSuccess(QuerySnapshot queryDocumentSnapshots) {

expensesAdapter.clear();

List<DocumentSnapshot> dsList=queryDocumentSnapshots.getDocuments();

for (DocumentSnapshot ds:dsList){

ExpenseModel expenseModel=ds.toObject(ExpenseModel.class);

if (expenseModel.getType().equals("Income")){

income+=expenseModel.getAmount();

}else {

expense+=expenseModel.getAmount();

}

expensesAdapter.add(expenseModel);

}

setUpGraph();

}

});

}

private void setUpGraph() {

List<PieEntry> pieEntryList=new ArrayList<>();

List<Integer> colorsList=new ArrayList<>();

if (income!=0){

pieEntryList.add(new PieEntry(income,"Income"));

colorsList.add(getResources().getColor(R.color.teal_700));

}

if (expense!=0){

pieEntryList.add(new PieEntry(expense,"Expense"));

colorsList.add(getResources().getColor(R.color.red));

}

PieDataSet pieDataSet=new PieDataSet(pieEntryList,String.valueOf(income-expense));

pieDataSet.setColors(colorsList);

pieDataSet.setValueTextColor(getResources().getColor(R.color.white));

PieData pieDat=new PieData(pieDataSet);

binding.pieChart.setData(pieDat);

binding.pieChart.invalidate();

}

@Override

public void onClick(ExpenseModel expenseModel) {

Intent intent = new Intent(MainActivity.this, AddExpenseActivity.class);

intent.putExtra("model",expenseModel);

startActivity(intent);

}

}

AddExpenseActivity.java

public class AddExpenseActivity extends AppCompatActivity {

ActivityAddExpenseBinding binding;

private String type;

private ExpenseModel expenseModel;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

binding=ActivityAddExpenseBinding.inflate(getLayoutInflater());

setContentView(binding.getRoot());

type=getIntent().getStringExtra("type");

expenseModel=(ExpenseModel) getIntent().getSerializableExtra("model");

if (type==null){

type=expenseModel.getType();

binding.amount.setText(String.valueOf(expenseModel.getAmount()));

binding.category.setText(expenseModel.getCategory());

binding.note.setText(expenseModel.getNote());

}

if (type.equals("Income")){

binding.incomeRadio.setChecked(true);

}else {

binding.expenseRadio.setChecked(true);

}

binding.incomeRadio.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

type="Income";

}

});

binding.expenseRadio.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

type="Expense";

}

});

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

MenuInflater menuInflater=getMenuInflater();

if (expenseModel==null){

menuInflater.inflate(R.menu.add_menu,menu);

}else {


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.