Latest web development tutorials

안드로이드 액티비티 (활동)

활동 자바 또는 창틀 등의 사용자 인터페이스와 함께 하나의 화면을 나타낸다. 안드로이드 활동은 서브 클래스 ContextThemeWrapper 클래스입니다.

당신은 C, C ++ 또는 Java 프로그래밍 언어를 사용해야하는 경우, 당신은 주 () 함수에서이 프로그램이 시작되는 것을 알아야한다. 아주 유사한, 안드로이드 시스템은 프로그램이 () 콜백 활동의 시작에서 onCreate에 의해 호출된다 초기화합니다. 일련의 이벤트를 시작하는 콜백 메소드가 있습니다 만, 아래의 문 사이클에서 다음 활동으로, 사건의 순서를 해제하는 방법이 있습니다 :

그림

활동 클래스는 다음과 같은 콜백을 정의합니다. 당신은 콜백 방법을 모두 구현할 수 없습니다. 매우 중요한 그들 각각을 이해하면,이 사용자가 예상대로 응용 프로그램이 동작하도록 할 수 있습니다.

콜백 기술
에서 onCreate () 이 첫 번째 콜백이며, 활성 통화가 처음 만들어
ONSTART () 이 콜백 액티비티가 사용자에게 표시 될 때 호출되고
onResume () 이 콜백 함수는 사용자가 애플리케이션과 대화를 시작할 때 불려
onPause () 일시 중단 된 활동을 모든 코드를 실행할 수 없습니다, 사용자의 입력을 받아 들일 수 없습니다. 현재 활동이 중단 될 경우, 이벤트에서 호출하여 복원 할
이동 중지 () 활동이 보이지 않을 때 호출
들의 OnDestroy () 시스템 호출은 이벤트 전에 소멸 될 때
onRestart () 활동이 다시 후 중지 될 때 호출

이 예는 단순히 단계로 Anroid 애플리케이션 라이프 사이클 활동을 보여줍니다. 우리는 안녕하세요 세계 예제 절에서 만든 안드로이드 응용 프로그램을 수정하려면 다음 단계를 수행하십시오.

단계 기술
(1) com.example.helloworld 패키지 아래에 배치 안드로이드 응용하고 이름을 HelloWorld를 작성하는 이클립스 IDE를 사용합니다. 안녕하세요 예 섹션은 이전에 설명했다.
다음과 같은 주요 활동 파일 MainActivity.java을 수정합니다. 변경되지 않은 다른 부분을 들고.
3 안드로이드 에뮬레이터를 열고 수정하고 응용 프로그램의 결과를 확인 할 수있는 응용 프로그램을 실행합니다.

여기에 / com.example.helloworld / MainActivity.java 콘텐츠를 수정 한 파일 SRC의 주요 활동이다. 이들 각각은 기본 라이프 사이클 접근 방식을 포함합니다. 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 : ";

   /** 当活动第一次被创建时调用 */
   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      Log.d(msg, "The onCreate() event");
   }

   /** 当活动即将可见时调用 */
   @Override
   protected void onStart() {
      super.onStart();
      Log.d(msg, "The onStart() event");
   }

   /** 当活动可见时调用 */
   @Override
   protected void onResume() {
      super.onResume();
      Log.d(msg, "The onResume() event");
   }

   /** 当其他活动获得焦点时调用 */
   @Override
   protected void onPause() {
      super.onPause();
      Log.d(msg, "The onPause() event");
   }

   /** 当活动不再可见时调用 */
   @Override
   protected void onStop() {
      super.onStop();
      Log.d(msg, "The onStop() event");
   }

   /** 当活动将被销毁时调用 */
   @Override
   public void onDestroy() {
      super.onDestroy();
      Log.d(msg, "The onDestroy() event");
   }
}

활동 클래스로드 XML 파일의 프로젝트의 입술 / 레이아웃에서 모든 UI 구성 요소. 다음 문은 입술 / 레이아웃 / activity_main.xml 파일에서 UI 구성 요소로드 :

setContentView(R.layout.activity_main);

응용 프로그램은 임의의 제한없이, 하나 또는 그 이상의 활동을 할 수있다. 필요 응용 프로그램에 정의 된 각 활동의 AndroidManifest.xml에 선언합니다. 응용 프로그램의 주요 활동은 매니페스트에 선언해야하고, 텐트 필터 레이블 MAIN 액션과 LAUNCHER 카테고리를 포함해야합니다. 다음과 같습니다 :

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.helloworld"
   android:versionCode="1"
   android:versionName="1.0" >

   <uses-sdk
      android:minSdkVersion="8"
      android:targetSdkVersion="22" />

   <application
       android:icon="@drawable/ic_launcher"
       android:label="@string/app_name"
       android:theme="@style/AppTheme" >

       <activity
          android:name=".MainActivity"
          android:label="@string/title_activity_main" >

          <intent-filter>
             <action android:name="android.intent.action.MAIN" />
             <category android:name="android.intent.category.LAUNCHER"/>
          </intent-filter>

       </activity>

   </application>
</manifest>

행사에서 선언 MAIN LAUNCHER 카테고리의 동작 여부, 다음 응용 프로그램의 아이콘이 메인 화면에 응용 프로그램 목록에 표시되지 않습니다.

그냥 수정 "여보세요 세계!"응용 프로그램에서 실행하자. 환경을 설정할 때 AVD를 만든 가정하자. 이클립스에서 응용 프로그램을 실행중인 파일에서 프로젝트를 열고 도구 모음에서 실행을 클릭합니다 그림 아이콘입니다. AVD에서 응용 프로그램을 설치하고 시작 일식. 모두가 잘된다면, 시뮬레이터는 다음과 같은 화면이 표시됩니다, 당신은 이클립스 IDE 로그 캣 창에서 로그 정보를 볼 수 있습니다

07-19 15:00:43.405: D/Android :(866): The onCreate() event
07-19 15:00:43.405: D/Android :(866): The onStart() event
07-19 15:00:43.415: D/Android :(866): The onResume() event

의 안드로이드 에뮬레이터의 빨간색 버튼을 클릭하자 그림 그것은 이클립스 IDE 로그 캣 창에서 다음과 같은 이벤트 메시지를 생성합니다 :

<code>07-19 15:01:10.995: D/Android :(866): The onPause() event
07-19 15:01:12.705: D/Android :(866): The onStop() event
</code>

의 다시 안드로이드 에뮬레이터의 메뉴 버튼을 클릭하자 그림 그것은 이클립스 IDE 로그 캣 창에서 다음과 같은 이벤트 메시지를 생성합니다 :

<code>07-19 15:01:13.995: D/Android :(866): The onStart() event
07-19 15:01:14.705: D/Android :(866): The onResume() event
</code>

다음의 안드로이드 에뮬레이터에서 뒤로 버튼을 클릭하자 그림 그것은 이클립스 IDE 로그 캣 창에서 다음과 같은 이벤트 메시지를 생성, 수명주기 전반에 걸쳐 안드로이드 응용 프로그램 작업이 완료됩니다.

07-19 15:33:15.687: D/Android :(992): The onPause() event
07-19 15:33:15.525: D/Android :(992): The onStop() event
07-19 15:33:15.525: D/Android :(992): The onDestroy() event