https://www.youtube.com/watch?v=QmZlPtjDL0o&list=PLtmQsn29mAv8UPdAvXgq5jOfKDPpmxxti ================================================================================ - There is interface named IDialer - IDialer interface is implemented in Caller_android class - IDialer interface is implemented in Caller_iOS class - IDialer interface is implemented in Caller_UWP class ================================================================================ - If you click button on Android machine, - DependencyService is activated - DependencyService finds the classes which implement IDialer interface - DependencyService passes "object" into Caller_android (?) - Android machine codes are executed ================================================================================ Add Button In MainPage.xaml <Button Text="Phone" Clicked="Button_Clicked" /> ================================================================================ Right click on "common code directory" ================================================================================ Click, "add -> new" ================================================================================ Code Interface Name to "IDialer" Click "add" ================================================================================ ================================================================================ ================================================================================ ================================================================================ Right click on "xa004.Android" ================================================================================ "Add" -> "New" ================================================================================ Android Class Name to "Caller_android" ================================================================================ [assembly: Dependency(typeof(Caller_android))]: - From common code, it will request "any classes" which implement "IDialer" to the each device like Android, iOS, UWP - [assembly: Dependency(typeof(Caller_android))]: is annotation label for above task ================================================================================ Let's write the actual code to print message in debugger window ================================================================================ In MainPage.xaml.cs // Button is clicked // object and Event are passed into Button_Clicked() // DependencySerice requests "classes" (which implement IDialer) to each device // Object of Caller_android is stored in dialer var dialer=DependencySerice.Get<IDialer>(); ================================================================================ ================================================================================ On UWP project, right click, add new ================================================================================ Code Class Name: Caller_UWP ================================================================================ In Caller_UWP.cs ================================================================================ Click Android emulator ================================================================================ Run UWP emulator ================================================================================