The Tour Guide App

We had started to create multi-page apps and now to build on that we were tasked with building a Tour Guide app. The brief was to make our own multi-screen Android app to share our knowledge about a city that we knew well. It was to include top attractions, restaurants, public places or events for the city. We were shown how to create proper data structures to store lists of information and then build layouts to display those lists of data. We were to navigate through those lists in Fragments using a ViewPager or Navigation Drawer; creating out own custom classes to do so and properly handling images and/or audio if applicable.

I chose to base my Tour App on the City of Nottingham and I included places to stay – mostly hotels, places to eat – restaurants and takeaways, places to explore like Theatres and castles, and finally, a section on Museums. Each item on each of the lists when clicked takes you to the venue’s website and navigating between lists is as easy as a swipe left or right.

Creation of this app introduced me to allowing permissions in the manifest (Internet) and making those Arrays of the data and image assets. It was also the first time that I had come across Fragments usefully. I had read about them in Stack Overflow posts but until this time they had remained some mystical far off land to be explored sometime in the future. We were also encouraged to up our game in terms of styling and polish of our app. I was very pleased with this app and I may well go back and add extra venues and categories to make it more complete and useful – once the Covid-19 pandemic is over and people can get out to visit these sorts of places.

When most people think of Nottingham they probably think “Robin Hood” who was probably not a real person but a couple of fun facts; D.H. Lawrence lived and wrote just outside of Nottingham in Eastwood and William Booth founded the Salvation Army in Nottingham and there is a museum to him and the Salvation Army in Nottingham centre. It is in my app just a bit lower on the museums page.

Advertisement

The Nanodegree Proper and the Musical Structure App

I had been accepted onto the Android Basics Nanodegree full scholarship and after wondering would I make the grade, I was finally relieved and excited.

The course continued with us going through the creation of “The Miwok App” – an app that was written to educate people about the language of the Miwok people – a group of native American people. The next project was to design an app to achieve a certain goal or purpose. We were going to create new activities, use explicit intents to link between activities in the app, use onClickListeners – written in Java this time – to add behaviour to to buttons, create our own custom class, looping through an ArrayList and populating a ListView or GridView with an ArrayAdapter.

The Miwok app “held our hand” through production of such an app and gave us the basis to create our own “masterpiece”. In addition to what was required with our project, the Miwok app also played .wav files of pronunciation of the Miwok words but that wasn’t required for our project.

I decided to create a Music Player App with a front page with a picture and several buttons leading to other activities – each was a genre of music – Rock, Pop, Classical, Disco and Country. Each activity had lists of music from that genre which was created from a list using ListView. Each other activity had buttons to move within the app to each other activity and to the home plus another button which displayed a “Playing Now” page. The purpose of the app was to practice Intents, ListView, Arrays(which made up the lists) and ArrayAdapter. The app didn’t actually play any music; that would be for another lesson some time in the future.

I was really quite pleased with the way that it turned out but to be honest, I look forward to a time when I can style an app to be a bit more visually appealing. I may well add some functionality to it at a later date too – such as actually linking the buttons to real music and actually getting my list/array form an API which is constantly updated. Maybe, some day….