- •Ос. Лабораторная работа №2 знакомство с пРограммированием на java. Програмирование расчетного android-приложения
- •Задание на разработку
- •Теоретические сведения.
- •Программный код на Java
- •Использование операторов Import для подключения классов из sdk Android
- •Класс MainActivity – инфраструктура приложения
- •Метод onCreate() класса MainActivity – создание инфраструктуры приложения
- •Метод onCreateOptionsMenu() класса MainActivity – создание меню приложения
- •Метод onOptionsItemSelected() класса MainActivity – обработка щелчков (касаний) элементов панели действий
- •Реализация приложения Tip Calculator
- •Инструкции package и import
- •Класс ActionBarActivity и жизненный цикл активностей приложения Tip Calculator
- •Поля (переменные) класса
- •Переопределение метода OnCreate() класса MainActivity
- •Разработка метода updateStandard() класса MainActivity
- •Разработка метода updateCustom() класса MainActivity
- •Переопределение метода onSaveInstanceState() класса Activity
- •Анонимный внутренний класс, реализующий интерфейс OnSeekBarChangeListener
- •Анонимный внутренний класс, реализующий интерфейс TextWatcher
- •Завершение разработки класса MainActivity и всего приложения
Ос. Лабораторная работа №2 знакомство с пРограммированием на java. Програмирование расчетного android-приложения
Цель работы: Научиться разрабатывать расчетные приложения на языке Java для мобильной платформы Android.
Задание на разработку
Приложение Tip Calculator, графический интерфейс которого был спроектирован в предыдущей работе, должно вычислять и отображать чаевые на основании суммы счета в ресторане (рис. 1).
|
Рисунок 1. Ввод суммы счета и подсчет чаевых: а — начальный интерфейс пользователя, появляющийся после касания пользователем компонента Bill total и отображения цифровой клавиатуры; б — интерфейс пользователя после ввода выставленного счета на $123,45 и изменения процентной ставки чаевых на 17% |
После ввода пользователем суммы счета приложение вычисляет и отображает размер чаевых и величину итогового счета (с учетом чаевых). При этом для расчета чаевых используются три процентные ставки: 10%, 15% и 20%. Пользователь может указать собственную ставку, используемую при расчете чаевых. Для этого нужно переместить ползунок компонента Seekbar, после чего обновляется величина процентной ставки, которая отображается в правой части компонента SeekBar. В качестве заданной по умолчанию пользовательской процентной ставки для чаевых выбрана величина 18%. Это связано с тем, что многие рестораны используют эту процентную ставку для компаний, состоящих из шести человек и более. Предполагаемые величины чаевых и общего счета могут быть изменены пользователем.
Теоретические сведения.
При разработке приложения для Android используются объектно-ориентированные свойства Java, включая классы, анонимные внутренние классы, объекты, методы, интерфейсы и наследование. В частности, используется подкласс (производный класс) класса Activity, с помощью которого определяется, что произойдет в случае запуска приложения на выполнение, а также в него вкладывается вся логика приложения Tip Calculator, в частности, программное взаимодействие между компонентами EditText, TextView и SeekBar. Для организации взаимодействия между пользователем и интерфейсом пользователя будут применяться обработка событий и анонимные внутренние классы.
Программный код на Java
Откройте для просмотра и редактирования текст файла MainActivity.java в папке java/com.example.имя_компьютера.tipcalculator окна Project (рис. 2).
Рисунок 2. Код файла MainActivity.java, автоматически сгенерированный Android Studio и готовый для последующего редактирования
Для того, чтобы увидеть все инструкции import, имеющиеся перед объявлением класса MainActivity нужно щелкнуть по значку "+" с надписью import … .
Использование операторов Import для подключения классов из sdk Android
Перед инструкциями объявлением класса MainActivity имеется четыре инструкции import, которые ссылаются на другие классы, используемые в классе MainActivity и его методах:
Первый метод класса onCreate() использует класс Bundle, импортируемый инструкцией в строке 3. Класс Bundle из пакета android.os представляет информацию о состоянии приложения. Приложение может сохранять свое состояние в случае перевода в фоновый режим операционной системой (например, если пользователь запускает другое приложение или принимает телефонный звонок).
Класс ActionBarActivity, который импортируется из пакета android.support.v7.app инструкцией в сроке 2, является базовым (суперклассом) для нашего класса MainActivity. Класс ActionBarActivity обеспечивает функционирование активностей с панелью действий (action bar) и, в конечном счете, является косвенно (через класс FragmentActivity) производным от класса Activity из пакета android.app, который поддерживает базовые методы жизненного цикла приложения (эти методы будут рассмотрены ниже).
Инструкция в строке 4 импортирует класс Menu, объект которого передается в качестве аргумента второму методу нашего класса onCreateOptionsMenu(). В рамках активности класс Menu обеспечивает создание и функционирование меню выбора опций, которое открывается при нажатии на мобильном устройстве кнопки <MENU> или вертикального троеточия на панели действий на устройствах без кнопки <MENU>.
Наконец, инструкция в строке 5 импортирует класс MenuItem, объект которого передается в качестве аргумента третьему методу рассматриваемого класса onOptionsItemSelected(), обеспечивающего работу с элементами меню.
