Полезные примеры Android

Полезные примеры Android
Android — Activities

Действие представляет собой отдельный экран с пользовательским интерфейсом, как окно или фрейм Java. Действие Android является подклассом класса ContextThemeWrapper.

Если вы работали с языком программирования C, C ++ или Java, то вы должны были заметить, что ваша программа запускается с функции main () . Очень похожим образом система Android запускает свою программу с помощью Activity, начиная с вызова метода обратного вызова onCreate () . Существует последовательность методов обратного вызова, которые запускают действие, и последовательность методов обратного вызова, которые разрушают действие, как показано на диаграмме жизненного цикла действия ниже: ( изображение предоставлено: android.com )

Жизненный цикл Android Activity

Класс Activity определяет следующие обратные вызовы, то есть события. Вам не нужно реализовывать все методы обратного вызова. Однако важно понимать каждый из них и реализовывать те, которые гарантируют, что ваше приложение ведет себя так, как ожидают пользователи.

Sr.No Обратный звонок и описание
1

onCreate ()

Это первый обратный вызов, который вызывается при первом создании действия.

2

onStart ()

Этот обратный вызов вызывается, когда действие становится видимым для пользователя.

3

onResume ()

Это вызывается, когда пользователь начинает взаимодействовать с приложением.

4

onPause ()

Приостановленное действие не получает пользовательский ввод, не может выполнить какой-либо код и вызывается, когда текущее действие приостанавливается, а предыдущее действие возобновляется.

5

onStop ()

Этот обратный вызов вызывается, когда активность больше не отображается.

6

onDestroy ()

Этот обратный вызов вызывается до того, как действие будет уничтожено системой.

7

onRestart ()

Этот обратный вызов вызывается, когда действие перезапускается после его остановки.

пример

Этот пример проведет вас через простые шаги, чтобы показать жизненный цикл активности приложения Android. Выполните следующие шаги, чтобы изменить приложение Android, которое мы создали в главе « Пример Hello World» :

Шаг Описание
1 Вы будете использовать Android studio для создания Android-приложения и назовете его HelloWorld в пакете com.example.helloworld, как описано в главе « Пример Hello World» .
2 Измените файл основного действия MainActivity.java, как описано ниже. Остальные файлы оставьте без изменений.
3 Запустите приложение, чтобы запустить эмулятор Android и проверить результат изменений, внесенных в приложение.

Ниже приводится содержимое измененного файла основного действия src / com.example.helloworld / MainActivity.java . Этот файл включает в себя все основные методы жизненного цикла. Метод Log.d () использовался для создания сообщений журнала —

package com.example.helloworld;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
public class MainActivity extends Activity {
String msg = "Android : ";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(msg, "The onCreate() event");
}
/** Called when the activity is about to become visible. */
@Override
protected void onStart() {
super.onStart();
Log.d(msg, "The onStart() event");
}
/** Called when the activity has become visible. */
@Override
protected void onResume() {
super.onResume();
Log.d(msg, "The onResume() event");
}
/** Called when another activity is taking focus. */
@Override
protected void onPause() {
super.onPause();
Log.d(msg, "The onPause() event");
}
/** Called when the activity is no longer visible. */
@Override
protected void onStop() {
super.onStop();
Log.d(msg, "The onStop() event");
}
/** Called just before the activity is destroyed. */
@Override
public void onDestroy() {
super.onDestroy();
Log.d(msg, "The onDestroy() event");
}
}

Класс активности загружает все компоненты пользовательского интерфейса, используя XML-файл, доступный в папке res / layout проекта. Следующий оператор загружает компоненты пользовательского интерфейса из файла res / layout / activity_main.xml :

setContentView(R.layout.activity_main);

Приложение может выполнять одно или несколько действий без каких-либо ограничений. Каждое действие, которое вы определяете для своего приложения, должно быть объявлено в вашем файле AndroidManifest.xml, а основное действие для вашего приложения должно быть объявлено в манифесте с помощью <intent-filter>, который включает действие MAIN и категорию LAUNCHER следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.tutorialspoint7.myapplication">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

Если для одного из ваших действий не объявлено действие MAIN или категория LAUNCHER, значок вашего приложения не появится в списке приложений на главном экране.

Попробуем запустить наш модифицированный Hello World! приложение, которое мы только что изменили. Я предполагаю, что вы создали свой AVD при настройке среды. Чтобы запустить приложение из студии Android, откройте один из файлов активности вашего проекта и щелкните Значок запуска Eclipseзначок « Выполнить» на панели инструментов. Студия Android устанавливает приложение на ваш AVD и запускает его, и если все в порядке с вашей настройкой и приложением, оно отобразит окно эмулятора, и вы должны увидеть следующие сообщения журнала в окне LogCat в студии Android —

08-23 10:32:07.682 4480-4480/com.example.helloworld D/Android :: The onCreate() event
08-23 10:32:07.683 4480-4480/com.example.helloworld D/Android :: The onStart() event
08-23 10:32:07.685 4480-4480/com.example.helloworld D/Android :: The onResume() event

Окно Android LotCat

Давайте попробуем нажать кнопку блокировки экрана на эмуляторе Android, и он сгенерирует следующие сообщения о событиях в окне LogCat в студии Android:

08-23 10:32:53.230 4480-4480/com.example.helloworld D/Android :: The onPause() event
08-23 10:32:53.294 4480-4480/com.example.helloworld D/Android :: The onStop() event

Давайте снова попробуем разблокировать ваш экран в эмуляторе Android, и он будет генерировать следующие сообщения о событиях в окне LogCat в Android Studio:

08-23 10:34:41.390 4480-4480/com.example.helloworld D/Android :: The onStart() event
08-23 10:34:41.392 4480-4480/com.example.helloworld D/Android :: The onResume() event

Затем давайте снова попробуем нажать кнопку «Назад» Кнопка возврата Androidна эмуляторе Android, и он сгенерирует следующие сообщения о событиях в окне LogCat в студии Android, и это завершит жизненный цикл активности для приложения Android.

08-23 10:37:24.806 4480-4480/com.example.helloworld D/Android :: The onPause() event
08-23 10:37:25.668 4480-4480/com.example.helloworld D/Android :: The onStop() event
08-23 10:37:25.669 4480-4480/com.example.helloworld D/Android :: The onDestroy() event
Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
  • Attributes
  • Custom attributes
  • Custom fields
Click outside to hide the compare bar
Compare