android电池信息简介

android电池信息简介

  1 <?xml version="1.0" encoding="utf-8"?>  2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  3  android:layout_width="match_parent"  4  android:layout_height="match_parent"  5  android:background="@color/background"  6  android:gravity="center_horizontal"  7  android:orientation="vertical" >  8  9 <TextView  10 android:layout_width="match_parent"  11  android:layout_height="wrap_content"  12  android:gravity="center_horizontal|center_vertical"  13  android:textSize="25sp"  14  android:text="电池信息简介" />  15  16 <ImageView  17 android:id="@+id/iv_battery"  18  android:layout_width="match_parent"  19  android:layout_height="80dip" />  20  21 <LinearLayout  22 android:layout_width="match_parent"  23  android:layout_height="wrap_content"  24  android:orientation="horizontal" >  25  26 <ImageView  27 android:id="@+id/imageView1"  28  android:layout_width="50dip"  29  android:layout_height="50dip"  30  android:layout_marginLeft="10dip"  31  android:background="@drawable/battery_temperature" />  32  33 <TextView  34 android:layout_width="140dip"  35  android:layout_height="wrap_content"  36  android:layout_marginTop="15dip"  37  android:textColor="@android:color/white"  38  android:text="电量来源:"  39  android:textSize="20sp" />  40  41 <TextView  42 android:id="@+id/textCD"  43  android:layout_width="match_parent"  44  android:layout_height="wrap_content"  45  android:textColor="@android:color/white"  46  android:layout_marginTop="15dip"  47  android:text="充电中!!"  48  android:textSize="20sp" />  49 </LinearLayout>  50  51 <View  52 android:layout_width="match_parent"  53  android:layout_height="1dip"  54  android:background="#FFFFFF" />  55  56 <LinearLayout  57 android:layout_width="match_parent"  58  android:layout_height="wrap_content"  59  android:orientation="horizontal" >  60  61 <ImageView  62 android:id="@+id/imageView2"  63  android:layout_width="50dip"  64  android:layout_height="50dip"  65  android:layout_marginLeft="10dip"  66  android:background="@drawable/battery_level" />  67  68 <TextView  69 android:layout_width="140dip"  70  android:layout_height="wrap_content"  71  android:layout_marginTop="15dip"  72  android:text="电池剩余容量:"  73  android:textColor="@android:color/white"  74  android:textSize="20sp" />  75  76 <TextView  77 android:id="@+id/textRL"  78  android:layout_width="match_parent"  79  android:layout_height="wrap_content"  80  android:layout_marginTop="15dip"  81  android:text="充电中!!"  82  android:textColor="@android:color/white"  83  android:textSize="20sp" />  84 </LinearLayout>  85  86 <View  87 android:layout_width="match_parent"  88  android:layout_height="1dip"  89  android:background="#FFFFFF" />  90  91 <LinearLayout  92 android:layout_width="match_parent"  93  android:layout_height="wrap_content"  94  android:orientation="horizontal" >  95  96 <ImageView  97 android:id="@+id/imageView3"  98  android:layout_width="50dip"  99  android:layout_height="50dip" 100  android:layout_marginLeft="10dip" 101  android:background="@drawable/battery_status" /> 102 103 <TextView 104 android:layout_width="140dip" 105  android:layout_height="wrap_content" 106  android:layout_marginTop="15dip" 107  android:text="电池状态:" 108  android:textColor="@android:color/white" 109  android:textSize="20dip" /> 110 111 <TextView 112 android:id="@+id/textZT" 113  android:layout_width="match_parent" 114  android:layout_height="wrap_content" 115  android:layout_marginTop="15dip" 116  android:text="充电中!!" 117  android:textColor="@android:color/white" 118  android:textSize="20sp" /> 119 </LinearLayout> 120 121 <View 122 android:layout_width="match_parent" 123  android:layout_height="1dip" 124  android:background="#FFFFFF" /> 125 126 <LinearLayout 127 android:layout_width="match_parent" 128  android:layout_height="wrap_content" 129  android:orientation="horizontal" > 130 131 <ImageView 132 android:id="@+id/imageView4" 133  android:layout_width="50dip" 134  android:layout_height="50dip" 135  android:layout_marginLeft="10dip" 136  android:background="@drawable/battery_technology" /> 137 138 <TextView 139 android:layout_width="140dip" 140  android:layout_height="wrap_content" 141  android:layout_marginTop="15dip" 142  android:text="电池电压:" 143  android:textColor="@android:color/white" 144  android:textSize="20dip" /> 145 146 <TextView 147 android:id="@+id/textDY" 148  android:layout_width="match_parent" 149  android:layout_height="wrap_content" 150  android:layout_marginTop="15dip" 151  android:textColor="@android:color/white" 152  android:text="充电中!!" 153  android:textSize="20sp" /> 154 </LinearLayout> 155 156 <View 157 android:layout_width="match_parent" 158  android:layout_height="1dip" 159  android:background="#FFFFFF" /> 160 161 <LinearLayout 162 android:layout_width="match_parent" 163  android:layout_height="wrap_content" 164  android:orientation="horizontal" > 165 166 <ImageView 167 android:id="@+id/imageView5" 168  android:layout_width="50dip" 169  android:layout_height="50dip" 170  android:layout_marginLeft="10dip" 171  android:background="@drawable/battery_plugged" /> 172 173 <TextView 174 android:layout_width="140dip" 175  android:layout_height="wrap_content" 176  android:layout_marginTop="15dip" 177  android:text="电池温度:" 178  android:textColor="@android:color/white" 179  android:textSize="20dip" /> 180 181 <TextView 182 android:id="@+id/textWD" 183  android:layout_width="match_parent" 184  android:layout_height="wrap_content" 185  android:layout_marginTop="15dip" 186  android:text="充电中!!" 187  android:textColor="@android:color/white" 188  android:textSize="20sp" /> 189 </LinearLayout> 190 191 <View 192 android:layout_width="match_parent" 193  android:layout_height="1dip" 194  android:background="#FFFFFF" /> 195 196 <LinearLayout 197 android:layout_width="match_parent" 198  android:layout_height="wrap_content" 199  android:orientation="horizontal" > 200 201 <ImageView 202 android:id="@+id/imageView5" 203  android:layout_width="50dip" 204  android:layout_height="50dip" 205  android:layout_marginLeft="10dip" 206  android:background="@drawable/battery_scale_2" /> 207 208 <TextView 209 android:layout_width="140dip" 210  android:layout_height="wrap_content" 211  android:layout_marginTop="15dip" 212  android:text="电池类型:" 213  android:textColor="@android:color/white" 214  android:textSize="20dip" /> 215 216 <TextView 217 android:id="@+id/textLX" 218  android:layout_width="match_parent" 219  android:layout_height="wrap_content" 220  android:layout_marginTop="15dip" 221  android:text="充电中!!" 222  android:textColor="@android:color/white" 223  android:textSize="20sp" /> 224 </LinearLayout> 225 226 </LinearLayout>

 

  1 package com.example.testdemo;  2  3 import android.app.Activity;  4 import android.content.BroadcastReceiver;  5 import android.content.Context;  6 import android.content.Intent;  7 import android.content.IntentFilter;  8 import android.graphics.Color;  9 import android.os.BatteryManager;  10 import android.os.Bundle;  11 import android.view.Window;  12 import android.widget.ImageView;  13 import android.widget.TextView;  14  15 public class MainActivity extends Activity {  16  17 private ImageView iv_battery;  18 private ImageView image; // 电池状态图片  19 private TextView textCD; // 电池充电状态  20 private TextView textRL; // 电池剩余容量  21 private TextView textZT; // 电池状态  22 private TextView textDY; // 电池电压mV  23 private TextView textWD; // 电池温度  24 private TextView textLX; // 电池类型  25  26 private BroadcastReceiver myBroadcastReciver = new BroadcastReceiver() {  27  28  @Override  29 public void onReceive(Context context, Intent intent) {  30 // TODO Auto-generated method stub  31 // 电池剩余容量  32 int level = (int) (intent  33 .getIntExtra(BatteryManager.EXTRA_LEVEL, 0)  34 / (float) intent.getIntExtra(BatteryManager.EXTRA_SCALE,  35 100) * 100);  36 textRL.setText(level + "%");  37 // 根据电量判断用什么图片  38 if (level > 45 || level <= 50) {  39  iv_battery.setImageResource(R.drawable.battery9);  40 } else if (level == 0) {  41  iv_battery.setImageResource(R.drawable.battery0);  42 } else if (level > 0 || level <= 10) {  43  iv_battery.setImageResource(R.drawable.battery2);  44 } else if (level > 10 || level <= 15) {  45  iv_battery.setImageResource(R.drawable.battery3);  46 } else if (level > 15 || level <= 20) {  47  iv_battery.setImageResource(R.drawable.battery4);  48 } else if (level > 20 || level <= 25) {  49  iv_battery.setImageResource(R.drawable.battery5);  50 } else if (level > 25 || level <= 30) {  51  iv_battery.setImageResource(R.drawable.battery6);  52 } else if (level > 30 || level <= 35) {  53  iv_battery.setImageResource(R.drawable.battery7);  54 } else if (level > 35 || level <= 45) {  55  iv_battery.setImageResource(R.drawable.battery8);  56 } else if (level > 50 || level <= 60) {  57  iv_battery.setImageResource(R.drawable.battery10);  58 } else if (level > 60 || level <= 65) {  59  iv_battery.setImageResource(R.drawable.battery11);  60 } else if (level > 65 || level <= 70) {  61  iv_battery.setImageResource(R.drawable.battery12);  62 } else if (level > 70 || level <= 75) {  63  iv_battery.setImageResource(R.drawable.battery13);  64 } else if (level > 75 || level <= 80) {  65  iv_battery.setImageResource(R.drawable.battery14);  66 } else if (level > 80 || level <= 85) {  67  iv_battery.setImageResource(R.drawable.battery15);  68 } else if (level > 85 || level <= 90) {  69  iv_battery.setImageResource(R.drawable.battery16);  70 } else if (level > 90 || level <= 100) {  71  iv_battery.setImageResource(R.drawable.battery17);  72  }  73 // 电池当前使用状态  74 // image.setImageResource(intent.getIntExtra(  75 // BatteryManager.EXTRA_ICON_SMALL, 0));  76 switch (intent.getIntExtra(BatteryManager.EXTRA_STATUS, 1)) {  77 case BatteryManager.BATTERY_STATUS_CHARGING:  78 if (intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 1) == BatteryManager.BATTERY_PLUGGED_AC)  79 textCD.setText("充电器充电中");  80 else  81 textCD.setText("USB充电中");  82 break;  83 case BatteryManager.BATTERY_STATUS_DISCHARGING:  84 textCD.setText("放电中");  85 break;  86 case BatteryManager.BATTERY_STATUS_FULL:  87 textCD.setText("已充满");  88 break;  89 case BatteryManager.BATTERY_STATUS_NOT_CHARGING:  90 textCD.setText("未充满");  91 break;  92  }  93 // 电池状态  94 switch (intent.getIntExtra(BatteryManager.EXTRA_HEALTH, 1)) {  95 case BatteryManager.BATTERY_HEALTH_DEAD:  96 textZT.setText("电池已损坏!");  97  textZT.setTextColor(Color.RED);  98 break;  99 case BatteryManager.BATTERY_HEALTH_GOOD: 100 textZT.setText("健康"); 101 break; 102 case BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE: 103 textZT.setText("电压过高"); 104 break; 105 case BatteryManager.BATTERY_HEALTH_OVERHEAT: 106 textZT.setText("温度过高"); 107 break; 108 case BatteryManager.BATTERY_HEALTH_UNKNOWN: 109 textZT.setText("未知"); 110 break; 111 case BatteryManager.BATTERY_HEALTH_UNSPECIFIED_FAILURE: 112 textZT.setText("未知故障"); 113 break; 114  } 115 // 电池电压 116 textDY.setText(intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, 1) 117 + "mV"); 118 // 电池温度 119  textWD.setText((intent.getIntExtra( 120 BatteryManager.EXTRA_TEMPERATURE, 1) / 10.0) + "℃"); 121 // 电池类型 122  textLX.setText(intent 123  .getStringExtra(BatteryManager.EXTRA_TECHNOLOGY)); 124 125  } 126  }; 127 128  @Override 129 public void onCreate(Bundle savedInstanceState) { 130 super.onCreate(savedInstanceState); 131  requestWindowFeature(Window.FEATURE_NO_TITLE); 132  setContentView(R.layout.activity_main); 133 textCD = (TextView) findViewById(R.id.textCD); 134 textRL = (TextView) findViewById(R.id.textRL); 135 textZT = (TextView) findViewById(R.id.textZT); 136 textDY = (TextView) findViewById(R.id.textDY); 137 textWD = (TextView) findViewById(R.id.textWD); 138 textLX = (TextView) findViewById(R.id.textLX); 139 image = (ImageView) findViewById(R.id.imageView1); 140 iv_battery = (ImageView) findViewById(R.id.iv_battery); 141 registerReceiver(myBroadcastReciver, new IntentFilter( 142  Intent.ACTION_BATTERY_CHANGED)); 143  } 144 145  @Override 146 protected void onDestroy() { 147 // TODO Auto-generated method stub 148 super.onDestroy(); 149  unregisterReceiver(myBroadcastReciver); 150  } 151 }

 完整代码下载:http://pan.baidu.com/s/1qWrznkg

你可能感兴趣的:(android)