Objectives: This lab is designed to give you practice:
- Developing a UI that uses a ListView
- Using a SimpleAdapter to load data into a ListView
- Parsing an XML file
Part 1: Do the textbook exercises shown below:
- 10-1, Review the News Reader app
- 10-2, (Optional) Work with asynchronous tasks (apply this in a future lab)
- 10-3, (Optional) Modify the News Reader app (none of our lab projects use RSS feeds)
Upload a text file to Canvas in which you will report, for each exercise above, whether you:
- Followed all the steps shown in the book and successfully compiled and ran the program (where applicable).
- Loaded the completed solution, experimented with the code, and ran the program (where applicable).
- Read through the steps and inspected the relevant code without writing or running a program.
- Didn’t do any of the above.
Part 2: For this lab assignment you will create an app that displays tide predictions for a coastal location. You will need to download an annual tide prediction file for a US coastal location from the NOAA web site: http://tidesandcurrents.noaa.gov/tide_predictions.html.
For example, you could download the annual tide predictions for the Florence, OR USCG station:
Display the tide chart using an activity that derives from ListActivity with a TwoLineListItem layout with an adapter derived from BaseAdapter that supports fast scrolling and a section index. The list adapter should use a list or array of custom objects (instances of a class you define that holds tide predictions). The section index should show the month. The list should show the date and time for each high and low tide (usually 4 per day). When you click on a row, it should show the height of the tide in cm using a toast. Your app will use an XML annual tide prediction file (download it from the NOAA using the XML button).
Format your ListView as shown in the example below:
High: 02:56 AM
Low: 08:30 AM
High: 02:02 PM
Low: 08:59 PM
2016/01/01 Tuesday <– Click here for toast
High: 03:29 AM
Low: 09:13 AM
High: 02:44 PM
Low: 09:33 PM
6.1 ft., 186 cm
Zip your project folder and upload it to Canvas.