Great concert last night: "Jubilate", with music from coronations through the centuries.  "Zadok the Priest", of course, and "I was glad when they said unto me", with the "Vivats!" that Parry added for the coronation of Elizabeth II.  Also some less well known but lovely Elizabethan pieces including "Fair Oriana" by Robert Jones and "Come, Blessed Bird" by Edward Johnson.  And a Byrd piece, "O Lord, make thy servant Elizabeth our queen".

Plus "Jubilate Deo" by Walton.  All finished with a rousing chorus of Jerusalem and two verses of the National Anthem for the audience, with a bit of mumbling going on in the second verse.

My second concert with the Beaumaris, and most enjoyable.  Not a lot on over the summer, apart from a concert for forces veterans at Cosford airbase on 30th June, but then a very full autumn.
 
 
I can now reveal some first screenshots of the Android PCDB Waypoints app.  This is making great progress, and most of the important tables and supporting screens have now been ported from MS Access to Android and SQLite.  Most importantly, I can import the Access database tables, so PCDB Waypoints is getting a good deal of scaled-up testing.  That includes 344 routes, 2182 waypoints, 580 charts and 510 "places" (starting points or destinations).
Picture
This is the current startup screen.  It provides options, via buttons on the left-hand side, to display other information, but contains some basic stuff about the currently selected boat, which is used to calculate estimated times for routes and voyages.  It also uses the tablet's GPS to display the current position, which in this case is rather far from the sea!  Note that the position is displayed via a new Android widget called LatLong, which takes into account the user's desired representation (LLD, LLDM, LLDMS) and automatically handles changes to the components of a position to deliver merely the updated latitude and longitude values back to the App.  It saves the app from having to take these values apart to update the degrees, minutes, seconds and N/S or E/W buttons.

Picture
This shows a selected voyage, with its dates.  Note the list of available voyages on the left hand side.  Not also the ComboBox used to pick the boat on which the voyage will or did take place; this is an upgrade on the pseudo-ComboBoxes used in the current version of PCDB SuDoku Solver and fully supports a "not in list" capability as a callback.

Picture
This screenshot shows the details of a waypoint, in this case one I used on a trip to Ireland a few years ago.  Again, not the use of the LatLong widget to display the waypoint's position and support changes to it.  Also ComboBoxes for the waypoint's type (Icon) and the Folio, or geographic area, in which it lies.

Picture
This shot shows the list of waypoints associated with a route, in this case from East Ferry marina in Cobhto Kinsale which is the culinary capitol of Ireland.  It includes the "Cork 7" waypoint shown above.  Each waypoint is shown with its distance and bearing from the previous one, and the total distance is shown at the top.
There's more work to do yet on the presentation and layout of this screen, bu the data is there.

So it's well on the way.  Hopefully this app will be working and robust to support our trip to the Antrim coast later this summer!
 
 
Success at last.  I still can't work out how to get from a ListItemDropDown item to the owning ComboBox.  I thought at one point that getRootView() would do it, but no such luck.

No, the answer in the end hinges on the fact tat I developed the ComboBox widget and accompanying class, so I can do what I want with it.  One thing I can do is pass the ComboBox's TextView to the OnItemSelected callback, instead of the item selected from the list which is the default.  If I can find out the TextView in this way, I can get its ViewHolder and from there to the data held in the specific ComboBox.  After that, it all falls into place.

Su substantial progress today.  I can set up a list of Waypoints associated with a particular Route, populate it, define the order of Waypoints, and work out the distance and bearing from each Wayoint to the next and then display the total number of Waypoints in the Route an the total distance to travel.  All good stuff.  One or two more things to do with Routes, such as the ability to delete a Waypoint from a Route, and I can then start deploying this technology to the other main functions in PCDB Waypoints.

Then on to the really important things.  Updating my charts before our voyage to the Antrim coast in Northern Ireland in Caledonia this summer!
 
 
 
 
They say you can do anything in Android.  But there's one thing I can't find out how to do.  It doesn't seem unreasonable, but Andoid doesn't seem to have anticipated it yet.

I've implemented a ComboBox which works OK.  Now I want to implement a list of Waypoints associated with a particular Route.  The ListItem for this list is thus complex, and includes a waypoint number (so you can specify the order in which the waypoints are reached) and a ComboBox that specifies the waypoint.  Android is  very good at reusing the View entries that represent these list items.  It holds informat in something called a ViewHolder which represents the fields in a particular ListItem and any other information I want to hold in it.  You can associate the name of the ViewHolder with some of the controls in the ListItem, including the waypoint number, and if I change that I can update the appropriate database record OK.  But when I select a Waypoint from the ComboBox, I can't for the life of me find the ViewHolder that represents the ListItem that holds the ComboBox.  Instead it seems to pick an item at random, and return that to my code, so a purely random record gets updated.  Not at all what I want.

I'ts taken me severl days to get to this point, and I've learnt a lot bout implemet