Latest web development tutorials

Androidのアクティビティ(活動)

活動は、Javaや窓枠などのユーザインタフェースを持つ単一のスクリーンを表します。 Androidのアクティビティは、サブクラスContextThemeWrapperクラスです。

あなたは、C、C ++またはJavaプログラミング言語を使用する必要がある場合は、main()関数からこれらのプログラムが始まることを知っている必要があります。 非常によく似た、Androidのシステムは、そのプログラムが()コールバックが活動の開始のonCreateによって呼び出されるで初期化します。 一連のイベントを開始するためのコールバックメソッドがありますが、文のサイクルで、次の活動に、以下に示すように、一連のイベントをオフにする方法があります。

絵

Activityクラスは、次のコールバックを定義します。 あなたは、コールバックメソッドのすべてを実装することはできません。 ときにそれらのそれぞれを理解することは非常に重要なのは、これらは、ユーザーが期待するように、アプリケーションが動作することを保証することができます。

コールバック 説明
onCreate() この最初のコールバックで、アクティブなコールが最初に作成されます
ONSTART() このコールバックは、アクティビティがユーザーに表示されているときに呼び出されます
onResume() このコールバックは、ユーザーがアプリケーションと対話式の開始時に呼び出されます
onPause() 一時停止の活動は、ユーザの入力を受け入れることができない、あなたが任意のコードを実行することはできません。 現在の活動は停止されますと、イベントで呼び出すことによって復元します
onStop() アクティビティが表示されていないときに呼び出されます
onDestroy() システムコールは、イベントの前に破壊された時
onRestart() 活動が再び開いた後に停止されたときに呼び出されます

この例では、単に手順によりAnroidアプリケーションライフサイクル活動を示しています。 我々はHello Worldの例のセクションで作成したAndroidアプリケーションを変更するには、次の手順を実行します。

ステップ 説明
1 Androidアプリケーションを作成し、HelloWorldのはcom.example.helloworldパッケージ下に置かれ、それに名前を付けるためにEclipse IDEを使用してください。 前述のように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 : ";

   /** 当活动第一次被创建时调用 */
   @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");
   }
}

ActivityクラスのロードXMLファイルのプロジェクトの解像度/レイアウトからすべてのUIコンポーネント。 次の文は、解像度/レイアウト/ activity_main.xmlファイルからUIコンポーネントをロードされます。

setContentView(R.layout.activity_main);

アプリケーションは、特に制限はなく、1つ以上の活性を有することができます。 各アクティビティは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カテゴリアクションまたはイベントで宣言されていないかどうかは、そのアプリケーションのアイコンがメイン画面上のアプリケーションのリストには表示されません。

ちょうど変更された「Hellow世界! "アプリケーションから実行してみましょう。 環境を設定するときにAVDを作成しましたとします。 Eclipseのからアプリケーションを実行し、アクティブファイルでプロジェクトを開き、ツールバーから[実行]をクリックします 絵 アイコン。 AVDにアプリケーションをインストールEclipseとそれを開始します。 すべてがうまくいけば、シミュレータは、次の画面が表示されます、そしてあなたは、Eclipse IDE LogCatウィンドウにログ情報を見ることができます:

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

Androidのエミュレータ上の赤いボタンをクリックしてみましょう 絵 、それは、Eclipse IDE LogCatウィンドウに次のイベントメッセージを生成します。

<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>

それでは、もう一度Androidのエミュレータ上でメニューボタンをクリックしてみましょう 絵 、それは、Eclipse IDE LogCatウィンドウに次のイベントメッセージを生成します。

<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>

次は、Androidのエミュレータ上の[戻る]ボタンをクリックしてみましょう 絵 、それは、Eclipse IDE LogCatウィンドウに次のイベントメッセージを生成し、ライフサイクル全体のAndroidアプリケーションのアクティビティを完了します。

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