Assignment 1: Hello Mobile Application Development (HelloMAD) on the App Store
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/guide/developing/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.)
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+ group: NUMAD14F. Immediately join Google+ and send your email to the TA and ...@neu.edu so you are added to the group.
Your app should have the name NUMAD14F-[YourFirstName][YourLastName] on the phone (e.g., NUMAD14F-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. Grab them from this file: MarketImages.zip. This includes the images you should use. Even though we are using staged rollout and your app should never appear on the Play Store during the class, in the unfortunate event you somehow release it we want your app look as unattractive as possible on the Play Store to discourage people from trying it. Any description should be entered as "This is a test application only."
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 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. 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.
By the deadline, you must have your app on the Play Store and your code repository setup in Bitbucket.
Decision time: To do this assignment you will need to make a decision about whether you want to use Android Studio (Google Android Tools + IntelliJ IDE) or Eclipse+ADT (Google Android Tools+ Eclipse). The Eclipse option is the more common one at the moment, and it is the option discussed in the textbook, but Google is moving towards making Android Studio the standard development platform. IntelliJ is a very good IDE that one gets to use when using Android Studio. There is no "right" path. At this point for someone starting from scratch, it might be easiest to start with Android Studio but more examples use Eclipse. Android Studio is still in beta, but Prof. Intille has found it to work perfectly fine. Juhi and Dinesh use Eclipse. Both IDE options have quirky bugs. Eclipse probably has a much larger user base, but IntelliJ has a great reputation and some very nice code checking/completion features. If you're familiar with Eclipse, you'll have to relearn commands and may occasionally find yourself hunting for ways to do things. Android Studio ideally wants projects to have a slightly different directory structure (to work with the Gradle build system). We will be able to compile and run your code using either the Android Studio or Eclipse IDE. Remember in both cases that you don't want to include project specific files or build files in your Git repository.
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.
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. Although it is subject to tweaking, this table will give you a sense of how you will be assigned points.