電池残量を取得する方法 (1/4)

~ インテントの受信機を作る ~

前へ   1  2  3  4   次へ
androidアプリから電池残量を取得できます。ウィジェットと連携などを考えると少しややこしくなりますが、アプリからは比較的簡単に取得できます。まずは、アプリからの取得をしてみましょう。

1.電池残量を取得する

この講座では、簡単な電池残量取得アプリを作ります。電池残量を取得する大まかな手順は、次のようになります。

(1)ブロードキャストレシーバーでインテントを受け取る準備をする。
(2)電池の状態が変化したというインテントを受け取れるようにする。
(3)受け取ったインテントから電池残量情報を取り出して表示する。

ブロードキャストと言うものが、システム上のすべてのアプリケーションに、インテントと言うものを送っています。このインテントの中に、電池の情報も含まれています。要は、これを取得すれば良いわけです。それでは1つ1つ作って行きましょう。

2.プロジェクトを作る

これは、普通に作ればOKです。この講座では、

プロジェクト名SampleBattery01
ターゲットAndroid 1.5
アプリケーション名電池残量取得アプリ
パッケージ名sample.android.battery01
Activity名SampleBattery01
SDKバージョン3

ということにしておきます。何でもOKです。

3.ブロードキャストレシーバーでインテントを受け取る準備をする

まず、ブロードキャストレシーバを作ります。具体的には、BroadcastReceiverを継承したクラスを作るのですが、ここでは匿名クラスとしてSampleBattery01クラスの内部に作ることにします。BroadcastReceiverはonReceiveメソッドをオーバーライドする必要があります。実際、このメソッドでインテントを受け取ります。コードは次のようになります。

SampleBattery01.java

package sample.android.battery01;

import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;

public class SampleBattery01 extends Activity {
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
	}

	//受信機
	public BroadcastReceiver myReceiver = new BroadcastReceiver() {
		@Override
		public void onReceive(Context context, Intent intent) {
		}
	};
}

注意:匿名クラスの最後にはセミコロンが必要です。

4.インテントの受信機完成

これで、インテントの受信機ができました。でも、まだ実際には取得できません。システムからインテントが送信され、アプリケーションに受信機が準備できていても、その間にフィルターがあるんです。そこで次回は、インテントフィルターを設定して、電池の状態が変化したというインテントを受け取れるようにします。

前へ   1  2  3  4   次へ