Subscribe to News

Widget Manager for Android Bondi - Results

Author : Despino4

From TechnologicalWiki

Jump to: navigation, search
Widget Manager for Android BondiDevelopmentResultsReferences

Contents

Compliance with the BONDI requirements

The application allows to meet the BONDI requirements:

  • Messaging:
    • We have gotten to pass javascript callbacks and we can send, create sms and add or delete recipients.
  • Location:
    • The function “getCurrentPosition” returning the geolocation is implemented with its corresponding callback interaction.
    • The geolocation is adquired by gps or by the network depending on gps coverage and Android gps permissions.
  • Contacts:
    • We can get the contacts contained at the address book.


Application snapshots

There are several snapshots from the application:



Problems encountered during implementation

  • We found some problems because Android doesn’t allow to pass Map params from javascript to java (see BONDI reference), so we have done a javascript parser to avoid this problems which will be necessary on all BONDI-Android widgets.
  • In addition to this problem, there are another one related with property access, we can get property values using object.getProperty(“propertyName”), but we can’t get this values using the way object.property (eg: mysms.body) and it happens the same with setProperty.

Possible improvements

  • Improve or change the user interface.
  • Improve the accuracy of localization. Perhaps this circumstance may depend on the initialization parameters of the java class that handles this task.
  • Optimize access to the database that stores the installed widgets.
  • Optimize the tasks (threads or memory issues).
  • Investigate an strange issue observed during the downloading task:
    • We found a problem with obtaining the content type of the headers of the corresponding discharge. We realized that depending on the downloading url the content type was incorrect and this only happened when WiFi was the way of connection to the download. The problem never happened when the connection is made through 3G. This fact is quite strange because theoretically the behavior of the java client (library provided by apache) connecting through http does not have to depend on the nature of the connection.

Conclusion

  • We have successfully achieved the integration of Bondi on Android for:
    • Location.
    • Messaging.
    • Contacts.
  • The way to develop such functionality is like a simple java application. The more laborious process is the mapping of complex objects between Java and JavaScript.
  • The technique used to develop the functionality is being used by a rapidly growing community (PhoneGap). PhoneGap has MIT license.
Main Collaborators