Создание проекта Первое, что нужно сделать do — это создать новый проект, нажав «Начать новый проект Android Studio»


Download 303.27 Kb.
bet3/3
Sana04.05.2023
Hajmi303.27 Kb.
#1425414
TuriУрок
1   2   3
Bog'liq
Создание проекта

Обработка нажатий кнопок (чисел)
Каждый раз, когда пользователь нажимает число (или точку), мы просто хотите добавить это число в editText. В приведенном ниже примере кода показано, как это сделать для числа ноль (0).
binding.buttonZero.setOnClickListener (new View.OnClickListener () {@Override public void onClick (Просмотр просмотра) {binding.editText.setText (binding.editText.getText () + "0");}});
Обработка нажатий кнопок (операторы)

Обработка щелчков по операторам немного отличается. Мы хотели бы сначала выполнить любые ожидающие вычисления. Поэтому мы определяем метод computeCalculation. В computeCalculation, если valueOne является допустимым числом, мы читаем valueTwo из editText и выполнить текущую операцию в очереди. С другой стороны, если valueOne равно NaN, valueOne присвоит номер в editText.
private void co mputeCalculation () {если (! Double.isNaN (valueOne)) {valueTwo = Double.parseDouble (binding.editText.getText (). toString ()); binding.editText.setText (ноль); если (CURRENT_ACTION == ADDITION) valueOne = this.valueOne + valueTwo; иначе, если (CURRENT_ACTION == SUBTRACTION) valueOne = this.valueOne - valueTwo; иначе, если (CURRENT_ACTION == MULTIPLICATION) valueOne = this.valueOne * valueTwo; иначе, если (CURRENT_ACTION == DIVISION) valueOne = this.valueOne/valueTwo; } else {попробуйте {valueOne = Double.parseDouble (binding.editText.getText (). toString ()); } catch (Exception e) {}}}
Для каждого оператора мы сначала вызываем computeCalculation (), затем устанавливаем CURRENT_ACTION для выбранного оператора, а для оператора равенства ‘=’ мы вызываем computeCalculation (), затем очистите содержимое как valueOne, так и CURRENT_ACTION.
binding.buttonAdd.setOnClickListener (new View.OnClickListener () {@Override public void onClick (View view) {computeCalculation (); CURRENT_ACTION = ДОБАВЛЕНИЕ; binding.infoTextView.setText (decimalFormat.format (valueOne) + "+"); binding.editText.setText (null);}}); binding.buttonSubtract.setOnClickListener (новый View.OnClickListener () {@Override public void onClick (Просмотр представления) {computeCalculation (); CURRENT_ACTION = SUBTRACTION; binding.infoTextView.setText (decimalFormat.format (valueOne); .editText.setText (null);}}); binding.buttonMultiply.setOnClickListener (new View.OnClickListener () {@Override public void onClick (View view) {computeCalculation (); CURRENT_ACTION = MULTIPLICATION; binding.infoTextView.setText binding (decimalFormat.format (* valueOne)) .editText.setText (null);}}); binding.buttonDivide.setOnClickListener (новый вид. OnClickListener () {@Override public void onClick (Просмотр представления) {computeCalculation (); CURRENT_ACTION = РАЗДЕЛ; binding.infoTextView.setText (decimalFormat.format (valueOne) + "/"); binding.editText.setText (ноль); }}); binding.buttonEqual.setOnClickListener (new View.OnClickListener () {@Override public void onClick (View view) {computeCalculation (); binding.infoTextView.setText (binding.infoTextView.getText (). toString () + decatimalFormat (valuewo) ) + "=" + decimalFormat.format (valueOne)); valueOne = Double.NaN; CURRENT_ACTION = '0';}});
Поздравляем! Вы завершили свое простое приложение-калькулятор для Android.
Наконец
Если вы запустите и воспользуетесь указанным выше приложением, вы заметите некоторые возможные области улучшений, например 1) щелкните оператор, когда editText очищен (т.е. без предварительного ввода числа), 2) разрешите пользователю продолжить вычисления после нажатия кнопки равенства.
Как всегда, полный исходный код доступен на github, и вы можете (более того, поощрять) изменять и использовать по своему усмотрению. Пожалуйста, напишите в комментариях, если вы нашли это полезным и/или хотите порекомендовать приложение для будущего урока.
Download 303.27 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling