Progress on GUI:
Up until last week, we had an Android app with three (non-functioning) GUI components, namely a ListView for listing search results, a TextView for showing the metadata, a MapView for showing the user’s location relative to bounding boxes of retrieved metadata records.
Added a configuration view for the user to enter the search keyword and the query frequency. Added a manual query button for debugging purposes.
Progress on CSW:
So far this is what the prototype can do…
Upon clicking on the manual query button the search keyword is added to a Catalogue service request which is then sent to the Catalogue service. The response is parsed using DOM then the ListView is populated with the titles of the retrieved metadata records. When the user clicks on a title in the ListView the rest of the metadata for that dataset is printed on the TextView.
The XML parsing and communication with the catalogue service is done in a separate thread using Android’s AsyncTask class. This is the recommended way for retrieving data over HTTP in Android because “Android is not thread-safe”. The AsyncTask method seems to work fine.
Every certain number of meters the Location sensor (GPS) is queried and the user’s current location is sent to a catalogue service, together with the search keyword.
Added a feature to make sure the ListView is only updated if there are changes in the list of returned search results.
Tags: implementation, JISC, JISCRI, progressPosts, rapidInnovation, SPACER, WIN
August 15, 2009 at 3:28 pm |
nice little Android/GPS tip for developers, makes life so much easier when you find one of these.
December 8, 2009 at 10:12 pm |
[...] Table of Content for Project Posts: Introducing SPACER Day-to-Day work Small Wins & Fails Project SWOTing User Participation-Use Case User [...]