اگر شما هم از طرفدارن اندروید و یا از برنامه نویسان اندروید هستید بدون شک برخی مواقع نیاز به نمایش اطلاعات باتری موبایل در بخشی از برنامه خود دارید.
اندروید با استفاده از کلاس BatteryManager این امکان را برای ما فراهم آورده است تا در هر زمان با استفاده از intent ACTION_BATTERY_CHANGED بتوانیم اطلاعاتی از قبیل دما، فن آوری، ولتاژ، وضعیت سلامت و حتی یک آیکن را دریافت و در برنامه ی خود استفاده نماییم.
در این آموزش قصد داریم با استفاده از Api باتری در اندروید صفحه ای ساخته و اطلاعاتی همچون وضعیت شارژ، سلامت، دما، تکنولوژِ و... باتری موبایل را دریافت و نمایش دهیم، پس تا انتهای مطلب با ما همراه باشید:
آموزش دریافت اطلاعات باتری در برنامه نویسی اندروید
1- ابتدا پروژه اندروید خود را ایجاد نمایید.
2- محتویات فایل main_activity.xml خود را مطابق زیر تغییر دهید:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/txtBatteryInfo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</RelativeLayout>
3- ایجاد Activity و Register Broadcast Receiver
کلاس MainActivity.java پروژه خود را بصورت زیر تغییر دهید:
import android.os.BatteryManager;
import android.os.Bundle;
import android.widget.TextView;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
public class MainActivity extends Activity {
private TextView txtBatteryInfo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
txtBatteryInfo = (TextView)findViewById(R.id.txtBatteryInfo);
registerReceiver(this.batteryInfoReceiver,new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
}
BroadcastReceiver batteryInfoReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
int health= intent.getIntExtra(BatteryManager.EXTRA_HEALTH,0);
int level= intent.getIntExtra(BatteryManager.EXTRA_LEVEL,0);
int plugged= intent.getIntExtra(BatteryManager.EXTRA_PLUGGED,0);
boolean present= intent.getExtras().getBoolean(BatteryManager.EXTRA_PRESENT);
int status= intent.getIntExtra(BatteryManager.EXTRA_STATUS,0);
String technology= intent.getExtras().getString(BatteryManager.EXTRA_TECHNOLOGY);
int temperature= intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,0);
int voltage= intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE,0);
txtBatteryInfo.setText("Health: "+health+"\n"+
"Level: "+level+"\n"+
"Plugged: "+plugged+"\n"+
"Present: "+present+"\n"+
"Status: "+status+"\n"+
"Technology: "+technology+"\n"+
"Temperature: "+temperature+"\n"+
"Voltage: "+voltage+"\n");
}
};
}
اگر به کد بالا دقت کنید متوجه خواهید شد که ما از کلاس BroadcastReceiver برای دریافت اطلاعات باتری گوشی موبایل استفاده کرده ایم، در اندروید برای دریافت اطلاعات باتری ما نیاز به register کردن یک BroadcastReceiver و یک IntentFilter داریم که آن را بصورت زیر تعریف کرده ایم:
registerReceiver(this.batteryInfoReceiver,new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
سپس بصورت زیر اقدام به دریافت اطلاعات و نمایش آن در textView مورد نظر کرده ایم:
BroadcastReceiver batteryInfoReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
int health= intent.getIntExtra(BatteryManager.EXTRA_HEALTH,0);
int level= intent.getIntExtra(BatteryManager.EXTRA_LEVEL,0);
int plugged= intent.getIntExtra(BatteryManager.EXTRA_PLUGGED,0);
boolean present= intent.getExtras().getBoolean(BatteryManager.EXTRA_PRESENT);
int status= intent.getIntExtra(BatteryManager.EXTRA_STATUS,0);
String technology= intent.getExtras().getString(BatteryManager.EXTRA_TECHNOLOGY);
int temperature= intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,0);
int voltage= intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE,0);
txtBatteryInfo.setText("Health: "+health+"\n"+
"Level: "+level+"\n"+
"Plugged: "+plugged+"\n"+
"Present: "+present+"\n"+
"Status: "+status+"\n"+
"Technology: "+technology+"\n"+
"Temperature: "+temperature+"\n"+
"Voltage: "+voltage+"\n");
}
};
}
در نهایت با اجرای پروژه خروجی شما بصورت زیر خواهد بود:
امیدوارم از کد نویسی لذت ببرید! در صورتی که سوالی دارید یا پیشنهاد بهتری در مورد نمایش اطلاعات باتری دارید از بخش نظرات برای ما ارسال کنید
برای اطلاع از پاسخ به نظر شما می توانید ایمیل یا شماره موبایل خود را وارد نمایید. *
ایمیل و شماره موبایل شما کاملا مخفی خواهد ماند و در سایت نمایش داده نخواهد شد. *
هنوز برای این مطلب نظری ارسال نشده است!