WordPress Plugin 26[001 Prime Strategy Translate Accelerator] [WordPress]
翻訳ファイルをキャッシュして表示パフォーマンスを改善するプラグイン
英語以外の表示速度を改善させます。英語以外の言語の場合、翻訳用に1Mバイト以上ある辞書を利用しているため、これの読み込みに時間がかかっています。これをキャッシュすることで高速な表示を実現します。
インストール
WordPress管理画面のプラグインから検索すると見つかります。そのまま「今すぐインストール」を選択し「有効化」すれば使うことが出来ます。
実行
設定画面からキャッシュ対象を選択したり、キャッシュを有効/無効化できます。
参考資料
Androidプログラミングの基礎[8] メニュー [Android]
今回のテーマは「メニューとノーティフィケーション」です。
第8回: メニューとノーティフィケーション
1.オプションメニューを作る
Androidで頻繁に利用されるユーザーインターフェイスの1つに「オプションメニュー」がありまう。「MENU」ボタンを押すことで表示されます。
オプションメニューは最大6つまで表示され、7つ以上になると6つ目が「その他」となります。
◎ メニュー関連のクラス・インターフェイス
オプションメニュー、コンテキストメニューはともに、Menuインターフェイス(android.view.Menu)により管理されている。
⇒ オプションメニュー関連のイベント
「MENU」ボタンが押されるとActivityクラスのコールバックメソッドが呼ばれる。
メソッド | 解説 |
boolean onCreateOptionsMenu | 「MENU」ボタンが押されたときに呼ばれる |
boolean onPrepareOptionMenu | オプションメニューが表示される直前に呼ばれる |
boolean onOptionMenuItemSelected | オプションメニューの項目がタップされたときに呼ばれる |
⇒ オプションメニュー用のXMLファイル
オプションメニュー用のXMLファイルは、プロジェクト作成時「res/menu」フォルダ内に作成されています。ファイル名はレイアウトXMLファイルと同じとなっている。
◎ サンプル
プロジェクト設定
・新規Androidアプリケーション
アプリケーション名 | MenuSample |
プロジェクト名 | MenuSample |
パッケージ名 | jp.andsys.android.menusample |
最小必須 SDK | API 8: Android 2.2 (Froyo) |
ターゲット SDK | API 18 |
次でコンパイル | API 10: Android 2.3.3 (Gingerbread) |
テーマ | None |
・プロジェクトの構成
ディフォルトのまま
・アイコンの属性
ディフォルトのまま
・アクティビティーの作成
Blank Activity
・Blank Activity
アクティビティ名 | MenuSampleActivity |
レイアウト名 | main |
ナビゲーション・タイプ | None |
menu_sample.xml の編集(メニュー用XMLファイル)
”MenuSample/res/menu/menu_sample.xml”
MenuSampleActivity.java の編集
”MenuSample/src/jp/andsys/android/menusample/MenuSampleActivity”
⇒ オプションメニューの初期化
onCreateOptionsMenu メソッド
機能 | 「メニュー」ボタンが押されたときに呼ばれるコールバックメソッド |
書式 | boolean onCreateOptionsMenu ( Menu menu ) |
引数 | menu : 作成するオプションメニュー |
inflate メソッド
機能 | メニューXMLファイルからメニューを構築する |
書式 | void inflate ( int menuRes, Menu menu ) |
引数 | menuRes : メニューXMLファイル名 menu : 項目を追加する対象 |
⇒ オプションメニューに対する操作
onPrepareOptionsMenu メソッド
機能 | メニューが表示される直前に呼ばれるコールバックメソッド |
書式 | boolean onPrepareOptionsMenu ( Menu menu ) |
引数 | menu : 操作項目を操作する対象 |
findItem メソッド
機能 | 指定したリソースIDのメニュー項目を取得する |
書式 | MenuItem findItem ( int id ) |
引数 | id : メニュー項目のリソースID |
setEnabled メソッド
機能 | メニュー項目の有効/無効を指定する |
書式 | MenuItem setEnabled ( boolean enabled ) |
引数 | enabled : 有効の場合true、無効の場合false |
⇒ オプションメニューが選択された時の処理
onOptionsItemSelected メソッド
機能 | メニュー項目をタップした時に呼ばれるコールバックメソッド |
書式 | boolean onOptionsItemSelected ( MenuItem item ) |
引数 | item : タップされたメニュー項目 |
⇒ 実行
「MENU」ボタンを押すとメヌーが表示されます。
また各項目を押すと押した項目がトーストにって表示されます。
2.コンテキストメニューを作る
コンテキストメニューは状況に応じて表示するメニューで、画面の長押しでポップアップされます。
◎ コンテキストメニュー関連のクラス・インターフェイス
コンテキストメニューの操作は、ContextMenuインターフェイス(android.view.ContextMenu)で行います。
⇒ コンテキストメニュー関連のイベント
ビューが長押しされると、以下のようなActivityクラスのコールバックメソッドが呼ばれる。
メソッド | 解説 |
void inCreateContextMenu | ビューが長押しされたときに呼ばれる |
boolean onContextMenuItemSelected | コンテキストメニューの項目がタップされたときに呼ばれる |
◎ サンプル
main.xml の編集
”MenuSample/res/layout/main.xml”
コンテキストメニュー用のレイアウトXMLを追加する。
Eclipseメニューから「ファイル」、「新規」、「その他」を実行し「Android」「AndroidXMLファイル」を選択する。
設定は以下の内容とする。
設定項目 | 入力値/選択項目 |
リソース・タイプ | Menu |
プロジェクト | MenuSample |
ファイル | context_menu |
ルート要素 | menu |
context_menu.xml の編集
”MenuSample/res/menu/context_menu.xml”
MenuSampleActivity.java の編集
”MenuSample/src/jp/andsys/android/menusample/MenuSampleActivity”
⇒ コンテキストメニューの作成
onCreateContextMenu メソッド
機能 | ビューが長押しされたときに呼ばれるコールバックメソッド |
書式 | void onCreateContextMenu ( ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo ) |
引数 | menu : 項目を作成するコンテキストメニュー v : 長押しされたビュー menuInfo : コンテキストメニューの作成に関する追加情報 |
⇒ コンテキストメニューが選択された時の処理
onContextItemSelected メソッド
機能 | コンテキストメニューの項目がタップされたときに呼ばれるコールバックメソッド |
書式 | boolean onContextItemSelected ( MenuItem item ) |
引数 | item : 選択された |
setText メソッド
機能 | 引数で渡した文字列をクリップボードへ格納する |
書式 | void setText ( CharSequence text ) |
引数 | text : クリップボードに格納する文字列 |
getText メソッド
機能 | クリップボードに格納されている文字列を取得 |
書式 | CharSequence getText () |
引数 |
⇒ 実行
テキストボックスを長押しするとメニューが現れます。このメニューから文字列の操作(編集、文字列の選択等)を行います。
次に選択された文字列を長押しするとカット&ペーストメニューが現れます。
カット&ペーストした文字列は上部のラベルエリアに張り付けることも可能です。
3.ノーティフィケーション
ノーティフィケーションとは、システムのステータスバーを開いた領域にアイコンとメッセージで通知を行うインターフェースのこと。
◎ ノーティフィケーションに関連するクラス
表示手順
- Notificationクラスのインスタンスを生成
- ノーティフィケーションをタッチした時にアクティビティを起動するためのインテントを準備
- インテントを元に、PendingIntentクラスのインスタンスを生成
- ノーティフィケーションにPendingIntentをセット
- NotificationManagerにノーティフィケーションを登録
⇒ Notificationクラス
Notification クラスのコンストラクタで基本設定を定義する。
書式 | Notification ( int icon, CharSequence tickerText, long when ) |
引数 | icon : ノーティフィケーションを受信した時にステータスバーに表示されるアイコンのリソースID tickerText : ノーティフィケーションを受信したときにステータスバーに表示されるテキスト when : ノーティフィケーションに表示する時刻 |
⇒ PendingIntentクラス
PendingIntentクラス(android.app.PendingIntent)は、ノーティフィケーションがタップされたタイミングでインテントを送信します。
⇒ NotificationManager
NotificationManagerクラス (android.app.NotificationManager)は、Notificationオブジェクトを登録し、notifyメソッドでステータスバーに表示する。
◎ サンプル
プロジェクト設定
・新規Androidアプリケーション
アプリケーション名 | NotificationSample |
プロジェクト名 | NotificationSample |
パッケージ名 | jp.andsys.android.notificationsample |
最小必須 SDK | API 8: Android 2.2 (Froyo) |
ターゲット SDK | API 18 |
次でコンパイル | API 10: Android 2.3.3 (Gingerbread) |
テーマ | None |
・プロジェクトの構成
ディフォルトのまま
・アイコンの属性
ディフォルトのまま
・アクティビティーの作成
Blank Activity
・Blank Activity
アクティビティ名 | NotificationSampleActivity |
レイアウト名 | main |
ナビゲーション・タイプ | None |
main.xml の編集(メニュー用XMLファイル)
”NotificationSample/res/layout/main.xml”
NotificationSampleActivity.java の編集
”NotificationSample/src/jp/andsys/android/notificationsample/NotificationSampleActivity”
getActivity メソッド
機能 | PendingIntentインテントを登録する |
書式 | PendingIntent getActivity ( Context context, int requestCode, Intent intent, int flags ) |
引数 | context : コンテキスト requestCode : 使われていない「0」を渡す intent : 登録するインテント flags : 実際の送信が発生したときに渡すフラグ |
setLatestEventInfo メソッド
機能 | ノーティフィケーションのイベント情報を設定する |
書式 | void setLatestEventInfo ( Context context, CharSequence Title, CharSequence Text, Pending Intent ) |
引数 | context : 自身(this)を渡す Title : タイトル Text : 表示するメッセージ Intent : PendingIntentのインスタンス |
notify メソッド
機能 | ノーティフィケーションの表示 |
書式 | void notify ( int id, Notificaton notification ) |
引数 | id : ノーティフィケーションID notification : Notificationのインスタンス |
⇒ 実行
◎ その他の通知オプション
サウンド再生、バイブレーション、通知LEDランプ点灯、数値バッジの表示機能を追加する。
NotificationSampleActivity.java の編集
”NotificationSample/src/jp/andsys/android/notificationsample/NotificationSampleActivity”
Androidのデフォルト設定を使用する場合は、defaultフィールドを使用する。
⇒ 通知音
notification.defaults |= Notification.DEFAULT_SOUND;
⇒ バイブレーション
notification.defaults |= Notification.DEFAULT_VIBRATE;
⇒ 通知LED
notification.defaults |= Notification.DEFAULT_LIGHTS;
⇒ 数値アイコン表示
notification.number = 1;
実行
以上で「メニューとノーティフィケーション」を終了します。
本記事は以下の参考書を元にしています。