Course: Jetpack Compose for Mobile Development

$349.00
$422.29 incl. vat

duration: 23 hours |

Language: English (US) |

access duration: 180 days |

Details

In this course, you will learn how to work with Jetpack Compose for Android applications. You will gain an understanding on how to build layouts, navigation, gestures, and animations.

You will also receive information on data processing using CRUD (Create, Read, Update, and Delete) and how to access internet data.

Additionally, you will become familiar with Firebase for building comprehensive applications.

At the end of this course there will be an exam to assess your understanding of working and building with Jetpack Compose.

Result

After this course, you will have an understanding on how to build an app with Jetpack Compose. You will have gained information on creating layouts, navigation, gestures, and animations.

You will have been introduced to Firebase and how to use it.

Additionally, you will have learned more about data processing and applying data.

Prerequisites

No formal requirements. However, some prior knowledge of programming is recommended.

Target audience

Software Developer, Web Developer

Content

Jetpack Compose for Mobile Development

23 hours

Jetpack Compose: Getting Started

Jetpack Compose is a modern toolkit for building user interfaces (UIs) in Android applications. Its relevance lies in its ability to simplify UI development, improve code maintainability, and provide a more flexible and interactive user experience in Android apps. In this course, you will dive into Android Jetpack Compose, learning how to think in Compose and designing UI components as functions that describe their appearance and behavior. Next, you will explore the life cycle of composables and how to organize and compose UI elements effectively. Then you will discover the practical aspects of setting up a Compose project and running the emulator. You will configure a development environment and create a new Compose project using Android Studio. Finally, you will run a composable app and preview it using the Android Studio preview pane. You will apply themes and customize the appearance of your UI elements, ensuring a consistent and visually appealing design. By the end of the course, you will have the knowledge and skills to create UI components using Android Jetpack Compose.

Jetpack Compose: Layouts & State Management

In Jetpack Compose, layouts define the structure of user interface (UI) elements, allowing for flexible and dynamic UI design, while state management involves handling the data that drives the UI, ensuring that the UI responds to user interactions appropriately. In this course, you will go beyond the basics of Android Jetpack Compose, learning how to customize screens using the versatile column and row composables to arrange UI elements. Next, you will use the image composable to incorporate images seamlessly into your Compose app and implement scrolling functionality within a column or a row. Then you will explore managing state in Compose, focusing on the remember function and creating interactive UI components, such as drop-down menus and sliders. Finally, you will hoist state to enhance state access and reusability and you will integrate LiveData and ViewModel with Compose, to manage and share data effectively. At the end of this course, you will be able to develop complex and interactive user screens to display your app's content.

Jetpack Compose: Lazy Composables & Navigation

Lazy composables in Jetpack Compose enable efficient rendering and scrolling of large lists or grids. Navigation in Jetpack Compose provides a powerful way to navigate between different screens or destinations within an app. Together, lazy composables and navigation enhance the user experience by enabling seamless scrolling and smooth transitions between screens in Jetpack Compose apps. In this course, you will learn how to efficiently display large lists of items using the lazy column and preserve their state across screen rotations or app restarts. Next, you will explore the lazy grid, and with the help of the coil library, you will asynchronously load images in your Compose app. Then you will set up the NavController and NavHost and define the structure and connections between different screens. You will also examine advanced techniques for passing data between composables and querying data from the data layer. Finally, you will test your app on a real Android device and implement navigation using the bottom navigation bar. When you are finished with this course you will have the skills and ability to develop multiscreen applications using Jetpack Compose.

Jetpack Compose: Gestures & Animation

Gestures in Jetpack Compose allow developers to handle user interactions such as taps, scrolls, and drags. Additionally, animations in Jetpack Compose empower developers to bring user interface (UI) elements to life by adding dynamic transitions, effects, and visual enhancements. In this course, you will explore the preferred techniques to handle gestures using built-in gesture handling available on specific composables. By utilizing gesture modifiers, you will be able to detect and respond to tap gestures, implement smooth scrolling behavior for UI components, and create interactive and draggable elements. Additionally, you will implement swipe-to-dismiss functionality. Next, you will dive into animated visibility effects and apply slide, scale, expand, and shrink effects to UI elements. Finally, you will explore advanced animation techniques and learn how to smoothly transition between different states using animated content, create animated counters with fluid motion, and seamlessly cross-fade between different screens. When you're finished with this course you will have the toolkit for creating rich and interactive animations in Compose, with visually engaging elements.

Building Android Apps: Accessing Data from the Internet

Networking is crucial for real-world Android apps to enable seamless communication between the apps and external services, such as remote servers, databases, and application programming interfaces (APIs). Networking allows applications to store data in a persistent manner on remote servers and access this data in a well-designed and secure manner. In this course, you will learn the essential aspects of networking operations in Android applications, empowering you to interact with APIs and handle network requests effectively. We will provide an overview of the clients available for accessing REST points and guide you through best practices for accessing the Internet from your app. Next, you will set up and configure an Android Views Project. We will explore the powerful Glide library, which allows you to efficiently load and display images, even in image-heavy applications. Then, we will use real-world APIs to make GET requests using the HTTPUrlConnection client and parse JSON using the Gson library. You will master app architecture structuring, create data and user interface (UI) layers in your app, and implement robust data handling mechanisms. By incorporating coroutines, you will gain proficiency in fetching data from the backend in a more concise and structured manner. By the end of this course, you will have acquired a comprehensive skill set in Android networking, enabling you to create modern apps that interact seamlessly with APIs and deliver dynamic content from the web.

