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:roundIcon="@mipmap/ic_launcher_round"
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/Theme.Default"
|
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>
|
</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>
|
<resources>
|
||||||
<string name="app_name">Work</string>
|
<string name="app_name">Work</string>
|
||||||
|
<string name="ncreate">Activity CREATED</string>
|
||||||
|
<!-- Дополните файл необходимыми ресурсами -->
|
||||||
</resources>
|
</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