0
我需要使用xamarin實現航位推算應用程序。爲了做到這一點,我需要從Android/ios和windows phone訪問計步器/加速度計。由於他們有自己的API來調用,我相信這種方法是在PCL項目中創建一個接口,然後爲每個平臺實現本地實現。這些可以通過組件可見。除此之外,是否有任何方法可以在PCL項目本身中實現整個代碼?沒有每個平臺的本地實現?使用Xamarin Forms實現航位推測應用程序
我需要使用xamarin實現航位推算應用程序。爲了做到這一點,我需要從Android/ios和windows phone訪問計步器/加速度計。由於他們有自己的API來調用,我相信這種方法是在PCL項目中創建一個接口,然後爲每個平臺實現本地實現。這些可以通過組件可見。除此之外,是否有任何方法可以在PCL項目本身中實現整個代碼?沒有每個平臺的本地實現?使用Xamarin Forms實現航位推測應用程序
您的應用程序的邏輯可以在PCL中完成,但調用計步器或加速度計必須本機完成。
的基本方法是(只是一個例子)
public interface IPedometer
{
int GetSteps();
}
和這個接口是在您的PCL。
在每個本地平臺上創建一個類(例如NativePedometer),實現此接口並本機編碼以獲得結果。
在每個本地平臺上使用依賴注入,例如,
DependencyService.Register<NativePedometer>();
然後在PCL中使用下面的代碼。
DependencyService.Get<IPedometer>()
並在您的PCL中執行業務邏輯。這使您可以跨平臺重複使用儘可能多的代碼。
這是最好的方法,但您無法避免編寫本機代碼,而本機代碼是指傳統/本機Xamarin項目中的C#。
詹姆斯蒙特馬格諾有一個步驟計數器。當用谷歌搜索本地實現時的例子堆。 https://github.com/jamesmontemagno/My-StepCounter –