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

~ 電池情報を表示する ~

前へ   1  2  3  4   次へ
androidの簡単な電池残量取得アプリを作っています。前回までで、電池残量は取得できました。今回は、これを表示して実際に取得できているか見てみます。

9.TextViewで表示する

これは普通です。ただ、onCreateの中ではなくて、ブロードキャストレシーバーのonReceiveの中で描写します。こうすることで、インテントを受け取ったときに表示が変わります。完成したソースコードは次のようになります。

10.サンプルソースコード

SampleBattery01.java

package sample.android.battery01;

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

public class SampleBattery01 extends Activity {
	private int scale;
	private int level;

	@Override
	protected void onResume() {
		super.onResume();
		//受信を開始
		IntentFilter filter=new IntentFilter();
		filter.addAction(Intent.ACTION_BATTERY_CHANGED);
		registerReceiver(myReceiver,filter);
	}
	
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
	}

	@Override
	protected void onPause() {
		super.onPause();
		//受信を停止
		unregisterReceiver(myReceiver);
	}

	//受信機
	public BroadcastReceiver myReceiver = new BroadcastReceiver() {

		@Override
		public void onReceive(Context context, Intent intent) {
			if (intent.getAction().equals(Intent.ACTION_BATTERY_CHANGED)) {
				// 電池残量の最大値
				scale = intent.getIntExtra("scale", 0);
				// 電池残量
				level = intent.getIntExtra("level", 0);
			}
			
			//結果を描写
			TextView textView = new TextView(context);
			textView.setText(""+level+"/"+scale);
			textView.setTextSize(64);
			setContentView(textView);
		}
	};
}

11.実行してみる

android電池残量アプリ完成

お~電池残量が表示されました。電池残量が減ったり、増えたりすれば、表示が変わるはずです。これで、androidの電池残量を取得する方法を終わります。また、別の機会に、電池残量を表示するウィジェットも解説したいと思います。

前へ   1  2  3  4   次へ