Building Android Apps: Performing CRUD Operations

Android offers a built-in standard HttpURLConnection client for making network requests, but it can be cumbersome and involve boilerplate code for handling responses and errors. In contrast, the Retrofit library simplifies networking by providing a high-level interface, reducing boilerplate, and making application programming interface (API) interactions more concise and efficient. Additionally, using coroutines for background networking operations allows for asynchronous and non-blocking execution, preventing user interface (UI) freezes. In this course, you will learn how to set up and configure a local simple HTTP server to handle requests in your Android application. You will retrieve data from the server, display a list of restaurants, and implement functionality to view individual restaurant details. You will also handle HTTP methods like POST, PUT, and DELETE to add, edit, and remove restaurants, creating a fully functional app with server communication. Next, you will explore the powerful Retrofit library, which streamlines handling HTTP requests in your Android app. You will learn to access REST endpoints more efficiently and reduce boilerplate code, resulting in a cleaner and more maintainable codebase. Finally, you will integrate the Retrofit client with Compose, a modern Android UI toolkit, to build a seamless user interface.

Building Android Apps: Persisting Data Locally

Various methods can be used for persisting data locally in an Android device. App-specific files and preferences offer a lightweight and straightforward approach for storing small amounts of data, such as user settings and preferences. SQLite databases and the Room API provide a robust and efficient solution for more structured and organized data. This enables data persistence for larger datasets with powerful querying capabilities and data manipulation operations. In this course, you will learn the essential aspects of data and file storage on Android. Through hands-on practice, you will build a simple app that stores recipes locally using app-specific files. Next, you will work with storing and retrieving shared preferences, a simple yet effective method to store key-value pairs in Android. Using shared preferences, you will build features to track and utilize recently searched items and prefill forms in your app. Finally, you learn to store app details in a local SQLite database, retrieve and modify data using the SQLite API, and later connect to SQLite using the Room API.

Building Android Apps: Building a Complete Application with Firebase

Integrating Android apps with Firebase offers a seamless and secure solution for managing user sign-in and registration processes while enabling real-time data synchronization. Firebase Authentication provides a range of authentication methods, including email, phone number, and social media logins. Firestore serves as a scalable NoSQL cloud database, allowing developers to store and retrieve data in real-time, ensuring dynamic content delivery to users. In this course, you will learn how to integrate Android applications with Firebase. You will discover Firebase's diverse services as we build a restaurant reservation app. You will implement user authentication and explore real-time data storage using Cloud Firestore. Next, you will set up strings, styles, and themes to create a visually appealing and consistent user interface (UI). You will see how dependency injection enhances code maintainability and testability, and you will integrate the Hilt Framework for efficient dependency injection that simplifies access to the Firebase backend. Finally, you will explore advanced concepts in Android app development. Mastering login and signup flows will create a secure and user-friendly app. You will set up a navigation drawer and top bar for app navigation and manage app screens and data using View Models. By the end of the course, you will integrate all these components to create a complete application with a cloud backend.

Final Exam: Building Android Apps Using Jetpack Compose

Final Exam: Building Android Apps with Jetpack Compose will test your knowledge and application of the topics presented throughout the Building Android Apps with Jetpack Compose track.

Course options

We offer several optional training products to enhance your learning experience. If you are planning to use our training course in preperation for an official exam then whe highly recommend using these optional training products to ensure an optimal learning experience. Sometimes there is only a practice exam or/and practice lab available.

Optional practice exam (trial exam)

To supplement this training course you may add a special practice exam. This practice exam comprises a number of trial exams which are very similar to the real exam, both in terms of form and content. This is the ultimate way to test whether you are ready for the exam. 

Optional practice lab

To supplement this training course you may add a special practice lab. You perform the tasks on real hardware and/or software applicable to your Lab. The labs are fully hosted in our cloud. The only thing you need to use our practice labs is a web browser. In the LiveLab environment you will find exercises which you can start immediatelyThe lab enviromentconsist of complete networks containing for example, clients, servers,etc. This is the ultimate way to gain extensive hands-on experience. 

WHY_ICTTRAININGEN

Via ons opleidingsconcept bespaar je tot 80% op trainingen

Start met leren wanneer je wilt. Je bepaalt zelf het gewenste tempo

Spar met medecursisten en profileer je als autoriteit in je vakgebied.

Ontvang na succesvolle afronding van je cursus het officiële certificaat van deelname van Icttrainingen.nl

Krijg inzicht in uitgebreide voortgangsinformatie van jezelf of je medewerkers

Kennis opdoen met interactieve e-learning en uitgebreide praktijkopdrachten door gecertificeerde docenten

Orderproces

Once we have processed your order and payment, we will give you access to your courses. If you still have any questions about our ordering process, please refer to the button below.

read more about the order process

What is included?

Certificate of participation Yes
Monitor Progress Yes
Award Winning E-learning Yes
Mobile ready Yes
Sharing knowledge Unlimited access to our IT professionals community
Study advice Our consultants are here for you to advice about your study career and options
Study materials Certified teachers with in depth knowledge about the subject.
Service World's best service

Platform

Na bestelling van je training krijg je toegang tot ons innovatieve leerplatform. Hier vind je al je gekochte (of gevolgde) trainingen, kan je eventueel cursisten aanmaken en krijg je toegang tot uitgebreide voortgangsinformatie.

Life Long Learning

Follow multiple courses? Read more about our Life Long Learning concept

read more

Contact us

Need training advise? Contact us!


contact