共有やマッシュルームのリストの下の方に表示されるアプリを呼び出しやすくするアプリを自作しよう 特集その2

androidevelopers開発環境をインストールしたら、早速Androidアプリを自作してみよう。テキストを表示したりするだけの無意味なアプリを作っても面白くないので、コピペと簡単な文字列の変更だけで作れる実用的な小物アプリを例に解説するぞ。
今回作り方を紹介すのは、「共有」や「マッシュルーム拡張アプリ」のアプリ候補の上の方に表示され、選択すると他のアプリにリクエストを丸投げして呼び出すというアプリだ。使用頻度が高いのにリストの下のほうに表示されていちいちスクロールしないと選択できないアプリを、スクロールなしで素早く呼び出せるようになるぞ。
このようなアプリ候補の表示順改良は、対象アプリのパッケージを改造することでも実現は可能だが、対象アプリがバージョンアップする度に改造し直す必要があり面倒だ。中継アプリを自作する方法なら、作業は1回だけで済むぞ。

develop_0201この「マッシュルームシーケンサー」は、複数のマッシュルームアプリを素早く連続実行できる便利なアプリだが、名前が日本語なので表示位置がかなり下になってしまう。インストールしているアプリが多いと、リストをスクロールしなければ選択できず、非常に不便だ。これをリストの一番上から呼び出せるようにしてみよう。

develop_0202Androidアプリの開発準備を整えたEclipseで、メニューの「ファイル」→「新規」→「その他」を実行しよう。

develop_0203ツリーから「Android」→「Androidプロジェクト」を選択し、「次へ」を押す。

develop_0204「プロジェクト名」に適当な名前を入力し、「ビルドターゲット」で対象プラットフォームを選択したら、「パッケージ名」を入力し「完了」を押そう。パッケージ名は、全世界で重複しないように、自分の所有するドメイン名を「.」で分割して逆につなげた物などを前に付けるのが望ましいが、ネットで公開せずに自分だけで使う場合は、「com.example」など適当なドメインを前に付けておけばいいだろう。

develop_0205プロジェクトの作成が完了すると、プロジェクトエクスプローラに追加される。まずはツリーの「res」→「values」→「strings.xml」という項目をダブルクリックして開き、リソース要素一覧の右の「追加」を押そう。

develop_0206リソースの追加ダイアログで、「String」を選択し「OK」を押す。

develop_0207追加された項目を選択し、「Name」に「label」などと入力し、「Value」にアプリ選択リストに表示したい名前を指定して、Ctrl+Sキーを押して保存しよう。確実に一覧の上の方に表示させるためには、先頭に「*」などの記号を付ければよい。

develop_0208次に、「AndroidManifest.xml」を開き、メイン表示部分の下のタブで「アプリケーション」を選択し、左下のツリーで「Action」や「Category」の項目を選択し、「Name」を変更しよう。マッシュルーム拡張アプリとして呼び出せるようにするには、それぞれ以下のように指定する。

Action: com.adamrocker.android.simeji.ACTION_INTERCEPT
Category: com.adamrocker.android.simeji.REPLACE


develop_0209ブラウザなどの「共有」メニューに表示させる場合は、ActionとCategoryをそれぞれ以下のように指定したら、ツリーの右の「追加」を押して「Data」を選択し「Mime type」に「text/plain」を設定しよう。

Action: android.intent.action.SEND
Category: android.intent.category.DEFAULT


develop_0210次に、左下のツリーで「Intent Filter」を選択し、「Label」の欄で右の「参照」を押して、「string」→「label」など、先ほどstrings.xmlにリストの表示名として登録した項目を選択しよう。AndroidManifest.xmlの編集が完了したら、Ctrl+Sで保存しておこう。

develop_0211次に、ツリーの「src」にある拡張子「.java」のソースコードファイルをダブルクリックで開き、「super.onCreate(savedInstanceState);」の次の行に、用意した雛形プログラムをコピペしよう。何カ所か赤い下線が付く部分があるので、マウスカーソルを合わせると表示されるポップアップで「~をインポートします」という項目を選択してエラーを解消させよう。

develop_0212次に、「if(info.activityInfo.loadLabel(pm).toString().contains(“”)){」となっている行の「””」内のテキストを、リクエストを丸投げして呼び出したいアプリの表示名に置き換えよう。「シーケンサー」にすればマッシュルームシーケンサーが呼び出される。編集が完了したら、Ctrl+Sで保存しよう。

develop_0213次に、ツリーのプロジェクト名を右クリックして、メニューから「Androidツール」→「Export Signed Application Package」を実行する。

develop_0214対象プロジェクトが選択されていることを確認して「次へ」を押す。

develop_0215パッケージに署名するキーを選択する。初回は「参照」で適当な保存先ファイル名を選択し、パスワードを2箇所に入力しよう。2回目以降は、パスワードを入力するだけでいいぞ。

develop_0216初回は生成する鍵の設定を行なう。エイリアスに適当な名前を入力し、パスワードを2箇所に入力して、「Validity」を「30」くらいに設定し、「First and Last Name」に適当な名前を入力して「次へ」を押そう。2回目からは、エイリアスの選択とパスワードの入力だけでいい。

develop_0217次の画面で「参照」を押して保存先のファイル名を指定し、「完了」を押せば、アプリのインストール用パッケージが生成される。

develop_0218出来上がったAPKファイルを、USBストレージ接続などでAndroid端末のSDカード上に転送しよう。

develop_0219「ES ファイルエクスプローラ」などのファイルマネージャで転送したAPKファイルを開き、インストールを実行しよう。

develop_0220このように、マッシュルーム拡張アプリの選択画面の上部に、作成したアプリの項目が表示されるようになったぞ。


関連記事

2011年10月17日16時32分 公開 | カテゴリー: 便利化・快適化 | キーワード:, | Short URL
このエントリーをはてなブックマークに追加

最新記事