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
================================================================================
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();
================================================================================
================================================================================
On UWP project, right click, add new
================================================================================
Code
Class
Name: Caller_UWP
================================================================================
In Caller_UWP.cs
================================================================================
Click Android emulator
================================================================================
Run UWP emulator
================================================================================