INDICATIVE CONTENT
Introduction to Java for C# Programmers
Introduction to the Android platform and architecture
Android user interface, layouts, views and GUI controls
Menus, Action Bar Menus, Toasts
Adapters, Dialogs, Intents
Storing and Retrieving Data: internal and external storage, preferences, SQLite Database
File Storage, Content Providers
Fragments
Asynchronous Tasks
Threading, UIThread, AsynchTask
Services, Broadcasts, Notifications, Parsing
Mobile Web Applications
Accessing and developing Remote Web Services
Server side concepts
Connectivity using for example Bluetooth, NFC, Wireless
Testing strategies
Developing for the Android marketplace
Best Practices for Android Development
ADDITIONAL ASSESSMENT DETAILS
ASSIGNMENT 1 (50%) Assessing Learning Outcomes 1, 2 and 3
Development of a standalone Android application for the Android marketplace which uses the Android user interface, controls and local storage mechanisms, with supporting report (1500 words)
ASSIGNMENT 2 (50%) Assessing Learning Outcomes 1, 2 and 3
Development an Android Application which uses advanced techniques and communicates with external servers hosting web services, with supporting report (1500 words) (final assessment)
LEARNING STRATEGIES
1 hour of lectures and 2 hours of practicals per week over 24 weeks
TEXTS
DARWIN I, Android Cookbook (2012) O'Reilly Media ISBN-13: 978-1449388416
DEITEL P, DEITEL H and WALD, A (2015) Android for Programmers: An App-Driven Approach, 3nd Edition, Prentice-Hall, ISBN-13: 978-0134289366
GOOGLE (2015) Android Developers available at http://developer.android.com
RESOURCES
Laboratory with Android software development environment
SPECIAL ADMISSIONS REQUIREMENTS
Prior study of COSE40577 Introduction to Software Development or COSE40576 Introduction to Programming or equivalent
LEARNING OUTCOMES
1. Demonstrate knowledge and critical understanding of the techniques and processes of android application development. (KNOWLEDGE AND UNDERSTANDING)
2. Determine requirements and solve problems to create mobile application solutions using the android development environment. (ENQUIRY, PROBLEM SOLVING)
3. Evaluate and critically appraise mobile techniques and distributed software artefacts developed using the android SDK. (LEARNING, REFLECTION).