Mobile Applications

Base Knowledge

object-oriented programming concepts

Teaching Methodologies

The following teaching methodologies are used in this course:

1. Expository method: explanatory method where theoretical foundations and concepts are presented by the teacher and discussed with the class. Concepts and information will be presented to students through, for example, slide presentations or oral discussions. It will be used in classes to structure and outline the information.

2. Demonstrative method: based on the example given by the teacher of a technical or practical operation that one wishes to be learned. It focuses on how a given operation is carried out, highlighting the most appropriate techniques, tools and equipment. It will be used, for example, in practical and laboratory classes.

3. Interrogative method: process based on verbal interactions, under the direction of the teacher, adopting the format of questions and answers. It allows for greater dynamics in the classroom and consolidates learning. It will be used, for example, to remember elements of previous classes and in revisions of the lectured content.

4. Active methods: pedagogical techniques will be used in which the student is the center of the learning process, being an active participant and involved in his own training. The teacher assumes the role of facilitator, stimulating critical thinking, collaboration, creativity and student autonomy. They will be applied in classes to achieve a dynamic and more lasting learning environment.

Learning Results

At the end of the course, the student will be able to:
1. Identify technologies and operating systems for mobile devices;
2. Develop applications for mobile devices based on the Android operating system;
3. Evaluate the importance of usability on mobile interfaces.

Program

1. Introduction to Mobile Computing
– Mobile Devices
– Mobile Operating Systems
– Mobile Application Development: usability

2. Introduction to the Android Operating System
– History and Versions
– Software Architecture and Layers
– The Android Ecosystem
– Android Distributions

3. Android Development Tools
– Android Studio
– Android SDK
– Android Virtual Device (AVD)
– Creating and Configuring AVDs

4. Android Application Development
– Activity Lifecycle
– Graphical User Interface Elements: TextView, EditText, Buttons, etc.
– Graphical Interface Layout

5. Android Activities and Intents
– Activity Invocation
– Data Passing Between Activities

6. Background Processing in Android:
– Processes and Threads
– The User Interface Thread
– AsyncTask

8. State and Persistence:
– State-Related Callbacks
– SharedPreferences
– Android Databases: SQLite

9. Content Providers
– Native Content Providers
– Content Resolvers

10. Android REST Client
– Retrofit
– REST Interface Definition
– Framework Configuration and Initialization
– Synchronous and Asynchronous Invocations

Curricular Unit Teachers

Francisco Carlos Afonso

Internship(s)

NAO

Bibliography

Griffiths, D., & Griffiths, D. (2021). Head First Android Development: A Brain-Friendly Guide (3rd ed.). O’Reilly Media.

Darwin, I. F. (2017). Android Cookbook: Problems and Solutions for Android Developers (2nd. ed). “O’Reilly Media, Inc.”.

Meier, R., & Lake, I. (2018). Professional Android (4th. ed.). Wrox.

Wickham, M. (2018). Practical Android. Apress.