Application Development for Mobile Devices

Print

Objective

The objective of this course is to familiarize students with the main principles and concepts of mobile applications programming. The focus is on the Android development framework which is used in the great majority of modern smartphone and tablet devices, featuring powerful processing, a touch screen, and a variety of sensors including a GPS unit. Furthermore, the course addresses network programming techniques for the implementation of network applications with the use of Java. The goal of this lab/course is to demystify the Android development framework towards developing modern applications for mobile devices. Working with Android applications, students will gain experience with a modern technology in the fast moving market segment of computationally powerful Internet-enabled smartphones and similar devices.

Course Contents

  • Lecture 1: Overview of device and operating system architecture for modern smartphones. Introduction to the Android development platform.
  • Lecture 2: Introduction to the Android development framework and tools for mobile application development. Android application model and basic application elements. Android SDK overview. Getting familiar with the Android emulator. Android programming synopsis. Application development using the Android SDK and the Eclipse framework.
  • Lecture 3: Creating User Interfaces: Using XML-based layouts (comparison with java powered layouts), basic widgets (labels, check boxes, buttons, input boxes, etc), containers (widget collections), input method framework, drop-down menus, fonts, etc. Layout methods. Handling multiple screen sizes and resolutions.
  • Lecture 4: Android application components and component interaction: Android Activities and Android Intents.
  • Lecture 5: Using data and databases in Android.
  • Lecture 6: Creating map-based activities. The Google Maps Application Programming Interface (API) and the MapView class.
  • Lecture 7: Location Based Services.
  • Lecture 8: Cases studies – Lab development: Development of Android Applications.
  • Lecture 9: Cases studies – Lab development: Development of Android Applications.
  • Lecture 10: Cases studies – Lab development: Development of Android Applications.
  • Mark L. Murphy, Beginning Android 2: Begin the journey toward your own successful Android 2 applications, Apress 2010.
  • Sayed Y. Hashimi, Satya Komatineni, Dave MacLean: Pro Android 2: Covers Google’s Android 2 Platform including advanced topics such as OpenGL, Widgets, Text to Speech, Multi-Touch, and Titanium Mobile, Apress 2010.
  • Reto Meier, Professional Android 2 Application Development, Wrox Programmer to Programmer, Wiley Publishing, 2010.
  • F. Ableson, C. Collins, R. Sen, “Unlocking Android: A Developer’s Guide”, Manning Publications, 2009.
  • E. Burnette, “Hello, Android (3rd edition): Introducing Google’s Mobile Development Platform”, Pragmatic Bookshelf, 2010.
  • M. L. Murphy, “Android Programming Tutorials”, 3rd Edition, CommonsWare, 2010.
  • J. Steele, N. To, “The Android Developer’s Cookbook: Building Applications with the Android SDK”, Addison-Wesley Professional, 2010.
  • P.J. Deitel, H. M. Deitel, A. Deitel, M. Morgano “Android for Programmers: An App-Driven Approach”, Prentice Hall, July 2011.
  • The Java Tutorial: http://java.sun.com/docs/books/tutorial/index.html
  • Java 2D API Programmer’s Guide: http://java.sun.com/j2se/1.5.0/docs/guide/2d/ spec/j2d-bookTOC.html
  • Java Sound API Guide: http://java.sun.com/j2se/1.4.2/docs/guide/sound/ programmer_guide/contents.html
  • JMF API Guide: http://java.sun.com/products/java-media/jmf/2.1.1/ specdownload.html

Additional Readings

  • Li, Ze-Nian, Drew, Mark S., Fundamentals of Multimedia, Prentice Hall 2004
  • Roads Curtis, The Computer Music Tutorial, MIT Press 1996
  • McClellan, J. H. et al., DSP First: A Multimedia Approach, Prentice Hall 1998
  • Salomon D., Data Compression – The Complete Reference, Springer 2004
  • Watt. A. et al., The Computer Image, Addison Wesley, 1998