Assignment 1: Hello Mobile Application Development (HelloMAD) on the App Store
Individual Assignment
The purpose of this assignment is to help you get started with the Android development tools. You will “publish” your first application on the Android Play Store (formerly known as "the Android Market", or "the Market"). This application will evolve over the course into your final project. When you have an update, you will send it to the Play Store. We will grade the apps right off the Play Store.
Using the Hello Android text and materials on the Android developer web site (http://developer.android.com/sdk/index.html and http://developer.android.com/training/index.html), create a Hello Mobile Application Development (HelloMAD) application.
This is the program that you will update throughout the course.
Your app should have the following:
Your app should not be playing music from this main menu. (It will play music when the Sudoku game starts.) You must change the Sudoku music file to some other non-copyrighted music file.
It is important that the only people who can run your app are people in the class and the instructors. This for two reasons. First, you will be adding your new code to this app throughout the course. You don't want to to prematurely "release" ideas to the public and have them reviewing what you do. Second, and more importantly, the Sodoku code is copyrighted and you cannot release that as your own app.
Google now has an alpha and beta release option. You will use the alpha release functionality. Read about how this works from the Google page on Beta-testing and staged rollouts. The alpha group of testers will be the instructions and classmates who are members of this Google+ community: NUMAD15S. Immediately join Google+ and send your email to the TAs and ...@neu.edu so you are added to the group.
Your app should have the name NUMAD15S-[YourFirstName][YourLastName] on the phone (e.g., NUMAD15S-StephenIntille). Use the package edu.neu.madcourse.yourname (e.g., edu.neu.madcourse.stephenintille) for your code (this means you must refactor the package for the Soduku example, as well).
When you post on the Play Store, you will be required to supply some icons and screenshots. You need to create a unique icon for your class app and create the other images required by Google. Your icon should not include any copyrighted imagery. A simple idea is to just use your initials. Your app description should simply say, "This is an application developed for Northeastern University's class on Mobile Application Development."
As you complete this assignment and have “aha!” moments where you figure out tricky things that might hold other people up, you should post those to the Piazza message group. Good contributions helping peers on Piazza throughout the term will be considered in borderline grade decisions at the end of the term, so please use the message group to help each other.
In addition to submitting your app on the Play Store, you will also need to setup an account on Bitbucket where you will submit your project files using the source control program GIT and track bugs as you develop your work. Follow these instructions on using Git and Bitbucket. This will make it possible for the course staff to access your code for review. You need to learn to use Git properly so that you are incrementally committing your work to the Bitbucket repository. You should not include project specific files or build files in your Git repository.
By the deadline, you must have your app on the Play Store and your code repository setup in Bitbucket. You must have provided the TAs and Prof. Intille with access to your Bitbucket site.
Google recently updated Android Studio to the first release version, and they will stop supporting Eclipse in the future for Android development. Therefore, we will use Android Studio in the class this term. Android Studio is a merger of Google Android tools and the excellent IntelliJ IDE. Eclipse probably has a much larger user base right now, but IntelliJ has a great reputation and some very nice code checking/completion features and is definitely going to become the primary IDE for Android soon. Android Studio wants projects to have a slightly different directory structure than Eclipse (using the Gradle build system), so be aware you will need to change project structures in many sample projects use may use (including those from the books). Here is a step-by-step guide on getting the Sudoku example from the book working with Android Studio.
Test your app on the emulator with a Kyocera rise setting.
Hand in:
You submit your assignment by making it available for alpha testing on the app store by the assignment deadline. Your project should also be properly setup on Bitbucket and you should have granted access to the TAs and Prof. Intille.
Evaluation/feedback:
You will be graded based on how well you follow the instructions above. Details matter! As much as possible, we will provide feedback to you through Bitbucket as we will do in future assignments. Although it is subject to changes, this table will give you rough sense of how you will be assigned points.