Book Image

Xamarin Blueprints

By : Michael Williams
Book Image

Xamarin Blueprints

By: Michael Williams

Overview of this book

Do you want to create powerful, efficient, and independent apps from scratch that will leverage the Xamarin framework and code with C#? Well, look no further; you’ve come to the right place! This is a learn-as-you-build practical guide to building eight full-fledged applications using Xamarin.Forms, Xamarin Android, and Xamarin iOS. Each chapter includes a project, takes you through the process of building applications (such as a gallery Application, a text-to-speech service app, a GPS locator app, and a stock market app), and will show you how to deploy the application’s source code to a Google Cloud Source Repository. Other practical projects include a chat and a media-editing app, as well as other examples fit to adorn any developer’s utility belt. In the course of building applications, this book will teach you how to design and prototype professional-grade applications implementing performance and security considerations.
Table of Contents (14 chapters)
Xamarin Blueprints
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface

Setting up the navigation service


Implementing a navigation service in MVP is very different from our Xamarin.Forms navigation service. Our navigation service will not be used in an IoC container this time; instead, we will be instantiating one of these objects at the start of our application in the AppDelegate and MainActivity classes. Since we are working in native, we will also be implementing a separate navigation service for each platform that will share the same interface.

Let's start with creating the shared interface. Add a new file to the Chat.Common folder Presenter | Services, call it INavigationService.cs, and implement the following:

public interface INavigationService { void PushPresenter(BasePresenter presenter); } 

Building the iOS navigation service

Let's start with the iOS navigation service. Add in a new folder called Services to the Chat.iOS project, create a new file called NavigationService.cs, and implement the following:

public class NavigationService : INavigationService...