- We experiment with an option menu (the kind that appears when
you press the MENU button on a phone) and display a pop-up
message.
- We learn how to start a background thread and coordinate
communications between the background thread and the main
("UI") thread.
- We learn how to find out when the activity is going off-screen,
stopping and restarting our background thread as needed.
- We create a separate UI description for what the tabs should look
like when the phone is held in a landscape orientation.
- We finally add database support, so your restaurant data persists
from run to run of the application.
- We eliminate the tabs and split the UI into two separate screens
("activities"), one for the list of restaurants, and one for the detail
form to add or edit a restaurant.
- We establish a shared preference – and an activity to configure it –
to allow the user to specify the sort order of the restaurants in the
list.
- We re-establish the landscape version of our UI (lost when we
eliminated the tabs in Tutorial 12) and experiment with how to
handle the orientation changing during execution of our
application.
- We put LunchList on hold and start up a brand new project, Patchy,
for accessing identi.ca.
- We integrate the JTwitter JAR – an open source Java API for Twitter
and things supporting the Twitter API – into our application.
- We add a partial implementation of a service to the application, one
that will periodically poll identi.ca for timeline updates.
- We fully integrate the service from Tutorial 17 into the application,
showing the timeline updates in a list in the main activity.
- We split the service out into a separate project, accessed as a
"remote service" using inter-process communication (IPC).
xxvii