OS függő függvény

Projekt könyvtáron belül létrehozni a IMyInterface.cs fájlt és példaként egy myFunction()-t

namespace Projekt
{
    public interface IMyInterface
    {
        void myFunction(int id, string title);
    }
}
 
Projekt.Android könyvtáron belül létrehozni a MyAndroidInterface.cs fájlt
using Android.Content;
using Projekt.Droid;
using Xamarin.Forms;
 
[assembly: Dependency(typeof(MyAndroidInterface))]
namespace Projekt.Droid
{
    public class MyAndroidInterface : IMyInterface
    {
 
        public static Context context = MainActivity.Instance;
 
        public MyAndroidInterface() { }
 
        public void myFunction(int id, string title) {...}
 
    }
}
- Bizonyos Android parancsok kontextus függőek, így ha aktivitáson kívül futnak, akkor szükséges nekik a kontextust megadni a context változó által.
 
Projekt.Android könyvtáron belül a MainActivity.cs fájlban
- onCreate előtt
internal static MainActivity Instance { get; private set; }
- onCreate első parancsa
Instance = this;
 
Projekt.iOS könyvtáron belül létrehozni egy a MyiOSInterface.cs fájlt
using Projekt.iOS;
using Xamarin.Forms;
 
[assembly: Dependency(typeof(MyiOSInterface))]
namespace Projekt.iOS
{
    public class MyiOSInterface : IMyInterface
    {
        public void myFunction(int id, string title) {...}
    }
}
 
Projekt.UWP könyvtáron belül létrehozni a MyWindowsInterface.cs fájlt
using Projekt.UWP;
using Xamarin.Forms;
 
[assembly: Dependency(typeof(MyWindowsInterface))]
namespace Projekt.UWP
{
    public class MyWindowsInterface : IMyInterface
    {
 
        public void myFunction(int id, string title) {...}
    }
}
 
Ezen függvény meghívása
DependencyService.Get<IMyInterface>().myFunction(1, "Valami");
 
- Figyelem: IMyInterface összes függvénye legyen kifejtve mind a MyAndroidInterface.cs, mind pedig a MyiOSInterface.cs fájlban -- akár üresen is hagyhatóak!
Mobilos kategóriák: