We have learned several Android/Java tools for Mobile App Development such as Android View Objects (Buttons, EditText, SeekBar, TextView, ImageView), XML Layouts and Attributes, Android Sensors (Accelerometer, GPS), Handler / Runnable Sequence and Custom View classes for Animation Canvas Operations. Students need to develop an Android Application. You may choose from the following two options: 1. Choose one of the available Applications from the Text Book. In order to make the application run, you are required to go through the code and "fix" any errors the application might have. So please code carefully and be ready to 'debug' and fix errors as they occur. Once the application is running with no errors you then required to add five to six features of your choice as described in the rubric. 2. The second option is to create a Note Pad app as guided below:
App Requirements 1. Your app will be a simple note pad that allows users to enter text notes. 2. The last updated date/time to be displayed on the app. 3. When the user presses the back arrow, home button, etc. The text and the time will automatically be saved. 4. The text and the time must be saved to the device’s internal file system. You have the choice to use either XML or Externalization of resources ranging from simple values such as strings and colors to more complex resources like images, animations, and themes. 5. Note text (and the saved time) should be automatically loaded when the app goes into the Resume state. 6. In case of the entered text is longer than the displayed area then a scroll bar will be displayed 7. Landscape and portrait orientations must be used for the presented contents as shown below. 8. The below is an example of how the app should look. Note, you do NOT need to make yours look exactly like this, but the content here is limited to try to keep variation minimal.
Submissions must consist of your zipped project folder. Submissions not following these requirements will be penalized. Complete code for your project. You can use any publicly available libraries / code / artwork / materials as long as you correctly acknowledge all sources. Please remember that when you include new features from the Android API or examples of code from other sources or projects - you must cite these examples in comments (author, website or book where you got the ideas from). Documentation of your programming effort and your design process. This should be a separate document, giving an overview of the different steps you went through and presenting all documentation materials you produced on the way. Submissions should reflect the concepts and practices we cover in class.
You are reminded to read the “Plagiarism” section of the course description. Your research should be a synthesis of ideas from a variety of sources expressed in your own words. All reports must use the Harvard referencing style. Marking rubrics are attached.
Score Unsatisfactory (3-4) Satisfactory (5-6) Good (7-8) Very Good (9-10)
Use of Control - Model - View Application Design
Only the Activity Class is defined. No modelling of objects or data in program is present. Data passed from sensors directly to view without use of variables or modelling.
Only the Activity Class is defined. Modelling of data in program is present with fields and functions.
Activity and one additional class is defined. Model is evident between the two classes. One class is an extension of View for animation.
Multiple classes present to create a well-defined and flexible model for the application. Accessor and Modifier functions exist to pass data through the Application. Objects in App such as characters in game or agents in program are modelled as a separate class.
Android Sensors and Events (Accelerometer Sensor, Touch Sensor, …)
No Sensors used in application.
Attempted to use Sensor in Application. However, the sensor does not work as designed or does not add functionality to the App.
Sensors are used during application well coded Listener functions or classes. Data from Sensors is modelled and used to control functionality of App.
Sensors are used during application and data from sensors is passed between classes using model with variables and functions. Sensors provide key functionality for the App.
Handlers and Runnables
No use of Handlers and Runnables present in App.
Handler and Runnable sequence present. However, the sequence does not work as designed or does not add functionality to the App.
Handler and Runnable sequence is present. Sequence works to control animation or timed events. Function or functions work to start and stop sequence as needed for function of the App.
Handler and Runnable sequence present to provide key functionality to Application. Multiple use of Handler and runnable present or Handler and Runnable controls the animation and graphics of application. Score Unsatisfactory (5-7) Satisfactory XXXXXXXXXXGood XXXXXXXXXXVery Good (13-15)
XML and User Interface Design
Errors present in XML Layout. Minimal or no use of XML layout tools such as tables and table rows. No use of custom view objects in XML.
XML runs as designed. However, the XML does not deviate from basic layout. Less than 3 XML objects present.
XML fills out features for the App, providing a wide selection of buttons, seekbars, imageViews, and custom View Object.
XML fills out features for the App, providing a wide selection of buttons, seekbars, imageViews, and custom View Object. Colors and design of XML interface are visually pleasing and add creativity and functionality to the App.
Relevance and Creativity
App has little relevance beyond fulfilling the requirements of the rubric.
App has relevance to real world use but shows little or no visual creativity beyond the function of the program.
App has relevance and employs some creative touches in visual, sound, or sensor design. App is fully featured and presents a possible prototype for a consumer or commercial application. Visual and functional elements of the App combine for a compelling user experience