Вопросы: 1.
Для каких целей используется локализация вприложении?
2.
Каким образом целесообразно выбирать структуру хранения констант
вфайлах?
3.
Каким образом можно добавить локализацию к уже созданному
приложению?
Лабораторная работа 9. Переключение между экранами Приложение на Android не всегда состоит из одного экрана. Наверняка
многие замечали, что если пользоваться Android приложением, то в нем обычно не
один экран, а несколько, все это сделано, чтобы разбить на некоторые части
приложение. Например, разграничить настройки и информацию об авторе от
главного окна приложения.
Рассмотрим простое приложение под ОС Android, которое бы могло
переходить по нажатию кнопки из главного окна приложения на другой экран. И
74
вследствие этого разберемся с основами переключения между экранами одного
приложения.
Создадим новый проект в AndroidStudio и назовем его JumpWindow. Отметим
Phone and Tablet и при выборе Acticvity укажем Empty Activity.Все остальные
параметры оставим без изменений.
Добавим в макет нашего главного Activity(activity_main.xml) кнопку, при
нажатии которой будет вызываться второй экран.
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NextWindow" android:id="@+id/btnNextWindow" />
Теперь в классе MainActivity определяем данную кнопку:
ButtonbtnNextWindow;
Присваиваем ей Activity в качестве обработчика:
Public classMainActivityextendsAppCompatActivityimplements View.OnClickListener
И в методе onCreate дописываем следующее:
btnNextWindow
=
(Button)
findViewById(R.id.
btnNextWindow );
btnNextWindow.setOnClickListener(this);
И
теперь реализуем в методе onClick нажатие этой кнопки с помощью
конструкции swith-case:
switch (v.getId()) {
case R.id.
btnNextWindow : break;
default:
break;
}
С
помощью этого кода будем определять, когда была нажата кнопка, и
переходить на другойэкран.
Теперь создадим второй экран нашего приложения, для этого необходимо
создать класс и прописать его в файле AndroidManifest.xml.
Чтобы создать новыйActivity (новый экран), надо кликнуть кнопкой мыши по
названию пакета, где расположен MainActivity,и выбрать New–>Activity –
>EmptyActivity (рис.9.1).
75
Рис. 9.1. Создание новойActivity
В новом окне необходимо ввести название новый Activity (рис. 9.2).
Рис. 9.2. Описание новыйActivity
НовыйActivity создан. Причем AndroidStudio сам создает java классActivity и
xml файл макета новой Activity.
Необходимо открыть файл AndroidManifest.xml, в него автоматически должен
добавиться вновь созданный класс Activity.
Теперь перейдем в файл макета нового Activity и добавим в него элемент
TextView:
76
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/txtAct2" android:textSize="50sp" />
Открыв MainActivity, добавим в конструкцию switch-case, которая находится
в методе onClick и с помощью которой осуществляется обработка нажатия кнопки
btnNextWindow, и функцию вызова нового экрана.
Создаем объект Intent, у которого в качестве входных параметров
используются контекст и класс второй Activity, затем методом startActivity
запускаем наш Intent.
Intent intent = new Intent(this, NewActivity.class); startActivity(intent);
Приложение готово (рис. 9.3). Исходный код можно найти в прил. Г.
Рис. 9.3. Экраны приложения
77