Здравствуйте, дорогие друзья. Продолжим нашу "вторую" программу для Android Studio. Мы остановились на том месте, где мы создали и отработали код нашего калькулятора на Java, и теперь можно работать непосредственно на Android Studio. Этим и займемся, не откладывая.
Погружение в среду и создание проекта
Запускаем Android Studio и выбираем создание нового проекта. В окне выбора типа проекта выбираем Empty View Activity (чтобы был пустой проект, но создалась вся визуалка). Ну и потом жмем Next.
На следующем этапе нам надо задать название программы и язык разработки. Название нашей программы - Калькулятор степеней (или calculator exponents, если кто напишет более точное название на английском, напишите пожалуйста), или сокращенно caexp - пишем в поле Name, язык разработки - Java (Language), больше ничего не меняем.
Жмем Finish и переходим в окно разработки. Не всё сразу прогрузится. Но в конце концов получим следующее окно со следующими открытыми файлами. Это файл MainActuvity.java, где у нас содержится основной Java код и activity_main.xml, где у нас "визуалка". Причем визуалка будет как в виде визуального отображения нашей программы, так и xml кода. Мы будем использовать оба, но сначала поработаем с картинками.
Размещение элементов
Переходим на отображение нашей будущей программы и видим в середине надпись Hello, world! Это элемент TextView (на нашей "первой" программе кроме неё нам ничего и не надо было))). Но с тех пор мы стали опытнее ))) ). Переходим на панель attributes справа и находим параметр text. Изменяем его значение на "Калькулятор степеней" и поднимаем надпись чуть выше.
Далее переходим на панель Palette. Там в разделе Text выбираем Plain Text и размещаем чуть выше центра.
Но давайте посмотрим на зеленый прямоугольник (где показано размещение объектов). В чем отличие нашего нового Plain Text от уже имеющегося TextView? От TextView к краям формы идут стрелочки-пружинки, а от нашего элемента - нет. Исправляем это (иначе наше поле уедет за пределы видимости). Тычем мышкой в прозрачные кружочки на форме и тянем от них стрелки к "бортикам" нашей формы.
Теперь идем в attributes. Параметр text сделаем 0 (как у нормального калькулятора), параметр textAllignment делаем center. Вид будет следующий:
Теперь размещаем кнопочки (button из раздела Buttons), выравниваем их стрелочками, делаем их параметры text соответственно "Квадрат", "Куб", "Квадратный корень", "Кубический корень". Сделали? Отлично. Вот такая красота у нас получится:
Посчитаем, уважаемые... программисты! И то дело!
Теперь перейдем непосредственно к коду на Java. Он у нас, как было сказано выше, будет располагаться в MainActuvity.java. Переходим в этот файл, видим следующее:
Мы здесь видим только один метод класса MainActivity - onCreate (то, что получается при создании программы). Создадим еще несколько функций - возведение в квадрат square, возведение в куб cube, извлечение квадратного корня squareRoot, извлечение кубического корня cubeRoot. Все функции публичные (public) и имеют параметр View view:
Создаем код, который будет нам что-то считать. Открываем то, что написали в прошлой статье, адаптируем расчет под интерфейс AndroidStudio. Наше поле ввода имеет идентификатор по умолчанию editTextText , значит получаем в неё доступ через поле edit типа EditText
EditText edit = findViewById(R.id.editTextText);
Далее получаем данные в строку
String mess = edit.getText().toString();
Ну а после - как в прошлой статье в Java
Float num = Float.parseFloat(mess);
Double res = Math.pow(num, 3);
правда результат Double, но нас устроит.
И наконец возвращаем результат в edit:
edit.setText(res.toString());
Облачаем всё в try...catch для исключения ошибок (в случае, если пользователь введет что-то не то, будет выведено "Ошибка ввода"), и получаем код:
для возведения в квадрат (square):
Аналогичную функцию пишем для возведения в куб (cube)
извлечения квадратного корня (squareRoot)
извлечения кубического корня (cubeRoot)
Функции аналогичны, только параметр экспоненты меняется.
А тепееерь... прицепим наши функции (они же методы определенного класса) в качестве функционала для функционирования наших же кнопок (понимаю, "функционального" в этой фразе слишком много, но дайте покаламбурить, расслабиться после такого напряженного программирования). Переходим снова на нашу визуалку activity_main.xml , жмем правой кнопкой мыши по любой из форм (белая или зеленая) и выбираем Go to XML.
Кроме визуального отображения для нас открылось еще отображение нашего xml файла в виде простого xml. Переходим на него, и добавляем каждому элементу Button параметр android:onClick="", где значение onClick - соответствующая функция.
- для возведения в квадрат - android:onClick="square"
- для возведения в куб - android:onClick="cube"
- для извлечения квадратного корня - android:onClick="squareRoot"
- для извлечения кубического корня - android:onClick="cubeRoot"
Всё с программированием закончили. Теперь самое время полюбоваться на результаты наших трудов.
Этот чудесный, чудесный, чудесный ... apk-файл.
Нет, в этот раз я не буду мучить себя и вас эмуляторами android и всякими подключениями (всё-таки второй раз, надо что-то и поменять кардинально), покажу немного другой путь - создание apk файла напрямую.
Заходим в меню Android Studio и выбираем Build - Generate Signed App Bungle or APK
далее выбираем APK и жмем Next
Переходим в следующее окно, здесь нам надо задать ключевую информацию
Выбираем Create New
Key store path - нажимаем на пиктограммку и создаем новую папку. Так же задаем два пароля (уровень сложности - больше 8 символов, английские заглавные и маленькие буквы, цифры)
Параметр Certificate - поля заполняйте как угодно, но они должны быть заполнены
Жмем Ок, затем Next
Далее выбираем release и жмем Create.
Введенные пароли запоминаем или записываем - они нам потом пригодятся.
Создание apk займет какое-то время, по окончании которого в правом нижнем углу появится сообщение
нажмите в этом сообщении ссылочку locate. Перейдем в папку, где сгенерировался наш apk файл.
Переименуем его в caexp.apk, и отправим любым способом на смартфон с операционной системой android.
Запуск на смартфоне.
Итак, скачиваем (принимаем) apk файл на андроиде, запускаем на установку, подтверждаем установку без проекта, и открываем, когда установится
Открываем файл - и ВУАЛЯ!!!!
Шикааарно! Правда некоторые кнопки немного съехали, но это детали, поправим, перегенерируем.
Проверим функционал.
При вводе нормальных значений (возведем в квадрат 5):
и при ненормальном - ввод текстовой информации
Эпилог. Что дальше?
Вот и заработала наша первая программа (вторая попытка), созданная на Android Studio. Если первая проба - это «Hello, бессонница, потраченный вечер и зарождающаяся лысина», то вторая попытка - вполне осознанная проработка, обход "острых углов" при создании программы, ну и результат соответствующий (хоть и не идеальный). Дальше предполагается... глубже изучать Java, чтобы создавать код android программ, освоение работы с интерфейсами, ну и ... пробовать, пробовать и еще раз пробовать! Android Studio, лежащая без дела, только захламляет ваши компьютеры. А материалы по android разработке у нас обязательно будут. Не пропускайте публикаций, кто подписался, кто не подписался - подпишитесь на канал. И до новых встреч!