2016-11-18 20 views
-2

こんにちは私はAndroid、UWP、IOSで自分のプロジェクトに使用し、他の人には公開しないNoSQLデータベースを作成しようとしています。ポータブルクラスライブラリにプラットフォーム固有のコードを追加

だから私は、これらのすべてのプラットフォームでファイルを作成、削除、書き込み、および読み込むことができる必要があります。

私は、このプラットフォーム固有のすべてのコーディングをPCL自体で行う方法や、ポータブルフレンドリーなAPIを作成し公開する方法を説明するソースへのリンクを探しています。移植可能なクラスそのもの。

btw私はすでに#if UWP #endifを使ってテストプロジェクトを作っていますが、移植性のあるクラスライブラリなので、実行すると無視されます。

例:あなたは、各プラットフォーム用の特定コードをお持ちの場合

public void CreateFile(string path) { 
    if (Platform == UWP) { 

    } 
    if (Platform == Android) { 
     //Create file for UWP 
    } 
    if (Platform == IOS) { 
     //Create file for UWP 
    } 
} 

答えて

4

は、あなたがこれを実行するためにBait & Switch trickを使用することができ、それは、Xamarinのプラグインの多くで使用されるアプローチです。

基本的には、AbstractionsプロジェクトとPCLのインプリメンテーションプロジェクトを作成します。ここでは、インターフェイスとクラスを使用して呼び出しを行います(もちろん、シングルトンや前述のクラスを作成するもの新しいクラス())。

各プラットフォーム固有のプロジェクトでは、抽象化プロジェクトで定義された抽象化を実装し、SAME名前空間とクラス名をPCLの実装で定義されているものと同じにして終了します。

最後にあなたのナゲットを作成すると、あなたは行くように設定されています。

私はあなたがJames Montemagnoのリンクを見て、これを説明することをお勧めします。

+1

ありがとう、素晴らしいリンクのように見えますが、これが私の問題を解決することを願っています – ZakFS

関連する問題