2016-11-10 11 views
0

私はこれを説明することを知らない、あなたが理解して欲しい。私は、ApplicationContext(Xamarin.Android)に似たものがあるが、iOSの場合はXamarin.Formsを使用していて、データを取得するクラスがあるMyApp(これは移植可能)というクラスがあります。アプリケーションを実行するために必要な、私はXamarin.Androidでこれを行います:Xamarin.Forms - コンテキスト?

変数var =((MyApp)ApplicationContext);

これで私はデータを取得します。

+0

どのような情報が必要ですか? James Montenegroは良いDevice Infoプラグインを持っていますが、そこから得ることができないものなら、あなたは依存性注入を考慮するかもしれません。 – Sam07

答えて

0

Android自体がアクティビティやアプリケーションに "Context"を使用し、アプリケーションコンテキストがAndroid.Content.Contextのものです。違いは、アプリケーションコンテキストがアプリケーションのライフサイクルに関係していることです。アクティビティのコンテキストは、アクティビティのライフサイクルに関連付けられます。

iOS自体はAppDelegateを使用しており、AndroidのApplicationContextに似ています。主な違いの1つは、Androidのコンテキストには、アクションを完了するために必要な情報が含まれていることです。これは、Xamarin.FormsがAndroidのアクティビティを管理するため、Forms.ContextがXamarin.FormsのAndroidカスタムレンダラーで公開される理由の1つです。

私はあなたがアプリケーションコンテキストからキャプチャするもの、またはそのデータで何を達成しようとしているのか分かりません。 iOSでは、ほとんどのアプリケーションレベルのデータがUIApplicationクラスに存在します。 UIApplicationは、iOS上で実行されているアプリケーションの中央管理プロパティをカプセル化し、あなたが探している可能性が最も高いです。 Xamarin.iOS.UIKit.UIApplicationのドキュメントに必要なデータが含まれているかどうかを確認することをお勧めします。

iOSアプリケーションのライフサイクルイベントを探している場合は、AppDelegateで使用可能なオーバーライドを使用したい場合よりも、 Hereは利用可能なライフサイクルイベントに関するXamarinのドキュメントです。

こちらがお役に立てば幸いです。

開示:私はXamarin/Microsoftで働いています