ブロードキャストレシーバーとサービス

こんにちは!よしときです! 今回はAndroidのブロードキャストレシーバーとサービスについて学びました。 ブロードキャストレシーバーとはなんぞや、と思ってよくわからないまま作ったのですが「あーこれね!」という感じになりました。 以下画面の「インテントのブロードキャスト」を押すと   blog 2015-01-29 14.29.14       画面下にこいつが出てきますー   blog 2015-02-02 16.23.14   これはアクティビティとは違い、別画面に遷移させずに処理を行えるというメリットがあるらしいです。 しょっちゅうエラー表示でお出ましになるのはこいつでしたのねw   クラスは二つで構成されていて、プログラム本体に当たるものとブロードキャストレシーバーとなるクラスです。 プログラム本体と   ブロードキャストレシーバーのクラス   これに合わせてmanifest.xmlファイルにブロードキャストレシーバーを使いますというのを追加します   こんな感じです。すごくよく使うらしいのでしっかり覚えたいのですが、なんせ長いので徐々に覚えていこうと思います。。       次に行ったのがサービスの勉強です。 サービスというのはバックグラウンドで処理を行うもので、身近なアプリだと節電アプリとかでしょうか。。 アクティビティ(画面)を終了しても実行し続けます。こちらはゲームなんかじゃ余り使わなさそうですが、ツールなんかでは使えそうですね!   画面はこんなかんじ blog 2015-01-29 15.37.00 blog 2015-01-29 15.37.08 blog 2015-01-29 15.37.49 サービスを開始すると上のステータスバーにアイコンが現れてバックグラウンドで実行されていることが分かります。 今回作ったのは数秒ごとにMessageという文字列を表示させるプログラムで、サービスの操作を押すと現在の時刻が表示されるようになります。最後の写真はステータスバーをひっぱりだした写真で、ちゃんと実行されていることが分かります。   ソースは これがメインとなるクラスで、 こちらがサービスとなるクラスです。   さらにこれを起動するにはAIDL(Android Interface Definition Langage)というものが必要です。 これ、ぱっと見はただのインターフェースで、実際インターフェースに似てる動作で、 これを定義するとあるプロセスが別のプロセスのメモリにアクセスできるようになるようです。 なんのこっちゃ 非常にイメージしづらいが、このインターフェースもどきにサービスを投げてやることで別のプロセスでも実行できるという感じだろうか。 今回は こんな感じなんですが、、これを使うとメッセージが他のところでもつかえるよーといったとこかな?うーん、、 分かりづらいですが、結構テンプレ的な使い方のようなので使いながら覚えていこうと思います。。   サービスも先ほどと同様にManifest.xmlでサービスを使いますよーという宣言をしてやります 最後から三行目に<service android:name=”MyService”></service>というのが追加されてますね!これでサービスが使えます!   今回はこんな感じでした!おつかれさまです。

id-entity.jp

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です