My Home on the Web. Where the Code Snippets Run Free.

Android App – COMP3617 – Part 1

Android App - COMP3617 - Part 1

What’s This About?

This series documents my learning and development in Android as part of the BCIT : COMP 3617 – Android and Mobile Applications in Java course. This course is also my final course in the Advanced Java Development: Part-time, Associate Certificate offered at BCIT. Due to some weird timing, I’m looping back to finish this 3xxx level course after the 4xxx courses.

I have not blogging any other courses in detail, as most of the courses had a set final project that is often reused over semesters by the instructors. Furthermore, the JEE related courses (COMP3613, COMP4613 and COMP4656) also required access to internal SQLServers at BCIT. This course is a bit different, with a more open-ended final project. Therefore I’ll be blogging the development and posting code to GitHub.

I’ll also be trying to use some course concepts acquired in other course, such as the Rational Unified Process and correct OOP Design Patterns.

That doesn’t mean I haven’t been busy, though. And having fun. You can find me over at CodeRanch on a regular basis, still. And I had the privilege of becoming a Poster-Boy for BCIT in 2015.

Android Requirements

Android OS Logo

Caveat: This project will develop over the next 12 weeks or so in an iterative fashion as I learn more about Android. This will not be a typical after-the-fact tutorial, but will evolve and grow as requirements and scope change. Just like real-world code does.

  • Android Studio v1.5.1
  • Android SDK 16 or Higher

That’s it for now.

Project Selection

My plan is to develop a child oriented Math app. The app would be small child friendly, with no ads or instructions they needed to read or understand. I always hate apps that present a wall of instructional text for kids 5 – 7 years old to “read”. I want to create something gender neutral and have settled on the idea of Bubbles.

Lastly, I want to support positive development. Generally, small child games increment difficulty until the child fails. I think that kind of sucks. The child always ends as a loser.


Splash Activity:

  • A splash page will display three options: A (BIG) Play Button, a Settings Button, and a Sound Off/On Toggle.
  • Settings can only be accessed by pressing and holding for 4 seconds. This should stop really small children from stumbling in here.

Settings Activity:

  • Parents would have access to a Settings menu, activated through a delayed button.
  • Settings would allow child name and age details to be entered.

Play Activity:

  • Pressing Play will start the game. If more than one Child is registered to the app, a screen will appear with their name so the child can choose.
  • A puzzle will show at the bottom of the viewport. For example: “1 + ___ = 4”.
  • The main viewport area will show random numbers surrounded in Bubbles. One number will be the correct number.
  • The child would need to “pop” the bubble to answer the puzzle.
  • Choosing the wrong Bubble won’t end the game. Instead, the bubbles will move around and the wrong number will reappear in the main board.
  • The child will have a preset time to complete based on age. Once expired, the correct Bubble will begin flashing.
  • Should the correct Bubble still not be popped, the Bubble will automatically pop after another set time period.
  • A game will consist of 5 rounds. Question difficulty will be based on the child’s age.

That should allow for plenty of future expansion. The math can keep getting harder, adding multiplication, division and subtraction. GeoLocation can deliver the scores to a Report Card Monitor Service, from which parents can receive and view “report cards” comparing their child to others in similar geographical areas.