Intentの履歴
インテント
Androidのクラス名。
Androidアプリ内で画面遷移をするときに使用するのがこのインテントと呼ばれるクラス。
明示的インテント
同アプリ内で明示的に起動したいActivityを指定して飛ぶ。
Intent intnt = new Intent(Context,飛び先クラス);
intnt.putExtra(飛び先で呼び出すキーとなるString,渡す内容);
渡す内容はいろんな型を渡せるけどクラスのインスタンスなどの複雑なオブジェクトを渡す場合は、そのクラスにSerializableインタフェースを実装するか、Parcelableインタフェースを実装するかしないと渡せない。なお、飛び先でわたってきた内容を得るには以下(シリアライザブルオブジェクトの場合)。
getIntent().getSerializableExtra(設定したキー);
SerializableよりParcelableの方がプロセス間通信用に作成された分高速なのかなー。
暗黙的インテント
マニュフェストに書かれてあるフィルタによってふるい分けられて勝手にactivityが選ばれる。GoogleMapをUriで呼ぼうとしたら失敗した。失敗した。失敗した。失敗した。失敗した。失敗した。失敗した。失敗した。失敗した。失敗した。エミュレータにGoogleMap用アプリが無いからか??
こことか参考にするとよさそう。
http://www.saturn.dti.ne.jp/~npaka/android/ActivityEx/index....
Activityは必ずマニュフェストに宣言しないといけない
明示的インテントで別Activityに飛ぼうとしたらエラー!
↓
Unable to find explicit activity class {パッケージ名/クラス名}; have you declared this activity in your AndroidManifest.xml?
メインのActivityじゃなくても宣言しないと認識されない。
マニュフェスト大事!