Search
IUPUI School of Engineering and Technology

IUPUI School of Engineering and Technology

Android Mobile Application Development

CIT 30500 / 3 Cr.

This advanced programming course teaches students the skills necessary to develop applications for Google mobile computing devices running the Android operating system. Combining theory and practice, this course gives students hands-on experience with the technologies, tools, and techniques used to develop mobile software solutions for business and entertainment. Students will build data-driven and location-aware applications and be introduced to a variety of object-oriented software design patterns common to mobile application development. A variety of data storage and remote datasource-driven applications will be introduced. Students will be provided with the software necessary to implement Android applications. Students do not need a personal Android device for this course. Students are required to bring a laptop with the correct software installed.
Software
  • Android Studio
Outcomes

Course Outcomes (What are these?)

  • Recognize the needs of mobile computing users (CIT b, g)
  • Explain the characteristics of mobile computer platforms (CIT g, k)
  • Produce a mobile application with multiple views formatted for a variety of devices (CIT c)
  • Create location-aware mobile applications (CIT c)
  • Develop a database-driven mobile application with an internal data source (CIT c, i)
  • Integrate a mobile application with remote data sources, such as Google Maps (CIT b, m)
  • Deploy applications to mobile devices for user testing (CIT i)

CIT Student Outcomes (What are these?)

(b) An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution.

(c) An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs.

(g) An ability to analyze the local and global impact of computing on individuals, organizations, and society.

(i) An ability to use current techniques, skills, and tools necessary for computing practice.

(k) An ability to identify and analyze user needs and take them into account in the selection, creation, evaluation and administration of computer-based systems.

(m) An understanding of best practices and standards and their application.

Topics
  • Android and other Mobile Operating Systems
  • Build a Simple Android Application
  • Integrate Location Services into an Application
  • Develop a Database-Driven Application
  • Consume Web Services to Display Data to Users
  • Deploy Applications to Mobile Devices
Principles of Undergraduate Learning (PULs)

2. Critical Thinking

3. Integration and Application of Knowledge

4. Intellectual Depth, Breadth, and Adaptiveness

What You Will Learn

Android and other Mobile Operating Systems

  • Discuss Android's history, prevalence, and future
  • Understand the differences between Android and other mobile operating systems
  • Mobile Device Features and Constraints

Build a Simple Android Application

  • Introduce the Android SDK
  • Create Android Virtual Devices
  • Construct a user interface and deploy to a device simulator

Integrate Location Services into an Application

  • Understand the process of determining device location
  • Develop an application that behaves differently based on location

Develop a Database-Driven Application

  • Discuss mobile device data storage needs, features, and limitations
  • Design a database-driven mobile application
  • Read / write user input to a custom database

Consume Web Services to Display Data to Users

  • Review web services and their use
  • Create an Android application that contacts a web service and parses returned data
  • Store selected data to the local device
  • Discuss application design concerns when connectivity issues arise

Deploy Applications to Mobile Devices

  • Use the Android SDK to deploy a mobile application to a physical device
  • Understand how simulated devices behave differently from an actual device
  • Implement user testing of applications on a physical device