ブラウザや地図、ストリートビューの基、Intentとは?

http://www.atmarkit.co.jp/fjava/rensai4/android03/android03_1.html


キーワード

  • Intent
    • 「意図」「意志」「目的」の意味。
    • Intentは、Androidアプリ作成ではActivityに並ぶほど重要とのこと。
    • この章だけみてると、Activity間でのデータ受け渡しにつかうものというイメージだなぁ。
  • onActivityResult()
    • 呼び出し先から結果が返された際に呼び出されるメソッド
  • getIntent()
    • 渡されたIntentを取得
  • getIntent().getExtras();
    • すべての追加情報をBundleとして取り出す
    • Bundleって、なんだ?
  • Android Layout Editor
    • 画面(Activity)の編集を行うGUIツール
    • VBみたいにこの画面でGUIに関する設定を全部やるようなツールではない
    • どちらかというとVC++のリソースエディタぽい
    • だいたいの画面のデザインをするだけで、各部品のインスタンスつくったり、値の設定をするのはjavaソースの中。
  • Android Manifest Editor
    • いろいろな設定をするためのツール。
    • 複数のActivityを使うためには、このツールを使ってApplication Nodesに設定する必要がある

画面遷移のIntent コード解説

第2引数に遷移先のActivityを指定してIntentを作成

Intent intent = new Intent(Main.this, Editor.class);


テキストビューからテキストを得る

TextView textView = (TextView)findViewById(R.id.TextView01);
CharSequence text = textView.getText();


TextViewから取得したテキストを付加情報としてIntentに追加。

putExtra()では型は気にせず渡したいものは何でも渡せると思ってよい。

intent.putExtra("TEXT", text);


作成したIntentとリクエストコードで遷移先Activityを起動。

第2引数は呼び出し元のActivityで定義したリクエストコードです。

このリクエストコードは呼び出し先のActivityから戻ってきたときに使用するので定数にしてあります。

startActivityForResult(intent, SHOW_EDITOR);

はまりポイント

サンプルのDual Activities.zipをインポートしたらOnClick()のとこでエラーが。

@Overrideを消したら、エラー消えた。

解説読むとないとダメみたいに書いてあるけど、問題なく動いた。