Android-ActivityとIntent

2393 ワード

一、Intentについて
まず、Intentには何が含まれているかを見てみましょう.
1,Component name:どのコンポーネントを起動するかを決定
2,action:activityはどのような動作をするべきですか
3,data:1つのactivityが別のactivityに伝達するデータ
4,category:
5,extras:キー値ペア
6,flags
跟Netの中のhttprequestと比較して、感じはやはり似ていて、偶然ですね.
二、一つのActivityでもう一つのActivityを起動する
まず2つのActivityを作成し、起動時に入ったActivityに1つのボタンを加え、このボタンをクリックして別のActivityにジャンプします.
            
package com.example.activity_02;

import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

	private Button myButton=null;
	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); //         xml
        myButton=(Button)findViewById(R.id.myButton);  //  activity  button
        myButton.setOnClickListener(new MyButtonListerner());  // MyButtonListerner   myButton     ,         
    }

  
		
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
    
    class MyButtonListerner implements OnClickListener{

  		@Override
  		public void onClick(View arg0) {
  			// TODO          
  			
  			//    Intent  
  			Intent intent=new Intent();
  			intent.putExtra("textIntent", "pbc");// Intent      ,    
  			intent.setClass(MainActivity.this,OtherActivity.class); //     activity   OtherActivity
  			MainActivity.this.startActivity(intent);	//     Activity
  			
  		
  			
  			/*Uri uri=Uri.parse("smsto://0800000123");
  			Intent intent=new Intent(Intent.ACTION_SENDTO,uri);
  			intent.putExtra("the sms body", "the sms text");
  			startActivity(intent);*/
  		
  		}
    }
}

  		
  		


まず、ボタンにイベントリスニングのようなものを追加し、クリックするときにジャンプ処理をします.その後、この具体的な処理の過程で、Intentオブジェクトを使用して伝達値を実現し、現在のActivityからそのActivityにジャンプするように設定する.Intent呼び出しシステムの機能も使用できます.
          
まとめ:
例えば、BSにおいてもCSにおいても、ページフォームの値伝達は不可欠なものであり、アンドロイド開発では、このようなものが登場した.だから前のものの学習によって、類推して、アンドロイドがどのような基礎の知識を必要とするかを比較することができます.