Appy Builder: Using the BatteryStatus component #AppInventor #AppyBuilder #STEM #Programming

A reader asked if there is a way to determine the status of the Android device battery in MIT App Inventor. Unfortunately, App Inventor does not provide a way to check the battery status … but Appy Builder does!

To answer that question, our first Appy Builder app is a simple tutorial showing how to use the BatteryStatus component in Appy Builder.

User Interface

The output is displayed after pressing the Start button and shows that my phone’s battery is at 99% and was plugged in to the AC power charger.

In this screen shot, the phone was unplugged from the battery charger and the “plugged in” status has changed to UNKNOWN.

Designer View

I created this screen by adding a Button control, and then adding six HorizontalLayouts. Inside each layout, I dragged two Label controls, setting one to the descriptive text (such as “Battery level:” and the second to be used to display the status for that property).

Blocks View

The BatteryManager has several properties that describe aspects of the battery.

Before the properties may be used you must activate the BatteryManager by setting the .StartMonitoring property to true; this must be done separately as shown below. Errors occurred when I put that code inside the button’s .Click handler. Instead, I moved the StartMonitoring assignment to the Screen1.Initialize event handler and everything worked fine.

  • BatteryLevel – the battery’s current level in percent
  • BatteryTemperature – the temperature of the battery in degrees Celsius
  • BatteryPresent – true (my phone does not permit me to remove the battery)
  • BatteryPlugged – returns “AC” if the device is connected to a charger, or UNKNOWN if the device is not plugged in. This might also return “WIRELESS” if the device is currently using a wireless charger (based on Android BatteryManager API).
  • BatteryVoltage – battery voltage. A typically value will be near 4 volts plus or minus for most phones.
  • BatteryHealth – GOOD. I presume this returns a value corresponding to the Android BatteryManager API, which includes COLD, DEAD, GOOD, OVERHEAT, OVER_VOLTAGE, UNKNOWN and UNSPECIFIED_FAILURE.

Download Source

Right-click (or Ctrl-click on Mac OS X) and use your browser’s feature to save this file to your computer: BatteryStatus.aia

Then, use Projects | Import selected project (.aia) from my computer … to load the file into Appy Builder

What is Appy Builder? Why should App Inventor programmers be interested?

Appy Builder is an independent and enhanced version of MIT App Inventor that builds upon App Inventor by adding many new features.

For the most part, Appy Builder’s interface is nearly the same as that of MIT App Inventor. If you have been programming apps with App Inventor, switching over to Appy Builder is very easy.

More Features

Appy Builder is built upon the App Inventor base but expands by adding new features and components:

  • Appy Builder adds components that enable you to earn money with your apps by adding paid advertising within your apps or by offering items for sale from within your apps
  • Appy Builder adds enhanced data storage features including SQL Lite
  • Access to more “sensor” controls on your Android device, including Battery Status information. Access to some WiFi connection information (Is WiFi currently connected?)
  • More components and properties (the User Interface Palette in Appy Builder has 22 components while MIT App Inventor has 14)
  • Many components have more features. For example, a Label in MIT App Inventor has six properties but in Appy Builder, a Label has 16 properties that you can set.
  • Improved Google Mapping capabilities.
  • You can control the use of the camera flash in Appy Builder but not in MIT App Inventor.
  • Appy Builder has an online forum for asking questions, answering others’ questions

The above is only a general summary to give you an idea of the enhancements available at Appy Builder.

MIT App Inventor showed the world that programming can be made easier by using a graphical user interface programming model. Further, App Inventor demonstrated that remarkably powerful apps can be created using this simplified approach to programming.

Appy Builder takes the App Inventor ease of use model and extends that to add more capabilities. Clearly, drag and drop programming makes programming accessible to more people. Appy Builder is an important contribution to the continually improving and evolving world of app development.

How to Use Appy Builder?

Go to: http://appybuilder.com

And sign in for a free account or a paid account. Paid accounts offer more features and capabilities.

Try it out! In addition to the generic “Free” account, you can also get 30 days free access to their Gold account to learn about their more advanced features and decide if those features are right for you.

More Coming

I will be publishing tutorials on some Appy Builder features – I know that many readers are already looking for solutions that are provided by Appy Builder.