From Notes

Jump to: navigation, search

About || Users || Field Tests || Development


About this Page

This page is for sharing information, design documents, source code, and APK files for the project.

Source Code

Link to Zip files here, with most recent on top and give a brief description of the new version.

Executable APK Files

These can be downloaded and installed on an Android phone.

QR Code for the Most Recent APK

Version File:TreeHeightCalculatorV8.apk

Interface Design

Multiple Screens

Example of Non-visible screen - the Visible property is unchecked
Example of Visible screen - the Visible property is checked

Since AppInventor does not support the "multiple screens" feature yet, Tree Height Calculator used a neat trick to simulate multiple screens. This is done by using the table structures of AppInventor. So, here is how everything works:

Each "virtual screen" is represented by a AppInventor ScreenArrangement

The "active screen" is the screen that is visible to the user. Therefore, when the App starts, most of the screens will be checked as invisible in the Designer window.

When the user has to go to a different screen, the current screen's visibility property is changed to Invisible and the next screen is set to visible.

Choosing Class Screen

The first screen of the App (the one that pops when you first run the application on your phone), is the Choose Class one - it lets you selects the class of students that will be working in that specific lab.

Moreover, when you select a class from the ListPicker, the interface will tell you to wait for the data to be downloaded from the WebDB, as explained in the next section (Database Design).

Measuring the angle

The measurement of the angle, implemented in a separate screen (as mentioned above), uses two interactive features of AppInventor:

  • The Orientation Sensor, which determines the inclination, which will be used further to computer the results;
  • The TextToSpeech, which helps the user verify the measured angle.

Results Page

The results page displays the results of the computations: the tree height, the circumference and the diameter of the tree.

The interesting part of this page is the Save Data button that lets the user save the recorded data in the phone's internal memory until uploading it to the online WebDB. Also, the buttons Redo Tree and New Tree are used to ease the process of creating a data new record.

Database Design

Database for Tree Cal app is created by using the google app engine. How to create you own database can be seen on the Users page.

Basically, the database design is based on the map data structure. Each Class has students, each students has personal data. We will have one array containing all the Students in one class. For example, we have envs-101 class and it has 20 students. So, there will be array with name "ENVS-101" with values of 20 students' names in it. Each student will have their own array as follow: StudentName[student personal datas]. In this way, we can fetch all the student datas out of each student by just looping through the class array, in this case ENVS-101.

The same technique is used for the trees. We will have tree group array with a bunch of tree names in it. We also have a single array for each tree in that group. We will fetch through the tree group to get access each tree individual data.

Known Issues

  1. Back Button
  2. Text to Speech for degree change
Personal tools
NSF K-12