Cross Platform Native iOS & Android in Xamarin C# & Firebase
- Description
- Curriculum
- FAQ
- Reviews
In this course we will discuss development of a complete iOS and Android native application using Visual Studio (or Xamarin Studio), C Sharp and Firebase. Throughout the course, we will discuss a wide range of topics such as interface design, databases and data structures as well as user authentication through Firebase MBaaS.
This course is designed to cover a wide range of audience. It can be useful to people with basic understanding of mobile development and programming. It is also useful if you wish to learn more about data structures, reading and writing local and remote databases.
-
1Common - Introduction to This CourseVideo lesson
In this lesson, we will do a quick review of the app and its features as well as this particular section. Because this is a long project development, it is absolutely important that you do a few things.
a) first of all, make sure you follow my naming conventions. We keep coming back to our methods and variables and it is absolutely important to be able to come back to different parts of the apps with no confusion.
b) secondly, make sure you finish this whole series within a few weeks. So your memory is fresh and ready. This is a long process and doing it in short span of time definitely helps you speed up. -
2Common - Starting a New Project and Testing Out the Simulators for Both OSsVideo lesson
We begin with a new Blank Cross Platform App. We will also discuss the simulator we will be using throughout this project for either of the OSs. We will also set our deployment targets and versions for both iOS and Android and set the portrait or landscape modes. This app should be using shared library. In this lesson, we will also explore our project. For iOS, we will design and develop this app assuming a compilation on iPhone 6 and iOS 11 and for Android, we will do the same for Nexus 4 and Api 24
-
3iOS - Designing Our Lists StoryboardVideo lesson
In this lesson, we will design our very first view controller. This Lists View Controller is the primary view that user sees when launching the app. It contains the various shopping lists that user has in a Table View as well as a button for a New List and also a button to login. We should rename our the ViewController to Lists View Controller and also change its designer (including register), re-attaching everything and testing out the simulator. In these early stages, it makes sense if you keep re-running our app to make sure you haven’t made any errors. If you wish to, you can copy the MainStoryboard file attached to this lesson and add it to your project.
-
4Droid - Designing Our Lists LayoutVideo lesson
In this lesson, we will first rename our main.axml to ListsLayout.axml and then design our interface. We should change a few things about the way it is presented as well. namely:
@anDroid:style/Theme.DeviceDefault.Light.NoActionBar in both layout editor as well as our manifest file.
In this lesson, we will rename the activity to ListsActivity and also connect the ListsLayout to its SetContentView as well as accessing our UI elements. We will also code 4 new methods; NewList, ProfileButton, ItemClick and ItemLongClick.
-
5iOS - Table View Data SourceVideo lesson
In this lesson, we will learn how table views and data sources work in iOS. We will leave the Data Source specific to this app for future lessons. We will only discuss what a Data Source is and how does it work in populating the data for a Table View.
-
6Droid - Testing Some Values in Our ListviewVideo lesson
In this lesson, we get to test our list view and see some values populated in it.
-
7Common - Understanding Our Data StructureVideo lesson
In this non-programming lesson, we will look at how our data is structured.
-
8Common - Adding ClassesVideo lesson
In this lesson, we will add 3 new classes for our item, user and grocery list.
-
9Common - Adding App Data ClassVideo lesson
In this lesson, we will add our App Data class's starting elements. We would need to introduce and initialize our Current Lists as well as a dummy current user.
-
10Common - Preparing First ListVideo lesson
In this lesson, we will add our first list, we will not however write it to disk as we still don't have that function.
-
11iOS - Testing Out the Initial ListVideo lesson
In this lesson, we want to access the newly created initial list.
-
12Droid - Custom AdapterVideo lesson
In this lesson, we will add a new class and call it ListRowCustomAdapter. This custom adapter will help us shape our list view rows. In this lesson, we will use a little cheat and copy the content from an existing code base. We will of course go through the code. We will call the prepare first method form our app data and also get an object of the type ListRowCustomAdapter in our List View and use that to populate the list view.
-
13iOS - Adding a New List to TableviewVideo lesson
By now, we have a list view interface where we can view our basic starter lists. Now let's try and add a new list. In here, once everything work, we will face a new issue and that is our app will not maintain its data between two sessions of the application. We will address that in our next section.
-
14Droid - Adding a New List to ListsviewVideo lesson
By now, we have a list view interface where we can view our basic starter lists. Now let's try and add a new list. In here, once everything works, we will face a new issue and that is our app will not maintain its data between two sessions of the application. We will address that in our next section.
-
15Common - Understanding DataVideo lesson
In this lesson, we will have a quick look at why we have to record our data on the disk and what component we should add to do so.
-
16Common - Read Write ClassVideo lesson
In this lesson, we will add a new method to our app data where all of our lists get written to the disk using a json serialization. To write data, we will also introduce a new Offline Lists. In here, we will add NewtonSof Json to our common packages.
-
17iOS - Reading DataVideo lesson
In this lesson, we will adjust our list view to properly read and write data to the disk. We will also make sure if we make a new list, it gets written to the disk.
-
18Droid - Reading DataVideo lesson
In this lesson, we will adjust our list view to properly read and write data to the disk. We will also make sure if we make a new list, it gets written to the disk.
-
19iOS - Deleting a List by DraggingVideo lesson
In this lesson, we will learn how to delete a list by dragging it.
-
20Droid - Deleting a List by Long Clicking ItVideo lesson
In this lesson, we will learn how to delete a list by long clicking on it.
-
21Common - IntroductionVideo lesson
In this section we will add our items view controller and layout.
-
22iOS - Items StoryboardVideo lesson
In this lesson, we head back to our storyboard and design our items interface.
-
23Droid - Items LayoutVideo lesson
In this lesson, we add a new layout for our items.
-
24iOS - Items View ControllerVideo lesson
In this lesson, we will add our new Items View Controller and also connect all of our outlets.
-
25Droid - Items ActivityVideo lesson
In this lesson, we add a new activity and call it Items Activity. We set our content view and then get access to our various elements in the layout in our code. We add all of our buttons and their functions.
-
26iOS - Navigating to and From Items View ControllerVideo lesson
In this lesson, we will code the navigation to and back from items view controller.
-
27Droid - Navigating to and From Items ActivityVideo lesson
In this lesson, we will code the navigation to and back from items view controller.
-
28iOS - Cur List in IiPhoneVideo lesson
In this lesson, we will introduce our curList which is the list that we have clicked on in the lists activity. We will pass an argument through our prepareForSegue. In this lesson, we will also access the shared instance of the app data class.
-
29Droid - Cur List in DroidVideo lesson
In this lesson, we will introduce our curList which is the list that we have licked on in the previous activity. We will pass an argument through our intent and fetch the same in our items activity.
-
30iOS - Items Table Data SourceVideo lesson
In this lesson, we will add the data source and delegate connections through this storyboard and also add the necessary protocols and the two required methods of number of rows and get cell.
-
31Droid - Items Row List View AdapterVideo lesson
In this lesson, we will add a new custom adapter to adapt our items array into a list view. Once again in here, we will use a little cheat to speed up our process.
-
32iOS - Clicking on an Item iOSVideo lesson
In this lesson, we change the status of an item by clicking on it, we also write our data to disk after doing that.
-
33Droid - Clicking on an Item AndroidVideo lesson
In this lesson, we change the status of an item by clicking on it, we also write our data to disk after doing that.
-
34iOS - Dragging to Delete an ItemVideo lesson
In this lesson, we learn how to delete an item by dragging over it.
-
35Droid - Deleting an Item by Long ClickVideo lesson
In this lesson, we learn how to delete an item by long clicking on it
-
36iOS - Adding a New Item iOSVideo lesson
In this lesson, we will learn how to add an item by pressing the done button on the text field.
-
37Droid - Adding a New Item AndroidVideo lesson
In this lesson, we will learn how to add an item by pressing the done button on the text field.
-
38Common - Understanding What HappenedVideo lesson
In this lesson, we will look back at everything we have done so far and we try to make sense of everything we have done so far and how we could build on those.
-
39Common - Introduction to BackendVideo lesson
In this lesson, we will look at our back-end data and why we would need them.
-
40Common - Firebase ConsoleVideo lesson
In this lesson, we will go through our Firebase console and change some of the rules and settings.
-
41iOS - AppData iOSVideo lesson
In this lesson, we write the code for our Firebase connection as well as our new onlineLists and data and users node.
-
42Droid - AppData DroidVideo lesson
In this lesson, we write the code for our Firebase connection as well as our new online Lists and data and users node.
-
43iOS - Profile Action iOSVideo lesson
In this lesson, we will learn how to add the various profile actions to our login button.
-
44Droid - Profile Action DroidVideo lesson
In this lesson, we will learn how to add the various profile actions to our login button.
-
45iOS - Register in iOSVideo lesson
In this lesson, we will use a little cheat to add our register alert view and Save user main values on cloud iOS
-
46Droid - Register in DroidVideo lesson
In this lesson we will authenticate user through Firebase and save user main values on cloud Droid
-
47Common - Set Local UserVideo lesson
In this lesson and after registration, we will discuss how to change the local user.
-
48iOS - Save All User Lists Online iOSVideo lesson
In this lesson, we will learn how to save an entire list to our online back-end.
-
49Droid - Save All User Lists Online DroidVideo lesson
In this lesson, we will learn how to save an entire list to our online back-end.
-
50iOS - Login in iOSVideo lesson
In this lesson, we will write the alert view for our login menu. This code is little too long and also trivial, so we will use a little cheat in here,
-
51Droid - Login in DroidVideo lesson
In this lesson, we will write the alert view for our login menu. This code is little too long and also trivial, so we will use a little cheat in here,
-
52iOS - Reading Data From Cloud iOSVideo lesson
In this lesson and after logging in, we continue with reading data.
-
53Droid - Reading Data From Cloud DroidVideo lesson
In this lesson and after logging in, we continue with reading data.
-
54Common - Compare Lists MethodVideo lesson
In this lesson, we will write a comparison method to compare two sets of Lists.
-
55iOS - Setting Profile Button - iOSVideo lesson
Through setting our profile button, we can give our user a little feedback on whether they are online or offline.
-
56Droid - Setting Profile Button - DroidVideo lesson
Through setting our profile button, we can give our user a little feedback on whether they are online or offline.
-
57iOS - New List and Item on Cloud - iOSVideo lesson
In this lesson, we will learn how to add a new list on cloud.
..Upom reflection it turns out we missed this
SaveItemOnCloud.Save(thisItem, thisList);
in Items Data Source, RowSelected -
58Droid - New List and Item on Cloud - DroidVideo lesson
Item Clicked"}" data-sheets-userformat="{"2":897,"3":[null,0],"10":1,"11":3,"12":0}">In this lesson, we will learn how to add a new list on cloud.
Upon reflection it turns out we missed this
SaveItemOnCloud.Save(thisItem, curList);
in Items Activity -> Item Clicked -
59iOS - Delete List and Item on Cloud - iOSVideo lesson
In this lesson, we will learn how to delete a list or an item from cloud.
-
60Droid - Delete List and Item on Cloud - DroidVideo lesson
In this lesson, we will learn how to delete a list or an item from cloud.
-
61iOS - Logging Out From Cloud - iOSVideo lesson
In this lesson, we will code our log out method.
-
62Droid - Loggin Out From Cloud - DroidVideo lesson
In this lesson, we will code our log out method.
-
63Common - Recap of All Login MethodsVideo lesson
This is also a good time to test all of our login, register methods once again. In here, we realize that we need to call our readData once again at the end of the register method. We will also test our application by manually adding an item to the cloud.

External Links May Contain Affiliate Links read more