Add task
All checks were successful
Merge core/template-android-project to this repo / merge-if-needed (push) Successful in 13s

This commit is contained in:
Владимир Шперлинг 2024-03-11 01:31:34 +07:00
parent 669f97b566
commit 4f2c4ea995
6 changed files with 114 additions and 1 deletions

66
README.md Normal file
View File

@ -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. Критерии оценивания и тесты*

View File

@ -11,6 +11,17 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Default"
tools:targetApi="31" />
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

View File

@ -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();
}
// Добавьте недостающие методы здесь
}

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Hello World!"/>
</FrameLayout>

View File

@ -1,3 +1,5 @@
<resources>
<string name="app_name">Work</string>
<string name="ncreate">Activity CREATED</string>
<!-- Дополните файл необходимыми ресурсами -->
</resources>

BIN
doc/screenshot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB