آموزش دریافت اطلاعات باتری در برنامه نویسی اندروید

آموزش دریافت اطلاعات باتری در برنامه نویسی اندروید

در این آموزش قصد داریم با استفاده از Api باتری در اندروید صفحه ای ساخته و اطلاعاتی همچون وضعیت شارژ، سلامت، دما، تکنولوژِ و... باتری موبایل را  دریافت و نمایش دهیم

اگر شما هم از طرفدارن اندروید و یا از برنامه نویسان اندروید هستید بدون شک برخی مواقع نیاز به نمایش اطلاعات باتری موبایل در بخشی از برنامه خود دارید.

اندروید با استفاده از کلاس 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");

     }
   };
}

 

در نهایت با اجرای پروژه خروجی شما بصورت زیر خواهد بود:

آموزش گرفتن اطلاعات باتری گوشی اندروید

 

امیدوارم از کد نویسی لذت ببرید! در صورتی که سوالی دارید یا پیشنهاد بهتری در مورد نمایش اطلاعات باتری دارید از بخش نظرات برای ما ارسال کنید


دسته بندی ها:

پی اچ پی

ارسال نظر

برای اطلاع از پاسخ به نظر شما می توانید ایمیل یا شماره موبایل خود را وارد نمایید. *

ایمیل و شماره موبایل شما کاملا مخفی خواهد ماند و در سایت نمایش داده نخواهد شد. *

اگر نظری برای این مطلب ارسال شد از طریق ایمیل مرا اطلاع بده!
لسیت نظرات
هنوز برای این مطلب نظری ارسال نشده است!