Simple Data Uploader App Update

I made changes to the design of the Simple Data Uploader App so that the screens look more generic and the application also retrieves the list of paired devices. The blood pressure monitor screen has one of the devices selected below (which happens to be the blood pressure monitor) and also has text within a scrolling view underneath that list (not a ScrollView). Notice how the text for instructing the developer how to connect devices at the top of the scrolling view is chopped (I scrolled in such in a way that it would be visible in the screenshot).

Updated Version

The other screens also look very similar and all of them will also eventually connect to MyOSCAR.


Simple Data Uploader App

I have started designing the UI for the Simple Data Uploader App and I have managed to come up with a design using the graphical XML tool on ADT Eclipse. Here are some screenshots below:

A&D Weight Scale

A&D Blood Pressure Monitor

BluGlu Bluetooth Dongle

Polytel Bluetooth Dongle

This application will in the future be able to take any medical device readings and push it to MyOSCAR.

MMDI – The Integration of Polytel GMA Device

In the past week, a progress has been made – the Polytel GMA device was integrated into the MMDI project. With the integrated Polytel GMA device, the blood glucose readings from LifeScan oneTouch Ultra, Ultra 2 or UltraMini glucose meters can be transferred to Android (PhoneGap) devices using Bluetooth wirelessly.


This is another integration of Bluetooth adapter for LifeScan blood glucose meter products. The first integrated Bluetooth adapter for our MMDI project is the bluglu device, which can work with OneTouch UltraMini blood glucose meters.

Demo MMDI – Migration to Java Update

Managed to populate the list of paired devices. Here is what I had to do:

  • Copied the Bluetooth classes into this project.
  • Removed files that are no longer required. For example command files are used to call Java from JavaScript.
  • Added the BluGlu JAR file.
  • Removed references to Cordova. However, some of the methods have to be modified accordingly. All of these have been marked with a todo.
  • Added Bluetooth security permission to the manifest file.
  • Populated list of paired devices with the device names.

This code has been checked into the following repository:

Demo MMDI – Migration to Java Update

I have managed to work the addition of items to the drop-down menu in the Java version of the Demo MMDI app. On its own, there is no issue with the addition of items to the menu itself (see screenshot below). However, when I attempt to automatically retrieve the list of paired devices from my phone at startup, my application crashes. I have pinpointed the error to the line Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices(); The error is with mBluetoothAdapter.getBondedDevices() because Set<BluetoothDevice> pairedDevices = null; works fine, however, even if I run the line mBluetoothAdapter.getBondedDevices(); on its own, the application will still crash. I have looked online and I could not find any working solutions and I do have Bluetooth enabled.

Demo MMDI Java

Update On “HealthFirst”

Table Of Contents:

  1. Introduction
  2. Features
  3. Dependencies
  4. Conclusion


Currently I’m working on HealthFirst which is a Heart Rate Monitoring and Weight Management Health care application in Android. I am using Robotium Unit Testing Framework which helps me build a solid application with the least amount of bugs. I am using GraphView to generate graphs for the UI. I am also using the Zypher Library to connect to the device.  I’m planning to use withings wireless weight scale but users will be required to register on withings website.


  • Heart Rate Monitoring
  • Weight Management
  • Goal Management
  • Wireless bluetooth reading of Heart Rate Monitor and weight scale
  • Graphs for seeing progress of goal
  • Storing information in database on the mobile device
  • Syncing data with MyOscar personal health record system


  • graphview – Generating Graph UI library
  • HxMBT – Zypher library
  • Robutium – Testing


Users may want to login to this system with a username and password. If that is the case then I would need to design a way to create user account. I am trying to find a plan that would make automation possible but due to time constraints I will research to find out how long it will take before going into test implementation.


I am currently implementing my design and testing my code I will post another blog post with updates.


Zakeria Hassan

Software Developer | Research Assistant ,  CDOT – Seneca College

Twitter: @Prospect1010

“Empowerment of individuals is a key part of what makes open source work, since in the end, innovations tend to come from small groups, not from large, structured efforts.”
— Tim O’Reilly

Demo MMDI – Migration to Java

I have re-designed the UI for the first screen of Demo MMDI in native Java code. While it does not yet have any functionality, I have managed to replicate a similar look. In addition, I am in the process of having the list of paired devices be automatically populated at startup. Although this task is not yet complete, I am in the middle of working on that functionality.