GDD 2011 のDevQuizに初めてチャレンジしました。
スライドパズルは・・・ですが、AndroidのAIDLの問題は解けたのでそれについて書きたいと思います。
問題の概要
以下のAIDLで定義されているサービスを持つAndroid アプリケーションを配布します。
プログラム作って解答コードを取得してね。
※AIDL(Android Interface Definition Language)とは、IDLの一種で、プロセス間通信行うためのものです。
準備
Androidプロジェクトを作成する。このとき、パッケージ名は配布アプリケーションと一緒じゃないといけない。
IQuizService.aidl ファイルをsrcに作成し、上のコードをコピペ。
配布されたAndroidアプリケーションを実機でも、エミュレータでもいいからインストールしたら、
メールアドレスとパスワードを入れる欄があったので、入力する。
メールアドレスはGDD 2011に登録したアドレスで、パスワードは問題文に書いてありました。
これで準備は完了。後はプログラム書くだけ。
方針は、
- アクティビティでボタンを押す→自分のサービスにバインド→配布アプリケーションと通信
- LogCatに答えを出す
以上
Activity
Service
bindService()で自分のサービスにバインドし、そこから配布されたアプリケーションにアクセスする。Class名にTestが付いてるけど、気にしない。
マニフェスト
serviceタグを記述する。
以上です。AIDL自体は知識としては知っていたけど、初めて使ったなぁ。
comments powered by Disqus