Mobile App Development Student Guide
Mobile App Development Student Guide
Student Guide
The copyright in this document is vested in NCC Education Limited. The document must not be
reproduced by any means, in whole or in part, or used for manufacturing purposes, except with the
prior written permission of NCC Education Limited and then only on condition that this notice is
included in any such reproduction.
Published by: NCC Education Limited, Adamson House, Towers Business Park, Wilmslow
Road, Didsbury, Manchester M20 2EZ, UK.
Tel: +44 (0) 161 438 6200 Fax: +44 (0) 161 438 6240 Email: info@[Link]
[Link]
Page 2 of 48
Page 3 of 48
Page 4 of 48
Page 5 of 48
• Evaluate requirements for mobile platforms; establish appropriate strategies for development
and deployment.
• Interpret a scenario, plan, design and develop a prototype hybrid and native mobile
application.
Page 6 of 48
Page 7 of 48
3 hours of
laboratory
sessions
8 App 1/12 • Buttons and other views
Developme • Importing libraries
nt: Classes • Introduction to MySQL
2 hours of
and Learning Outcomes: 4,5
lectures
Objects,
Database
3 hours of
laboratory
sessions
9 App 1/12 • Connecting Kotlin with MySQL
Developme • Getting user input
nt: • CRUD Example
2 hours of
Database Learning Outcomes: 4,5
lectures
3 hours of
laboratory
sessions
Page 8 of 48
3 hours of
laboratory
sessions
11 App 1/12 • Navigation architecture
Developme • Navigating between screens
nt: • JETPACK
2 hours of
Navigation • Search Engine Optimisation (SEO)
lectures
• Architecture components
Learning Outcomes: 4,5
3 hours of
laboratory
sessions
12 Deployment 1/12 • Testing
and Testing • Configuration control
• Github
2 hours of
• Deployment
lectures
Learning Outcome 1
2 hours of
tutorials
Page 9 of 48
PowerPoint Slides: These are presented for each topic for use in the lectures. They contain
many examples which can be used to explain the key concepts. Handout
versions of the slides are also available; it is recommended that these are
distributed to students for revision purposes as it is important that students
learn to take their own notes during lectures.
Student Guide: This contains the topic overviews and all of the suggested exercises. Each
student will need access to this and should bring it to all of the taught hours
for the unit.
6. Pedagogic Approach
Suggested Learning Hours
Guided Learning Hours Assessment Private Study Total
Lecture Tutorial Seminar Laboratory
24 6 - 27 40 103 200
The teacher-led time for this unit is comprised of lectures, laboratory sessions and tutorials. The
breakdown of the hours is also given at the start of each topic, with 5 hours of contact time per
topic.
6.1 Lectures
Lectures are designed to introduce students to each topic; PowerPoint slides are presented for
use during these sessions. Students should also be encouraged to be active during this time and
to discuss and/or practice the concepts covered. Lecturers should encourage active participation
and field questions wherever possible.
6.2 Tutorials
Tutorials provide tasks to involve group work, investigation and independent learning for certain
topics. The details of these tasks are provided in this guide and also in the Student Guide. They
are also designed to deal with the questions arising from the lectures, laboratory sessions and
private study sessions.
Page 10 of 48
7. Assessment
This unit will be assessed by means of an assignment worth 100% of the total mark. This
assessment will cover the learning outcomes and assessment criteria given above. Sample
assessments are available through the NCC Education Virtual Learning Environment
([Link] for your reference.
• Forrester, A. et al. (2023) How to build android apps with kotlin : a practical guide to
developing, testing, and publishing your first android apps. Second edn. Birmingham, UK:
Packt Publishing.
• Griffiths, D. and Griffiths, D. (2019) Head first kotlin : a brain-friendly guide. Sebastopol, CA:
O'Reilly (Head first).
• Saumont, P. Y. (2019) The joy of kotlin. Shelter Island, NY: Manning Publications.
• Kousen, K. A. (2020) Kotlin cookbook : a problem-focused approach. First edn. Sebastopol,
CA: O'Reilly Media.
Page 11 of 48
This topic provides an overview of Mobile App Development. The detailed explanation on different
type of mobile app and platform used for mobile app are introduced here. This topic covers mobile
app operating systems and the challenges faced by mobile app developers. Mobile app quality,
security, distribution, deployment, marketplace, users and trends are covered at the end of this
topic.
• Explain the key characterises of mobile apps, compare and contrast the different types of
mobile apps.
• Distinguish the platforms use for mobile app and explain the different types of mobile app
operating systems.
• Discuss the issues of developing apps for multiple platforms.
Information and theory of the topic will be presented to the students during lectures. They will then
practise the skills during the laboratory sessions. Students are expected to undertake their own
private study to understand the theory fully and put the lectures in context.
1.3 Timings
Lectures: 2 hours
Tutorial: 2 hours
Laboratory: 2 hours
The following is an outline of the material to be covered during the lecture time and should be read
in conjunction with the slides provided.
Page 12 of 48
Exercise 1:
Explain why it is essential to understand Mobile Operating Systems when developing a Mobile App.
Exercise 2:
Research cross-platform app development frameworks such as Flutter, React Native, Kotlin
Multiplatform Mobile, Ionic, Swift etc. Based on the features from each framework, suggest a
framework for each scenario below and explain why.
You want to develop a relatively simple app with a limited budget, and your priority is to reach both
Android and iOS users with a single codebase.
Your project is iOS-centric, and you need to provide a highly polished, native-like user experience with
access to all iOS-specific features and design guidelines.
Your project is Android-centric, and you want to create an app that takes full advantage of Android
features and Material Design guidelines.
You need a cross-platform app that offers high performance, complex animations, and 2D/3D
graphics. The app should be available on both Android and iOS.
Page 13 of 48
The importance of Wireframing for Mobile Application Development was discussed in the
Lecture.
Students will be asked Watch this wireframing tutorial using Figma (1 hour).
[Link]
Then, students will be asked to research for the design of a Restaurant Food Ordering App.
Students will be asked to create the wireframes for the Restaurant Food Ordering application
pages.
Please talk to students individually to find out how they are progressing with wireframing, give
them hints to create usable wireframes, encourage them to brainstorm about the mobile app
requirements, encourage critical thinking.
The time allocation for private study in this topic is expected to be 8 hours.
Exercise 1
Based on the Challenges for App Developers listed on slide 34, research and explain each
challenge.
Exercise 2:
Page 14 of 48
This topic introduces the technologies for app development which include native APIs and SDKs.
Languages used for mobile app development such as HTML5, CSS 3 Media Queries, XML, AJAX,
and JSON are covered in this topic.
• Understand the scope and position of mobile apps within the context of software
development.
• Demonstrate a critical understanding of the range of current development architectures,
platforms, languages and tools.
Information and theory of the topic will be presented to the students during lectures. They will then
practise the skills during the tutorial sessions. Students are expected to undertake their own
private study to understand the theory fully and put the lectures in context.
2.3 Timings
Lectures: 2 hours
Tutorials: 2 hours
Laboratory: 2 hours
The following is an outline of the material to be covered during the lecture time and should be read
in conjunction with the slides provided.
Page 15 of 48
Exercise 1:
CSS selectors are powerful and flexible, allowing user to precisely target and style elements in the
HTML documents. Explain CSS selectors listed below and give an example for each.
• Element Selector
• Class Selector
• ID Selector
• Descendant Selector
• Child Selector
• Attribute Selector
• Pseudo-class Selector
• Pseudo-element Selector
• Grouping Selector
• Universal Selector
Exercise 2:
What are the common features and functions you can find in browser DevTools?
Page 16 of 48
Students will be asked to create a Mobile Application (consists of 3 pages). Students will attempt to
create the first page and lecturers will help with the coding. This exercise is also part of their private
study and students will complete all three pages as part of their homework.
The time allocation for private study in this topic is expected to be 8 hours.
Exercise 1
Page 17 of 48
This topic presents series of processes that guide the creation of a mobile application from conception
to deployment and maintenance.
Information and theory of the topic will be presented to the students during lectures. They will then
practise the skills during the tutorial sessions. Students are expected to undertake their own private
study to understand the theory fully and put the lectures in context.
3.3 Timings
Lectures: 2 hours
Laboratory: 2 hours
The following is an outline of the material to be covered during the lecture time and should be read in
conjunction with the slides provided.
• Selecting technology
• Mobile HCI: Usability, IA, standards, UI, interface design, touch design patterns.
Page 18 of 48
Objective: Develop a detailed persona for a user of a social media mobile application. This exercise
will help you gain insights into the user's behaviours, interests, and motivations, which can guide the
design and features of a social media app.
Instructions: Select a Social Media Use Case: Choose a specific social media use case for the
exercise. For example, the persona could be someone using a platform for professional networking,
photo sharing, or content creation.
Define Demographics: Specify key demographic details such as age, gender, occupation, location,
and any other relevant demographic factors that align with your chosen use case.
Explore Background and Interests: Dig into the user's background, educational level, and interests.
Consider their hobbies, passions, and any challenges they might face in their daily life.
Character Traits: Describe the user's personality traits. Are they extroverted, introverted, tech-savvy,
or creative? Understanding these traits will influence the design and engagement strategies of the
social media app.
Goals and Motivations: Identify the user's goals and motivations for using a social media app. Are
they seeking professional connections, creative inspiration, or a sense of community?
Pain Points and Challenges: Pinpoint any challenges or pain points the user might face in their social
media experience. This could include privacy concerns, information overload, or difficulty in finding
relevant content.
Preferred Content Consumption: Consider how the user prefers to consume content. Are they more
inclined toward visual content, written posts, or interactive features?
Social Behaviour: Explore the user's social behaviour. Do they prefer active participation, lurking, or
a mix of both? How frequently do they post, comment, or share content?
Technology Usage: Understand the user's comfort and familiarity with technology. How often do they
use mobile devices for social interactions? What other social media platforms are they active on?
Create a Persona:
Synthesize the gathered information to create a detailed persona for the user. Give your persona a
name and a brief narrative that encapsulates their background, goals, challenges, and preferences.
Reflection:
Consider how understanding Sarah's persona could inform the design of a social media app tailored
to her needs. What features would be most beneficial for her? How could the app address her specific
challenges?
Note to Students: Feel free to be creative in crafting your persona. The more detailed and realistic,
the better you can understand and address the needs of your potential social media app users.
Page 19 of 48
Exercise 2:
Objective: Develop mobile wireframes for key features of a social media app. This exercise will help
you visualize and plan the user interface for specific functionalities.
Instructions:
Select Social Media Features: Choose two to three specific features commonly found in social media
apps. Examples include posting content, commenting, direct messaging, profile creation, or content
discovery.
Define User Flow: Outline the user flow for each selected feature. Consider the steps a user would
take to complete the action, from opening the app to accomplishing the task.
Identify Key Elements: Break down each feature into key elements such as buttons, text fields,
images, and navigation bars. Identify the essential components needed to make the feature user-
friendly.
Sketch Wireframes: Begin sketching wireframes for each feature. Use simple shapes and lines to
represent the layout and placement of elements on a mobile screen. Focus on the basic structure and
flow.
Consider User Interactions: Think about how users will interact with each feature. Include elements
like buttons, sliders, or gestures that users might employ to navigate through the app.
Annotation: Add annotations to your wireframes to explain the functionality of each element. Describe
what each button does, how users can navigate, and any other relevant details.
Keep it Simple: Prioritize simplicity in your wireframes. Avoid unnecessary details or visual elements
that are not crucial to understanding the feature.
Iterate and Refine: Review your initial wireframes and iterate. Consider feedback from peers or make
adjustments based on your own analysis. Refine the wireframes to enhance clarity and usability.
Example Features:
User Flow:
Key Elements: Media upload button, text field, caption field, post button.
Page 20 of 48
User Flow:
User Flow:
Submission: Submit your wireframes along with annotations and a brief description of the user flow
for each feature.
Note to Students:
This exercise aims to develop your wireframing skills and enhance your understanding of the user
interface design process. Focus on clarity, simplicity, and effective communication of functionality in
your wireframes.
Page 21 of 48
The time allocation for private study in this topic is expected to be 8 hours.
Exercise 1:
Objective: Gain a comprehensive understanding of Mobile Application HCI principles and apply them through
practical exercises.
Private Study Instructions:
Welcome to your independent study session on Mobile App Human-Computer Interaction (HCI)!
Below are the topics you'll explore on your own, along with some additional information to guide your
learning:
1. Introduction to Mobile App HCI:
- Begin by gaining an overview of HCI principles specifically related to mobile applications.
- Reflect on the importance of user-centered design and usability in mobile app development.
- Take time to explore fundamental HCI concepts independently.
2. Mobile App Design Guidelines:
- Dive into resources discussing design guidelines tailored for mobile applications.
- Explore platform-specific guidelines for both iOS and Android platforms from reliable sources.
- Seek out practical examples of well-designed mobile interfaces for inspiration.
3. Prototyping and Wireframing:
- Explore various prototyping tools like Figma and Sketch through online tutorials and
documentation.
- Practice creating a low-fidelity mobile app wireframe independently.
- Seek feedback from online communities or peers to improve your wireframing skills.
4. Usability Testing:
- Research the importance of usability testing in ensuring optimal user experiences.
- Consider conducting your own usability test on a wireframe or existing mobile app.
- Analyze and interpret the results to gain insights into usability issues and potential improvements.
Page 22 of 48
- Learn about the importance of designing inclusive interfaces for all users through online resources.
- Seek out practical tips and best practices for incorporating accessibility principles into mobile app
design.
Additional Resources:
- Utilize websites and blogs like Nielsen Norman Group and Smashing Magazine for articles and case
studies on usability, user experience, and mobile design.
- Refer to Google Design Guidelines (Material Design) for valuable resources and guidelines specific
to designing Android applications.
Page 23 of 48
Information and theory of the topic will be presented to the students during lectures. They will then
practise the skills during the tutorial sessions. Students are expected to undertake their own private
study to understand the theory fully and put the lectures in context.
4.3 Timings
Lectures: 2 hours
Laboratory: 2 hours
The following is an outline of the material to be covered during the lecture time and should be read in
conjunction with the slides provided.
• Purpose of IDE
• Range of IDEs for Mobile Development
• Android Studio overview:
• Downloading/ installing
• Features
• Supported platforms
• Exploring the User Interface
• Creating a simple App using built-in template
• Emulator
• Languages supported
Page 24 of 48
Exercise 2: Create your another Android Application using a different template and run in an
Emulator
The time allocation for private study in this topic is expected to be 8 hours.
Exercise 1:
Research and learn event handling for Android mobile app development. This involves a structured
approach to cover the basics and practical implementation.
Tips:
Page 25 of 48
The topic aims to provide a solid foundation in object-oriented programming (OOP) principles and the
basics of the Kotlin programming language. Learners should be able to apply these concepts to design
and implement software solutions using Kotlin, taking advantage of its concise syntax and modern
features.
• Have essential skills for building robust and maintainable software solutions
Information and theory of the topic will be presented to the students during lectures. They will then
practise the skills during the tutorial sessions. Students are expected to undertake their own private
study to understand the theory fully and put the lectures in context.
5.3 Timings
Lectures: 2 hours
Laboratory: 2 hours
The following is an outline of the material to be covered during the lecture time and should be read in
conjunction with the slides provided.
• Introduction to Kotlin
• Terminology
• Data types
• Variables, values
• Classes, Objects
• Review of OO concepts and techniques
• Encapsulation, abstraction, inheritance and polymorphism
Page 26 of 48
Exercise 1:
In this lab session, we will be crafting an Android mobile application using Kotlin, comprising one and
a half activities (pages).
Throughout the lab, we'll cover the process of incorporating images into a mobile app page and
demonstrate the technique of launching one activity (page) from another. Additionally, we will explore
designing the user interface using the Activity Design mode, offering insights into creating dynamic
pages for a more interactive user experience.
The time allocation for private study in this topic is expected to be 9 hours.
Exercise 1:
Private Study Activity Plan: Create an Android Image Gallery App Using Kotlin.
Objective:
Design and implement an Android application using Kotlin that functions as an image gallery.
Activity Breakdown:
1. Understanding Requirements:
Page 27 of 48
• Write code to load images from the device's storage or an online source.
6. Adding Interaction:
• Reflect on the development process, noting any challenges and lessons learned.
Additional Tips:
This 9-hour study activity is designed to guide you through the process of creating a functional Android
image gallery app using Kotlin. Adjust the time allocation based on your progress and familiarity with
the tools and concepts.
Page 28 of 48
This topic explores different types of loops in Kotlin (for, while, do-while). Students will learn how to
use loops for repetitive tasks and iterations and gain OOP concepts like classes and inheritance. At
the end of the topic, students will understand the principles of encapsulation, abstraction, and
polymorphism.
Information and theory of the topic will be presented to the students during lectures. They will then
practise the skills during the tutorial sessions. Students are expected to undertake their own private
study to understand the theory fully and put the lectures in context.
6.3 Timings
Lectures: 2 hours
Laboratory: 2 hours
The following is an outline of the material to be covered during the lecture time. Please also refer to
the slides.
Page 29 of 48
Exercise 1:
In this lab session, we will be orchestrating the development of an Android mobile application utilising
Kotlin, featuring a trio of activities (pages). The outcomes of these activities will be visually presented
in a PowerPoint slide.
Throughout this lab, we'll delve into incorporating dynamic elements into our mobile app pages.
Specifically, we will explore the dynamic addition of images and checkboxes, demonstrating the use
of if statements, loops, and ArrayLists to enhance the app's functionality.
Furthermore, this labwork will guide you through the process of creating dynamic pages, showcasing
a versatile approach to designing interactive user interfaces.
The time allocation for private study in this topic is expected to be 9 hours.
Objective: Design and implement a simple Todo application for Android using Kotlin, focusing on
functionality without incorporating a database.
Duration: 9 hours
Activity Breakdown:
1. Understanding Requirements:
Page 30 of 48
This 9-hour study activity is designed to guide you through the process of creating a functional Android
Todo app without the use of a database. Adjust the time allocation based on your familiarity with the
tools and concepts.
Page 31 of 48
• create a basic mobile application using Kotlin, including setting up the project structure, defining
the main activity, and incorporating necessary resources.
• Students will learn how to work with different types of views such as buttons, text fields, and
labels in their Kotlin app, enabling them to design interactive user interfaces.
• Students will gain proficiency in adding images and text to their Kotlin app interface, allowing
them to enhance the visual appeal and provide informative content within the application.
• Students will acquire the skills to utilize constraint layout to design responsive and adaptive
user interfaces, ensuring consistent appearance across various screen sizes and orientations.
Information will be transmitted to the students during the lectures. They will then practise the skills
during the laboratory sessions and extend their understanding during private study time. The tutorial
will then provide an opportunity to review the key ideas and obtain further guidance and support.
7.3 Timings
Lectures: 2 hours
The following is an outline of the material to be covered during the lecture time. Please also refer to
the slides.
Page 32 of 48
Exercise 1:
Create the Android Kotlin app for creating a user profile with a profile picture selection and name entry.
The time allocation for private study in this topic is expected to be 9 hours.
Exercise 1:
Prerequisites:
Activity Outline:
Create a New Project: Open Android Studio and create a new Android project.
Design the User Interface: Design a layout with an EditText for the user's name, an ImageView for the
profile picture, and buttons for saving and retrieving data.
Implement Data Model: Create a data model class (e.g., UserProfile) to represent user profile data
with fields for name and image URI.
Implement Saving Functionality: Implement code to save user profile data locally using
SharedPreferences or Room Database.
Allow users to input their name, select a profile picture from the gallery, and save the data.
Test Saving Functionality: Run the app on an emulator or device to test the saving functionality.
Enhance UI: Add visual indicators or messages to inform the user when data is successfully saved.
Page 33 of 48
Implement Retrieval Functionality: Implement code to retrieve user profile data from local storage.
Test Retrieval Functionality: Run the app and ensure that the saved user profile data is retrieved and
displayed correctly.
Enhance UI: Improve the UI to provide a better user experience when displaying retrieved data.
Code Review and Refactoring: Review your code for any improvements or optimizations.
Final Testing: Perform thorough testing to ensure the app functions as expected.
Implement Image Compression: Improve the app by implementing image compression techniques to
reduce the size of stored images.
Explore Other Local Storage Options: Experiment with different local storage options such as SQLite
databases or external storage.
Implement Dark Mode: Enhance the app's UI by implementing a dark mode feature.
This activity provides a comprehensive hands-on experience in Android development, covering data
storage, retrieval, and user interface design. Participants will gain practical experience in working with
local storage, user interface elements, and data model classes in an Android app using Kotlin.
Page 34 of 48
This topic provides an overview of the importance of data persistence in mobile apps and the role of
databases.
• Explore the Room Persistence Library as a higher-level abstraction over SQLite, providing enhanced
features for database interactions.
• Develop the ability to define and manage database entities, relationships, and migrations using Room.
Information will be transmitted to the students during the lecture. They will then practise the skills
during the laboratory sessions and extend their understanding during private study time. The tutorial
will then provide an opportunity to review the key ideas and obtain further guidance and support.
8.3 Timings
Lecture: 2 hours
The following is an outline of the material to be covered during the lecture time. Please also refer to
the slides.
Page 35 of 48
Exercise 1:
Create the Android Kotlin app for displaying NCC student list using RecylerView.
The time allocation for private study in this topic is expected to be 9 hours.
1. Introduction to ERD
Theoretical Understanding:
• Definition and purpose of ERD.
• Basic components: entities, attributes, relationships.
• Importance in database design.
Practical Activity:
• Draw a simple ERD on paper or using a digital tool for a familiar scenario (e.g., library
management system).
2. Entity and Attribute Identification
Theoretical Understanding:
• Guidelines for identifying entities and attributes.
• Different types of attributes (simple, composite, derived).
• Keys: primary and foreign keys.
Practical Activity:
• Identify entities and attributes for a real-world scenario (e.g., online shopping system).
3. Relationship Modelling
Theoretical Understanding:
• Types of relationships: one-to-one, one-to-many, many-to-many.
• Cardinality and participation constraints.
• Associative entities.
Practical Activity:
• Model relationships for a university database (e.g., students, courses, professors).
4. Advanced Concepts
• Theoretical Understanding:
• Subtypes and supertypes.
• Aggregation.
• Generalisation and specialisation.
Practical Activity:
• Enhance the previous university database with advanced concepts.
5. Tools and Notations
Theoretical Understanding:
• Overview of ERD tools (e.g., Lucidchart, [Link]).
• Crow's Foot, Chen, or UML notations.
Page 36 of 48
Page 37 of 48
Information will be transmitted to the students during the lectures. They will then practise the skills
during the laboratory sessions and extend their understanding during private study time. The tutorial
will then provide an opportunity to review the key ideas and obtain further guidance and support.
9.3 Timings
Lectures: 2 hours
The following is an outline of the material to be covered during the lecture time. Please also refer to
the slides.
Page 38 of 48
The purpose of the lab work "Implementation of Android Kotlin app for NCC user login and registration"
is to guide students through the process of creating an Android app using the Kotlin programming
language. The specific focus is on implementing features for user login and registration within the
context of an NCC application.
The tasks outlined in the lab PowerPoint slide include steps for creating UI components (such as text
fields and buttons) for user input, designing the user interface for registration and login screens, and
implementing the underlying logic to handle user registration and login functionalities. Additionally, the
students are instructed to integrate networking libraries (e.g., Volley) to communicate with a PHP
Services for user authentication.
The time allocation for private study in this topic is expected to be 9 hours.
• Add more advanced form fields (e.g., date of birth, profile picture).
• Implement client-side validation.
Page 39 of 48
Security Considerations:
• Focus on security aspects, including input validation, secure password handling, and
protecting against common security threats.
Page 40 of 48
• Explain the fundamentals of Android's location services and how they provide access to device
location.
• Integrate the Google Maps SDK into an Android application.
• Integrate the device's camera to capture images or videos within the application.
• Implement lists to display location-based information, such as nearby places or user-generated
content
Information will be transmitted to the students during the lectures. They will then practise the skills
during the laboratory sessions and extend their understanding during private study time. The tutorial
will then provide an opportunity to review the key ideas and obtain further guidance and support.
10.3 Timings
Lectures: 2 hours
The following is an outline of the material to be covered during the lecture time. Please also refer to
the slides.
• Displayable lists
• Geolocation
• Camera
Page 41 of 48
The purpose of the lab work "Implementing Google Maps in an Android Kotlin app" is to guide students
through the process of integrating an Android app with Google Map using the Kotlin programming
language. The tasks outlined in the lab PowerPoint slide.
The time allocation for private study in this topic is expected to be 9 hours.
Private Study: Extending Google Maps with Markers and RecyclerView Integration.
Objective:
Extend the existing Google Maps integration in your Android Kotlin app to include markers at specific
locations and integrate a RecyclerView to display additional information.
Prerequisites:
Study Plan:
• Respond to marker clicks with actions like displaying information or navigating to another
screen.
4. Introduction to RecyclerView:
Page 42 of 48
• Set up a layout for the RecyclerView item that will display additional information about the
marked locations.
• Synchronise the selected marker data with the corresponding item in the RecyclerView.
• Implement smooth transitions between selecting a marker on the map and scrolling to the
corresponding item in the RecyclerView.
Resources:
Page 43 of 48
• Apply the various techniques for navigating between different screens in an Android app.
• Use the Android Jetpack library, its components, and explain their role in modern Android app
development.
• Explore and implement Android Architecture Components, including LiveData, ViewModel, and
Room.
Information will be transmitted to the students during the lectures. They will then practise the skills
during the laboratory sessions and extend their understanding during private study time. The tutorial
will then provide an opportunity to review the key ideas and obtain further guidance and support.
11.3 Timings
Lectures: 2 hours
The following is an outline of the material to be covered during the lecture time. Please also refer to
the slides.
• Navigation architecture
• Navigating between screens
• JETPACK
• Search Engine Optimisation (SEO)
• Architecture components
Page 44 of 48
The purpose of the lab work "Implementation of an Android Kotlin app using Jetpack Navigation with
three pages" is to guide students through the process of implementing an Android app with Jetpack
Navigation. The tasks outlined in the lab PowerPoint slide.
Exercise 1: Implementation of an Android Kotlin app using Jetpack Navigation with three pages
The time allocation for private study in this topic is expected to be 9 hours.
Exercise 1: Enhance the existing Android Kotlin app (labwork: Implementation of an Android Kotlin
app using Jetpack Navigation with three pages) with additional features and improve the user
experience.
Create Fragment4:
Add to NavGraph:
Update ActionBar:
Enhance Fragment1:
Populate RecyclerView:
Page 45 of 48
• Implement the logic to capture photos or videos using the Camera API.
• Handle runtime permissions for camera access.
Additional Tips:
Testing:
Documentation:
Deployment:
If time allows, explore the process of deploying the app to a test environment or distributing it to
testers.
Page 46 of 48
Information and theory of the topic will be presented to the students during lectures. They will then
practise the skills during the tutorial sessions. Students are expected to undertake their own private
study to understand the theory fully and put the lectures in context.
12.3 Timings
Lectures: 2 hours
Tutorials: 2 hours
The following is an outline of the material to be covered during the lecture time and should be read in
conjunction with the slides provided.
• Testing
• Configuration control
• Github
• Deployment
Page 47 of 48
Assignment Workshop:
Workshop Objectives:
To guide students through the process of completing the assignment within the deadline.
Workshop Materials:
Evaluation:
Notes to Instructors:
Encourage Collaboration: Foster a collaborative learning environment where students can work
together and share insights.
The time allocation for private study in this topic is expected to be 8 hours.
The students' private study focus for this week is on working on the assignment.
Page 48 of 48