diff --git a/README.md b/README.md new file mode 100644 index 0000000..43bfbdd --- /dev/null +++ b/README.md @@ -0,0 +1,66 @@ +# Практическая работа. Жизненный цикл Activity + +Вам необходимо дополнить данное приложение отслеживанием состояний активности. + +Основные требования к приложению: + +- Не изменяйте место и название файла `MainActivity` (но редактирование содержимого - можно и нужно) +- Для отслеживания используйте текстовые подсказки системного класса `Toast` +- Значения текстовых подсказок **должны быть определены** в строковых ресурсах `string.xml` +- Длительность показа задается константой `Toast.LENGTH_LONG` +- В качестве объекта `Context` используйте запускаемую активити +- Текстовые подсказки должны быть корректно выводится при смене конфигурации приложения (например, поворот экрана) + +Название строковых ресурсов и их значения приведено в таблице 1. + +| № | Отслеживаемый метод | Строковый ресурс | Значение ресурса | +| :-: | :-----------------: | :--------------: | :--------------: | +| 1 | `onCreate` | `ncreate` | Activity CREATED | +| 2 | `onStart` | `nstart` | Activity STARTED | +| 3 | `onResume` | `nresume` | Activity RESUMED | +| 4 | … | `npause` | Activity PAUSED | +| 5 | … | `nstop` | Activity STOPPED | +| 6 | … | `nrestart` | Activity RESTARTED | +| 7 | `onDestroy` | `ndestroy` | Activity DESTROYED | + +*Таблица 1. Настройки всплывающих подсказок* + +## Примеры + +**1. Запуск приложения** + +*Входные данные:* первый запуск приложения (после установки) + +*Ожидаемый результат:* + +Последовательно показаны текстовые подсказки: + +1. `onCreate` +2. `onStart` +3. `onResume` + +**2. Поворот экрана** + +*Входные данные:* приложение уже запущено. Выполняется поворот экрана. + +*Ожидаемый результат:* + +Последовательно показаны текстовые подсказки: + +1. `onDestroy` +2. `onCreate` +3. `onStart` +4. `onResume` + +![screenshot](/doc/screenshot.png) + +*Пример интефрейса* + + +| № | Название теста | Баллы | Описание | +| :-: | :-----------------: | :--------------: | :-------------- | +| 1 | checkPortait | 2 | Проверка последовательности Toast при запуске активности | +| 2 | checkLandscape | 4 | Проверка обработки поворотов экрана | +| 3 | checkStringRes | 1 | Проверка наличия строковых ресурсов | + +*Таблица 2. Критерии оценивания и тесты* \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9ee5c40..3d4a60f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -11,6 +11,17 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.Default" - tools:targetApi="31" /> + tools:targetApi="31"> + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/MainActivity.java b/app/src/main/java/ru/myitschool/work/MainActivity.java new file mode 100644 index 0000000..1163082 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/MainActivity.java @@ -0,0 +1,21 @@ +package ru.myitschool.work; + +import android.os.Bundle; +import android.widget.Toast; + +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; + +import ru.myitschool.work.databinding.ActivityMainBinding; + +public class MainActivity extends AppCompatActivity { + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + final ActivityMainBinding binding = ActivityMainBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + Toast.makeText(this, R.string.ncreate, Toast.LENGTH_LONG).show(); + } + + // Добавьте недостающие методы здесь +} diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..54537fa --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 96034ac..e78b9d0 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,3 +1,5 @@ Work + Activity CREATED + \ No newline at end of file diff --git a/doc/screenshot.png b/doc/screenshot.png new file mode 100644 index 0000000..b1a37d7 Binary files /dev/null and b/doc/screenshot.png differ