Week 3
The following has taken place between the 11th and the 17th of May 2009
*All services are now consumed…*
Android Store progressServices side:
I’ve finally found a way posting and parsing the atom feeds exchanged
between the android client and the web store using android’s native
DefaultHttpClient, http client methods (HttpPost, HttpGet, HttpDelete), and
the SAX API. The atom feed is then considered like a simple XML stream.
The following methods have been implemented for the ShoppingCartProxy class:
- addItem()
- clearCartContent()
- getItems()
- removeItem()
And a new package named services.atom.xml has been created with the
following classes:
- AtomXML wth the following static methods:
- getItems()
- performDelete()
- postItem()
- CartItemHandler which is used to parse the atom feed.UI side
I spent couple of days tweaking android to create a custom layout for the
catalog and the shopping cart’s ListViews in vain. In fact, i was trying to
make it look like what’s on the picture below so that only the buttons will
be clickable. I finally ends with nothing, and i think, i’m finally going to
make each ListView row directly clickable, but with a small imageview at its
right side (red cross for the shopping cart, and green plus for the
catalog). I guess it’ll look on that way a little bit prettier than now.
[image: custom_layout]
Porting Tuscany’s module onto android
I’ve been quickly briefed on the retrotranslator, and his feature of
converting Tuscany’s module to get working on android. Sounds very amazing
how it may automatically handles apis android doesn’t support natively, and
am already looking forward getting deeper into it. Well, *how does it
work? Is there any location for the source code?* I guess i’ll have to
learn a lot from Oscar about that!!
Seems like another alternative will be to rewrite each of the extensions,
or should i say adapt each module’s source code to the android platform and
limit non supported API imports. In that case, it will be interesting to
build a priority list of the extensions to be ported, and after importing
each one, implementing a use case to illustrate it or an adaptation of any
existing use case already provided for desktop environment.
I’ll be analyzing both ways till the end of May, and according to the
constraints i’ll choose with the community’s help a way dealing with all
this.
--
Best Regards
Lookman SANNI
http://blog.lookouster.org
MSBI Intern at Umanis Tours Services;