Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет «Львівська політехніка»
Кафедра ЕОМ
Лабораторна робота №1
з дисципліни: «Мережні операційні системи»
на тему: «Управління обчисленнями в ОС Android.»
Львів – 2017
Мета: Оволодіти навичками роботи з Android Activity та Activity stack.
/
Рис. 1. Загальна схема життєвого циклу Activity
На Рис. 1 зображено схему життєвого циклу активності. Також на схемі враховано варіант, що активність не стане видимою і не отримає фокусу до свого закриття/знищення.
Завдання:
Програма виводу етапів життєвого циклу Android Activity.
Життєві цикли активності виводитимемо як в Toast повідомлення, так і в лог Android Studio.
MainActivity.java
package com.knowleen.lab2and;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private String TAG = "Життєвий цикл Activity:";
private TextView mInfo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mInfo = (TextView) findViewById(R.id.textViewInfo);
Toast.makeText(getApplicationContext(), "onCreate()", Toast.LENGTH_SHORT).show();
Log.i(TAG, "onCreate()");
}
@Override
protected void onStart() {
super.onStart();
Toast.makeText(getApplicationContext(), "onStart()", Toast.LENGTH_SHORT).show();
Log.i(TAG, "onStart()");
}
@Override
protected void onResume() {
super.onResume();
Toast.makeText(getApplicationContext(), "onResume()", Toast.LENGTH_SHORT).show();
Log.i(TAG, "onResume()");
}
@Override
protected void onPause() {
super.onPause();
Toast.makeText(getApplicationContext(), "onPause()", Toast.LENGTH_SHORT).show();
Log.i(TAG, "onPause()");
}
@Override
protected void onStop() {
super.onStop();
Toast.makeText(getApplicationContext(), "onStop()", Toast.LENGTH_SHORT).show();
Log.i(TAG, "onStop()");
}
@Override
protected void onRestart() {
super.onRestart();
Toast.makeText(getApplicationContext(), "onRestart()", Toast.LENGTH_SHORT).show();
Log.i(TAG, "onRestart()");
}
@Override
protected void onDestroy() {
super.onDestroy();
Toast.makeText(getApplicationContext(), "onDestroy()", Toast.LENGTH_SHORT).show();
Log.i(TAG, "onDestroy()");
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.buttonTouchMe:
mInfo.setText("Ви торкалися кнопки і змінили текст");
break;
case R.id.buttonExit:
finish();
break;
default:
break;
}
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.knowleen.lab2and.MainActivity">
<TextView
android:id="@+id/textViewInfo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Додаток запущено щойно"
android:gravity="center"
android:textSize="24dp" />
<Button
android:id="@+id/buttonExit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="Вихід"
android:layout_marginBottom="12dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<Button
android:id="@+id/buttonTouchMe"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="Змінити TextView"
android:layout_marginBottom="15dp"
android:layout_above="@+id/buttonExit"
android:layout_centerHorizontal="true" />
</RelativeLayout>
Результати виконання роботи зображено на Рис. 2, Рис. 3 та Рис. 4
Рис. 2. Результат роботи програми(запуск)
Рис. 3. Результат роботи програми(зі зміною тексту і втратою фокусу та його відновленням)
/
Рис. 4. Виведений лог в Android Studio
Висновок. На даній лабораторній роботі я оволодів навичками роботи з Android Activity та Activity stack. Також я зрозумів життєвий цикл активності. Свої знання на практиці закріпив виконанням лабораторної роботи.