Add task
All checks were successful
Merge core/template-android-project to this repo / merge-if-needed (push) Successful in 13s
All checks were successful
Merge core/template-android-project to this repo / merge-if-needed (push) Successful in 13s
This commit is contained in:
parent
669f97b566
commit
4f2c4ea995
66
README.md
Normal file
66
README.md
Normal 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. Критерии оценивания и тесты*
|
@ -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>
|
21
app/src/main/java/ru/myitschool/work/MainActivity.java
Normal file
21
app/src/main/java/ru/myitschool/work/MainActivity.java
Normal 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();
|
||||
}
|
||||
|
||||
// Добавьте недостающие методы здесь
|
||||
}
|
13
app/src/main/res/layout/activity_main.xml
Normal file
13
app/src/main/res/layout/activity_main.xml
Normal 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>
|
@ -1,3 +1,5 @@
|
||||
<resources>
|
||||
<string name="app_name">Work</string>
|
||||
<string name="ncreate">Activity CREATED</string>
|
||||
<!-- Дополните файл необходимыми ресурсами -->
|
||||
</resources>
|
BIN
doc/screenshot.png
Normal file
BIN
doc/screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
Loading…
x
Reference in New Issue
Block a user