Добавить в корзинуПозвонить
Найти в Дзене
Программы от меня

Моя вторая программа на Android Studio: андроид - в студию

Здравствуйте, дорогие друзья. Продолжим нашу "вторую" программу для Android Studio. Мы остановились на том месте, где мы создали и отработали код нашего калькулятора на Java, и теперь можно работать непосредственно на Android Studio. Этим и займемся, не откладывая.
Запускаем Android Studio и выбираем создание нового проекта. В окне выбора типа проекта выбираем Empty View Activity (чтобы был пустой проект, но создалась вся визуалка). Ну и потом жмем Next.
На следующем этапе нам надо задать название программы и язык разработки. Название нашей программы - Калькулятор степеней (или calculator exponents, если кто напишет более точное название на английском, напишите пожалуйста), или сокращенно caexp - пишем в поле Name, язык разработки - Java (Language), больше ничего не меняем.
Жмем Finish и переходим в окно разработки. Не всё сразу прогрузится. Но в конце концов получим следующее окно со следующими открытыми файлами. Это файл MainActuvity.java, где у нас содержится основной Ja
Оглавление

Здравствуйте, дорогие друзья. Продолжим нашу "вторую" программу для Android Studio. Мы остановились на том месте, где мы создали и отработали код нашего калькулятора на Java, и теперь можно работать непосредственно на Android Studio. Этим и займемся, не откладывая.

Погружение в среду и создание проекта



Запускаем Android Studio и выбираем создание нового проекта. В окне выбора типа проекта выбираем Empty View Activity (чтобы был пустой проект, но создалась вся визуалка). Ну и потом жмем Next.

На следующем этапе нам надо задать название программы и язык разработки. Название нашей программы - Калькулятор степеней (или calculator exponents, если кто напишет более точное название на английском, напишите пожалуйста), или сокращенно caexp - пишем в поле Name, язык разработки - Java (Language), больше ничего не меняем.

-2

Жмем Finish и переходим в окно разработки. Не всё сразу прогрузится. Но в конце концов получим следующее окно со следующими открытыми файлами. Это файл MainActuvity.java, где у нас содержится основной Java код и activity_main.xml, где у нас "визуалка". Причем визуалка будет как в виде визуального отображения нашей программы, так и xml кода. Мы будем использовать оба, но сначала поработаем с картинками.



-3



Размещение элементов

Переходим на отображение нашей будущей программы и видим в середине надпись Hello, world! Это элемент TextView (на нашей "первой" программе кроме неё нам ничего и не надо было))). Но с тех пор мы стали опытнее ))) ). Переходим на панель attributes справа и находим параметр text. Изменяем его значение на "Калькулятор степеней" и поднимаем надпись чуть выше.

-4

Далее переходим на панель Palette. Там в разделе Text выбираем Plain Text и размещаем чуть выше центра.

-5

Но давайте посмотрим на зеленый прямоугольник (где показано размещение объектов). В чем отличие нашего нового Plain Text от уже имеющегося TextView? От TextView к краям формы идут стрелочки-пружинки, а от нашего элемента - нет. Исправляем это (иначе наше поле уедет за пределы видимости). Тычем мышкой в прозрачные кружочки на форме и тянем от них стрелки к "бортикам" нашей формы.

-6

Теперь идем в attributes. Параметр text сделаем 0 (как у нормального калькулятора), параметр textAllignment делаем center. Вид будет следующий:

-7

Теперь размещаем кнопочки (button из раздела Buttons), выравниваем их стрелочками, делаем их параметры text соответственно "Квадрат", "Куб", "Квадратный корень", "Кубический корень". Сделали? Отлично. Вот такая красота у нас получится:

-8

Посчитаем, уважаемые... программисты! И то дело!

Теперь перейдем непосредственно к коду на Java. Он у нас, как было сказано выше, будет располагаться в MainActuvity.java. Переходим в этот файл, видим следующее:

-9

Мы здесь видим только один метод класса MainActivity - onCreate (то, что получается при создании программы). Создадим еще несколько функций - возведение в квадрат square, возведение в куб cube, извлечение квадратного корня squareRoot, извлечение кубического корня cubeRoot. Все функции публичные (public) и имеют параметр View view:

-10

Создаем код, который будет нам что-то считать. Открываем то, что написали в прошлой статье, адаптируем расчет под интерфейс 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):

-11

Аналогичную функцию пишем для возведения в куб (cube)

-12

извлечения квадратного корня (squareRoot)

-13

извлечения кубического корня (cubeRoot)

-14

Функции аналогичны, только параметр экспоненты меняется.

А тепееерь... прицепим наши функции (они же методы определенного класса) в качестве функционала для функционирования наших же кнопок (понимаю, "функционального" в этой фразе слишком много, но дайте покаламбурить, расслабиться после такого напряженного программирования). Переходим снова на нашу визуалку activity_main.xml , жмем правой кнопкой мыши по любой из форм (белая или зеленая) и выбираем Go to XML.

-15

Кроме визуального отображения для нас открылось еще отображение нашего xml файла в виде простого xml. Переходим на него, и добавляем каждому элементу Button параметр android:onClick="", где значение onClick - соответствующая функция.

  • для возведения в квадрат - android:onClick="square"
  • для возведения в куб - android:onClick="cube"
  • для извлечения квадратного корня - android:onClick="squareRoot"
  • для извлечения кубического корня - android:onClick="cubeRoot"
-16

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



Этот чудесный, чудесный, чудесный ... apk-файл.



Нет, в этот раз я не буду мучить себя и вас эмуляторами android и всякими подключениями (всё-таки второй раз, надо что-то и поменять кардинально), покажу немного другой путь - создание apk файла напрямую.

Заходим в меню Android Studio и выбираем Build - Generate Signed App Bungle or APK


-17

далее выбираем APK и жмем Next

-18

Переходим в следующее окно, здесь нам надо задать ключевую информацию

-19

Выбираем Create New

-20

Key store path - нажимаем на пиктограммку и создаем новую папку. Так же задаем два пароля (уровень сложности - больше 8 символов, английские заглавные и маленькие буквы, цифры)

-21

Параметр Certificate - поля заполняйте как угодно, но они должны быть заполнены

-22


Жмем Ок, затем Next

-23

Далее выбираем release и жмем Create.

Введенные пароли запоминаем или записываем - они нам потом пригодятся.

Создание apk займет какое-то время, по окончании которого в правом нижнем углу появится сообщение

-24

нажмите в этом сообщении ссылочку locate. Перейдем в папку, где сгенерировался наш apk файл.

-25

Переименуем его в caexp.apk, и отправим любым способом на смартфон с операционной системой android.

Запуск на смартфоне.

Итак, скачиваем (принимаем) apk файл на андроиде, запускаем на установку, подтверждаем установку без проекта, и открываем, когда установится

-26

-27

-28

Открываем файл - и ВУАЛЯ!!!!

-29

Шикааарно! Правда некоторые кнопки немного съехали, но это детали, поправим, перегенерируем.

Проверим функционал.

При вводе нормальных значений (возведем в квадрат 5):

-30

и при ненормальном - ввод текстовой информации

-31

Эпилог. Что дальше?

Вот и заработала наша первая программа (вторая попытка), созданная на Android Studio. Если первая проба - это «Hello, бессонница, потраченный вечер и зарождающаяся лысина», то вторая попытка - вполне осознанная проработка, обход "острых углов" при создании программы, ну и результат соответствующий (хоть и не идеальный). Дальше предполагается... глубже изучать Java, чтобы создавать код android программ, освоение работы с интерфейсами, ну и ... пробовать, пробовать и еще раз пробовать! Android Studio, лежащая без дела, только захламляет ваши компьютеры. А материалы по android разработке у нас обязательно будут. Не пропускайте публикаций, кто подписался, кто не подписался - подпишитесь на канал. И до новых встреч!