MAP524 - Mobile App Development - Android
Semester | |
School | |
Last revision date | 27-Jan-2025 01:11:29 |
Last review date | 17-Mar-2025 00:15:14 |
Subject Title
Mobile App Development - Android
Subject Description
This course will familiarize the student with all aspects of planning, developing and testing mobile applications for the Android platform. It will emphasize the creation of applications using the Java programming language, as well as programming techniques for achieving effective interaction on mobile devices. Writing mobile applications that feature location-awareness, messaging, Wi-Fi network access and multimedia will be introduced.
Credit Status
1 credit (3 units)
Professional Option for CPA - Computer Programming and Analysis (Ontario College Advanced Diploma)
Professional Option for CPD - Computer Programmer (Ontario College Diploma)
Learning Outcomes
Upon successful completion of this subject the student will be able to:
- Efficiently use the Java programming language to create applications for Android
- Effectively use the Android software development tools, frameworks, and documentation
- Analyze and select the appropriate framework components in the creation of a software application
- Apply best-practice software design principles to the creation of Android applications
- Identify the requirements of an entry-level programming task, and create software that meets the requirements
Essential Employability Skills
• Communicate clearly, concisely and correctly in the written, spoken and visual form that fulfils the purpose and meets the needs of the audience.
• Respond to written, spoken, or visual messages in a manner that ensures effective communication.
• Execute mathematical operations accurately.
• Apply a systematic approach to solve problems.
• Use a variety of thinking skills to anticipate and solve problems.
• Locate, select, organize, and document information using appropriate technology and information systems.
• Analyze, evaluate, and apply relevant information from a variety of sources.
• Manage the use of time and other resources to complete projects.
• Take responsibility for one's own actions, decisions, and consequences.
Academic Integrity
Seneca upholds a learning community that values academic integrity, honesty, fairness, trust, respect, responsibility and courage. These values enhance Seneca's commitment to deliver high-quality education and teaching excellence, while supporting a positive learning environment. Ensure that you are aware of Seneca's Academic Integrity Policy which can be found at: http://www.senecapolytechnic.ca/about/policies/academic-integrity-policy.html Review section 2 of the policy for details regarding approaches to supporting integrity. Section 2.3 and Appendix B of the policy describe various sanctions that can be applied, if there is suspected academic misconduct (e.g., contract cheating, cheating, falsification, impersonation or plagiarism).
Please visit the Academic Integrity website http://open2.senecac.on.ca/sites/academic-integrity/for-students to understand and learn more about how to prepare and submit work so that it supports academic integrity, and to avoid academic misconduct.
Discrimination/Harassment
All students and employees have the right to study and work in an environment that is free from discrimination and/or harassment. Language or activities that defeat this objective violate the College Policy on Discrimination/Harassment and shall not be tolerated. Information and assistance are available from the Student Conduct Office at student.conduct@senecapolytechnic.ca.
Accommodation for Students with Disabilities
The College will provide reasonable accommodation to students with disabilities in order to promote academic success. If you require accommodation, contact the Counselling and Accessibility Services Office at ext. 22900 to initiate the process for documenting, assessing and implementing your individual accommodation needs.
Camera Use and Recordings - Synchronous (Live) Classes
Synchronous (live) classes may be delivered in person, in a Flexible Learning space, or online through a Seneca web conferencing platform such as MS Teams or Zoom. Flexible Learning spaces are equipped with cameras, microphones, monitors and speakers that capture and stream instructor and student interactions, providing an in-person experience for students choosing to study online.
Students joining a live class online may be required to have a working camera in order to participate, or for certain activities (e.g. group work, assessments), and high-speed broadband access (e.g. Cable, DSL) is highly recommended. In the event students encounter circumstances that impact their ability to join the platform with their camera on, they should reach out to the professor to discuss. Live classes may be recorded and made available to students to support access to course content and promote student learning and success.
By attending live classes, students are consenting to the collection and use of their personal information for the purposes of administering the class and associated coursework. To learn more about Seneca's privacy practices, visit Privacy Notice.
Prerequisite(s)
JAC444 – Introduction to Java
Topic Outline
Android Platform for Mobile Development
· Outline the history of the Android operating system
· Discuss the key features of current smartphone hardware
· Describe geo-location in the context of Android-based smartphones
· Explain how the Android operating system runs on different types of mobile devices
· Explain the innovation of how databases can fit into a small device in the form of SQL Lite and content providers
Android Development Framework
· Describe the software stack and how it applies to the Android stack
· Explain a virtual machine in general terms and more specifically a Dalvik virtual machine
· Describe software architecture and the components that make up the Android application architecture
· List all the phases in the Android application lifecycle, and describe each one of them in a single phrase
Android Development Tools
· Download and install the android software development kit (SDK)
· Download and install the ADT plug-in for Eclipse
· Use the SDK and Virtual Device Manager (VDM) on the command line
· Use the Android PDA emulator and run a sample application on diverse smartphones and tablets
· Use the Eclipse IDE to compile, package and reference resources using the asset packaging tool
· Use the Eclipse IDE to run and debug applications using the android debug bridge
· Use the Eclipse IDE to monitor applications running on diverse devices (i.e. emulators) using the Dalvik Debug Monitoring Service
Creating Applications and Activities
· Describe the application architecture and identify the manifest and its components
· Edit files in Eclipse from a "raw view" editor, or using the Manifest Editor
· Explain how the file and folder structure of an Android project stores diverse types of resources
· Find the section where resources are located and add/change/delete resources
· Define simple values such as strings, colors, dimensions, and numbers and store as resources
· Define styles and themes and store as resources
· Define drawables such as layouts, animations and menus and store as resources
· Explain how resources are directly managed and used by Java code in an android application
· Explain how resources can be created for specific languages, locations and hardware configurations
· Describe the Android Application Lifecycle
· Describe an application's priority and its process' states
· Explain the Android application class
· Extend and use the application class
· Create an activity
· Describe the activity lifecycle: stacks and states
· Monitor state changes in an applicaton
· Explain activity lifetimes
Layouts
· Explain the fundamentals of Android user interface design
· Assign user interfaces to activities
· Describe a layout
· Embed one or more views in a layout
· Create device-independent user interfaces
· Code and use a linear layout
· Code and use a relative layout
· Optimize layouts
· Describe all the widgets available in the Android widget toolbox
· Code all the widgets available on the Android widget toolbox
· Program scalable graphics assets
· Describe the Android menu system
· Code a menu item
· Specify an action bar action
· Program menu item options
· Add action views and action providers
· Discuss the notion of embedding views on layouts and what this means to the design of an application
· Program adapters and array adapters
Communication
· Customize the array adapter
· Describe what an intent is and how to code it in Java
· Start activities, sub-activities and services using implicit and explicit intents
· Explain what linkify is and how to use it
· Explain what a broadcast event is
· Program intent filters
· Explain what a broadcast receiver is and how to program it
· Program broadcast intents
· Monitor device state changes
Connecting to Databases and Content Providers
· Create a database using SQLite
· Use content providers, cursors, and content values to store, share, and consume application data
· Program asynchronous queries to content providers using cursor loaders
· Add search capabilities to an Android application
Working with Concurrency
· Create, start, and stop background services
· Bind services to activities
· Create ongoing foreground services
· Extend the intent service
· Describe how asynchronous tasks are used to manage background processing
· Create background threads and handlers and synchronize them with the GUI thread
· Use alarms to schedule application events
Digital Media
· Explain how to play audio and video using the media player
· Explain how to handle audio focus and media button presses
· Use the remote control client
· Apply audio and video effects
· Record audio and video using the media recorder
· Record video and take pictures using intents
· Pre-view recorded video and display live camera streams
· Take pictures and control the camera
· Manipulate raw audio
· Use face and feature recognition
Mode of Instruction
Online
This course is offered online. This may involve the use of digital materials and/or a text, group discussions, interaction with your instructor and online activities.
Distant Learning students please refer to addendum.
It is the student's responsibility to save documents, articles and notes that the instructor has provided online or in class. Students will not be able to access anything posted as of the last day of the student’s class.
Platform - Desire2Learn
Prescribed Texts
No textbook required.
To find out the cost of books and learning material go here.
Any courses not listed on the bookstore webpage do not require any resources for purchase. All resources will be provided by your instructor.
Student Progression and Promotion Policy
http://www.senecapolytechnic.ca/about/policies/student-progression-and-promotion-policy.html
Grading Policyhttp://www.senecapolytechnic.ca/about/policies/grading-policy.html
A+ | 90% to 100% |
A | 80% to 89% |
B+ | 75% to 79% |
B | 70% to 74% |
C+ | 65% to 69% |
C | 60% to 64% |
D+ | 55% to 59% |
D | 50% to 54% |
F | 0% to 49% (Not a Pass) |
OR | |
EXC | Excellent |
SAT | Satisfactory |
UNSAT | Unsatisfactory |
For further information, see a copy of the Academic Policy, available online (http://www.senecapolytechnic.ca/about/policies/academics-and-student-services.html) or at Seneca's Registrar's Offices..
Modes of Evaluation
Discussions | 10% |
Assignments | 40% |
Online Tests | 20% |
Project | 30% |
In order to successfully complete this course, the student is required to meet the following evaluation criteria:
The passing grade for this course is 50%.
Students must pass the final exam (50%) in order to pass the subject.