The Complete Mobile App Development Course with Flutter
Course
Online
Description
-
Type
Course
-
Methodology
Online
-
Start date
Different dates available
Discover how to use Flutter, the popular open-source framework created by Google for developing Android and iOS apps. This course will show you how to build a complete Contacts App from scratch, and how to make the most of this high-performance, intuitive framework.
The app will feature editable fields for each contact’s name, email address, and phone number; customizable profile pictures; and native integration (such as writing emails and calling a contact from the app).
This course will cover:
How to write clean code
Setting up the UI
Working with widgets
Incorporating UI animations
Persistent storage
Using plugins for native functionality
…and more!
Frameworks and tools covered: Dart, Android SDK 8.0 and 9.0, Flutter SDK 1.2.1
Your Courses, Your Way
All of our project-based courses are designed to be flexible – you can access courses 24/7 to fit them around your schedule, and choose the learning materials that suit you best.
You can even download your course videos and watch them offline using the Zenva app, available on iOS and Android.
Learn from World-Class Instructors
Our course instructors participate in elite developer programs and have been recognized for their demonstrated excellence in development and teaching.
That way, you can be confident that you’re learning the most up-to-date content from industry experts.
Interactive Lessons with Codemurai
Our unlimited access package comes with free access to all of the courses in our mobile app, Codemurai!
Available on iOS and Android, it’s full of interactive programming lessons and exercises so you can continue your learning on the go.
Achieve Real Results
Our community of 1,000,000+ learners and developers have used the skills learned with us to publish their own games and websites, land their dream jobs, and even start their own businesses – and you have the potential to do the same!
Check out what our learners think below:
Facilities
Location
Start date
Start date
About this course
No prior experience with Dart or mobile development is required for this course. However, familiarity with basic programming concepts (such as variables, objects, conditionals and so on) is assumed.
Reviews
This centre's achievements
All courses are up to date
The average rating is higher than 3.7
More than 50 reviews in the last 12 months
This centre has featured on Emagister for 3 years
Subjects
- Access
- Image
- Project
- Writing
- Install
Course programme
Introduction 1:48
Introduction 1:48
1:48
Install Flutter on Windows 5:43
Install Flutter on Windows 5:43
5:43
Install Flutter on MacOS 3:21
Install Flutter on MacOS 3:21
3:21
Setup Android SDK 6:10
Setup Android SDK 6:10
6:10
Setup Android Emulator 2:57
Setup Android Emulator 2:57
2:57
Install VS Code 2:01
Install VS Code 2:01
2:01
Set up VS Code Flutter Plugins 3:34
Set up VS Code Flutter Plugins 3:34
3:34
Creating a Flutter Project 1:43
Creating a Flutter Project 1:43
1:43
Exploring the Project Structure 3:39
Exploring the Project Structure 3:39
3:39
Running the Default Demo App 1:51
Running the Default Demo App 1:51
1:51
What is a Widget 2:08
What is a Widget 2:08
2:08
Most Used Pre-built Widgets 4:56
Most Used Pre-built Widgets 4:56
4:56
Building a ContactsPage Widget 7:04
Building a ContactsPage Widget 7:04
7:04
Displaying a Vertical List 4:28
Displaying a Vertical List 4:28
4:28
Adding a ListView 3:39
Adding a ListView 3:39
3:39
Importing a 3rd Party Library 2:01
Importing a 3rd Party Library 2:01
2:01
Using the Faker Library 1:28
Using the Faker Library 1:28
1:28
Creating a Contact Model Class 4:49
Creating a Contact Model Class 4:49
4:49
Creating a List of Contacts 3:44
Creating a List of Contacts 3:44
3:44
Displaying Contacts in a ListView 3:07
Displaying Contacts in a ListView 3:07
3:07
Converting ContactsPage to a StatefulWidget 3:45
Converting ContactsPage to a StatefulWidget 3:45
3:45
Populating the Contacts to initState 2:32
Populating the Contacts to initState 2:32
2:32
Adding isFavorite to Contact Class 2:39
Adding isFavorite to Contact Class 2:39
2:39
Finishing isFavorite UI 4:23
Finishing isFavorite UI 4:23
4:23
Setting State 6:27
Setting State 6:27
6:27
Sorting Contacts Based on isFavorite 3:20
Sorting Contacts Based on isFavorite 3:20
3:20
Creating a Custom Widget 2:31
Creating a Custom Widget 2:31
2:31
State Management - Lifting State up and Callbacks 6:46
State Management - Lifting State up and Callbacks 6:46
6:46
State Management - Adding a ScopedModel 6:36
State Management - Adding a ScopedModel 6:36
6:36
Moving Functionality to ContactsModel 1:46
Moving Functionality to ContactsModel 1:46
1:46
Using a Scoped Model 3:04
Using a Scoped Model 3:04
3:04
Accessing the Model through ScopedModelDescendant 6:21
Accessing the Model through ScopedModelDescendant 6:21
6:21
Notifying Listeners of ScopedModel 2:04
Notifying Listeners of ScopedModel 2:04
2:04
Another Way of Accessing the Model 2:55
Another Way of Accessing the Model 2:55
2:55
Sorting the Contacts Alphabetically 6:25
Sorting the Contacts Alphabetically 6:25
6:25
Adding a ContactCreate Page 2:21
Adding a ContactCreate Page 2:21
2:21
Creating an Input Form 3:00
Creating an Input Form 3:00
3:00
Reason for Using Keys for Widgets 1:27
Reason for Using Keys for Widgets 1:27
1:27
Getting Data out of the Form with a Key 4:08
Getting Data out of the Form with a Key 4:08
4:08
Styling an Input Form 5:33
Styling an Input Form 5:33
5:33
Validating the name field 5:23
Validating the name field 5:23
5:23
Regular Expressions to Validate the Email 4:18
Regular Expressions to Validate the Email 4:18
4:18
Validating the Phone Number 2:53
Validating the Phone Number 2:53
2:53
Adding New Contacts to the ContactsModel 1:55
Adding New Contacts to the ContactsModel 1:55
1:55
Implementing the Saving of the Form 5:33
Implementing the Saving of the Form 5:33
5:33
Adding a Floating Action Button 2:13
Adding a Floating Action Button 2:13
2:13
Navigating using MaterialPageRoute 6:29
Navigating using MaterialPageRoute 6:29
6:29
Creating ContactEditPage 3:30
Creating ContactEditPage 3:30
3:30
Passing Edited Data to the ContactForm 2:50
Passing Edited Data to the ContactForm 2:50
2:50
Navigating to ContactEditPage 2:20
Navigating to ContactEditPage 2:20
2:20
Pre-populating ContactForm with Data 2:20
Pre-populating ContactForm with Data 2:20
2:20
Editing a Contact in the ContactModel 5:00
Editing a Contact in the ContactModel 5:00
5:00
Preserving isFavorite Value after Editing 4:54
Preserving isFavorite Value after Editing 4:54
4:54
Adding Null Safe Access Elvis Operators 1:40
Adding Null Safe Access Elvis Operators 1:40
1:40
Making List Items Slidable 4:27
Making List Items Slidable 4:27
4:27
Fixing Slidable UI with a Container 1:42
Fixing Slidable UI with a Container 1:42
1:42
Creating a Helper Build Function 1:58
Creating a Helper Build Function 1:58
1:58
Deleting a Contact from the ContactModel 1:27
Deleting a Contact from the ContactModel 1:27
1:27
Adding Default Images for Contacts 2:50
Adding Default Images for Contacts 2:50
2:50
Displaying a default image in ContactEditPage 2:52
Displaying a default image in ContactEditPage 2:52
2:52
Getting Device Dimensions with MediaQuery 2:59
Getting Device Dimensions with MediaQuery 2:59
2:59
Fixing ContactCreatePage’s Contact Image
Fixing ContactCreatePage’s Contact Image
Making a Hero Animation 5:55
Making a Hero Animation 5:55
5:55
Setting up the image_picker Library 2:07
Setting up the image_picker Library 2:07
2:07
Configuring Image Picker on iOS 3:10
Configuring Image Picker on iOS 3:10
3:10
Using the image_picker Library 3:49
Using the image_picker Library 3:49
3:49
Picking an Image from the Device 4:17
Picking an Image from the Device 4:17
4:17
Displaying the Picked Image in ContactForm 5:19
Displaying the Picked Image in ContactForm 5:19
5:19
Displaying Images while Creating a Contact 3:07
Displaying Images while Creating a Contact 3:07
3:07
Adding an Image Field to the Contact Class 1:15
Adding an Image Field to the Contact Class 1:15
1:15
Displaying the Contact’s Image in ContactTile
Displaying the Contact’s Image in ContactTile
Pre-populating an Edited Image in ContactEditPage 2:08
Pre-populating an Edited Image in ContactEditPage 2:08
2:08
SEMBAST and Other Packages for Data Persistence 2:29
SEMBAST and Other Packages for Data Persistence 2:29
2:29
Converting Contact Objects to Map 3:32
Converting Contact Objects to Map 3:32
3:32
Converting Map Objects to Contacts 4:10
Converting Map Objects to Contacts 4:10
4:10
Opening a SEMBAST Database 8:16
Opening a SEMBAST Database 8:16
8:16
Writing Asynchronous Code with Completer 6:39
Writing Asynchronous Code with Completer 6:39
6:39
Preparing for the Singleton Pattern 4:35
Preparing for the Singleton Pattern 4:35
4:35
Making AppDatabase into a Singleton 3:00
Making AppDatabase into a Singleton 3:00
3:00
Understanding How SEMBAST Stores Data 3:39
Understanding How SEMBAST Stores Data 3:39
3:39
Creating a Data Access Object for Contacts 6:12
Creating a Data Access Object for Contacts 6:12
6:12
Adding ID Field to Contact Class 2:57
Adding ID Field to Contact Class 2:57
2:57
Preserving the ID while Editing 1:27
Preserving the ID while Editing 1:27
1:27
Updating and Deleting Contacts with SEMBAST 4:12
Updating and Deleting Contacts with SEMBAST 4:12
4:12
Getting All Contacts in Sorted Order - Part 1 3:43
Getting All Contacts in Sorted Order - Part 1 3:43
3:43
Getting All Contacts in Sorted Order - Part 2 2:19
Getting All Contacts in Sorted Order - Part 2 2:19
2:19
Adding ContactDao to ContactsModel 2:46
Adding ContactDao to ContactsModel 2:46
2:46
Loading Contacts from ContactDao in ContactsModel 4:54
Loading Contacts from ContactDao in ContactsModel 4:54
4:54
Modifying ContactsModel to Work with ContactDao 3:03
Modifying ContactsModel to Work with ContactDao 3:03
3:03
Fixing Newly Broken Code 1:57
Fixing Newly Broken Code 1:57
1:57
Testing Persistent Storage Functionality 3:04
Testing Persistent Storage Functionality 3:04
3:04
Displaying a Loading Indicator 2:39
Displaying a Loading Indicator 2:39
2:39
Adding Back the Favoriting of Contacts 3:21
Adding Back the Favoriting of Contacts 3:21
3:21
Making Contacts Sortable based on isFavorite 4:57
Making Contacts Sortable based on isFavorite 4:57
4:57
Adding UI for Contacting the Contacts 2:48
Adding UI for Contacting the Contacts 2:48
2:48
Using url_launcher to Call a Contact 6:56
Using url_launcher to Call a Contact 6:56
6:56
Writing an Email to a Contact 1:42
Writing an Email to a Contact 1:42
1:42
Adding Padding to the ContactForm 0:58
Adding Padding to the ContactForm 0:58
0:58
Course conclusion 1:15
Course conclusion 1:15
1:15
Additional information
The Complete Mobile App Development Course with Flutter