WordPress Plugin [Subscribe2] [WordPress]
メールマガジンのシステムを構築するプラグイン。
登録ユーザーにメールマガジンを配信できるようにする。メールマガジンのユーザー登録をしたり、メールマガジン用の記事を書いたり、記事を投稿したら登録ユーザーにお知らせをしたりすることができる。
インストール
WordPress管理画面のプラグインから検索すると見つかります。
実行
WordPressをメールマガジン配信システムとして使いたい場合に利用するものなので、今回は紹介のみとします。将来メール配信システムとして利用する機会があれば別途紹介します。
参考資料
Androidプログラミングの基礎[2] 明示インテント [Android]
今回のテーマは「明示インテント」です。
第2回: 明示インテント
インテントを使った画面の遷移の方法とAndroidシステムがどのように画面遷移を実現しているかについて。
1.インテントとは
アクティビティなどのコンポーネントを起動するための情報をひとつにまとめたもの。
⇒ 明示インテント
起動したいオブジェクトをその名前で「明示」したインテント。
⇒ 暗黙インテント
起動したいコンポーネント名を指定しないで、起動したい機能だけを指定し、Androidシステムによって起動する機能を暗黙的に判断させるインテント。
① インテントが保持する情報
Intentクラス(android.contemnt.Intent)
インテントには次のような情報を含めることができる。
⇒ コンポーネント名
インテントで起動する対象の名前。
⇒ アクション
暗黙インテントで利用される「○○を実行したい」という動作に関する情報。
⇒ カテゴリー
アクションの負荷的な情報を文字列で指定する。
⇒ データ
アクションの対象となるデータの場所をURI形式で指定する。
⇒ タイプ
URIによるデータの指定に加え、データのタイプ(MIMEタイプ)を指定する。
⇒ エクストラ(追加情報)
インテントの宛先に渡したい追加情報。
⇒ フラグ
アクティビティの起動方法や、起動後の動作などの指示を出す。
2.明示インテントによる単純な画面遷移
① プロジェクトの作成
画面Aから画面Bへ画面遷移して、また画面Aへ戻る動作する。
・新規Androidアプリケーション
アプリケーション名 | IntentSample1 |
プロジェクト名 | IntentSample1 |
パッケージ名 | jp.andsys.android.intentsample1 |
最小必須 SDK | API 8: Android 2.2 (Froyo) |
ターゲット SDK | API 18 |
次でコンパイル | API 10: Android 2.3.3 (Gingerbread) |
テーマ | None |
・プロジェクトの構成
ディフォルトのまま
・アイコンの属性
ディフォルトのまま
・アクティビティーの作成
Blank Activity
・Blank Activity
アクティビティ名 | ActivityA |
レイアウト名 | main |
ナビゲーション・タイプ | None |
プロジェクトの生成
② アクティビティ(画面B)の追加
アクティビティの追加手順
- レイアウトXMLファイルの作成
- アクティビティクラスの作成
- AndroidManifest.xmlへの記載
⇒ レイアウトXMLファイルの作成
Eclipseのツールバー「新規AndroidXMLファイル」ボタンをクリックする。
「新規 Android XML ファイル」ダイアログが現れたら、以下の設定とし「完了」ボタンを押す。
”IntentsSample1/res/layout/activity_b.xml”に生成された”activity_b.xml”ファイルを編集します。”activity_b.xml”タブをクリックします。ボタンを追加するコードを追加します。
⇒ アクティビティクラスの作成
Eclipseのメニューから「ファイル」、「新規」、「クラス」を選択し、「新規Javaクラス」ダイアログを開き、以下の内容に編集し「追加」ボタンを押す。
「実装されたインターフェースの選択」ダイアログが現れたら、「インターフェースを選択してください」テキストボックスに”android.view.view.OnClickListener”を入力し「OK」ボタンを押す。
「新規Javaクラス」ダイアログに戻ったら「完了」ボタンを押す。
”IntenttSample1/src/jp.andsys.android.intentsample1/ActivityB.java”に作成された”ActivityB.java”ファイルを編集します。
⇒ マニフェストファイルの修正
”IntenttSample1/res/AndroidManifest.xml”の “AndroidManifest.xml”にActivityBの情報を追記します。
③ 画面A側の処理
main.xml の編集
”IntenttSample1/res/layout/main.xml”
ActivityA.java の編集
”IntenttSample1/src/jp.andsys.android.intentsample1/ActivityA.java”
⇒ アクティビティのスタック
プログラムを実行すると画面Aが現れます。
ここで「画面Bを起動」ボタンを押すと、「画面A」の上に「画面B」が現れます。
「このActivityを閉じる」ボタンを押すと、「画面B」が消え、再び「画面A」が現れる。
3.入力結果を次の画面に表示する
画面Aから画面Bに値を渡すようにする。画面Aにリストボックスを追加し、選択された値を画面Bで表示する。
① リストボックスの追加
strings.xml の編集
”IntenttSample1/res/values/strings.xml”
main.xml の編集
”IntenttSample1/res/layout/main.xml”
activity_b.xml の編集
”IntenttSample1/res/layout/activity_b.xml”
② アクティビティクラスの修正
ActivityA.java の編集
”IntenttSample1/src/jp.andsys.android.intentsample1/ActivityA.java”
ActivityB.java の編集
”IntenttSample1/src/jp.andsys.android.intentsample1/ActivityB.java”
実行
リストボックスで画面Bに渡す文字を選択し「画面Bを起動」ボタンを押します。
「画面B」に文字が渡りました。
⇒ putExtraメソッドとget~Extraメソッド
putExtraメソッドには、String型以外にもbyte, short, int, long, float, double, char, boolean を格納するものが用意されている。
またget~Extraについても他の型の情報を取得するメソッドが用意されている。
③ 遷移元に戻るときに値を渡す
さらに画面Bから画面Aに値を渡すように変更する。
main.xml の編集
”IntenttSample1/res/layout/main.xml”
activity_b.xml の編集
”IntenttSample1/res/layout/activity_b.xml”
ActivityA.java の編集
”IntenttSample1/src/jp.andsys.android.intentsample1/ActivityA.java”
ActivityB.java の編集
”IntenttSample1/src/jp.andsys.android.intentsample1/ActivityB.java”
⇒ 実行する
「画面A」のリストで文字列を選択し、「画面Bを起動」ボタンを押すと文字列が渡ります。そして新たにテキスト入力が追加されました。ここで適当な文字列を入力します。
「このActivityを閉じる」ボタンを押すと、「画面A」に入力した文字が渡りました。
以上で「明示インテント」を終了します。
本記事は以下の参考書を元にしています。