1

Mono For Android を使用して Android アプリを作成しています。

私のソリューションは次のように構成されています。

  • コア -> ビジネス ロジックを含む .Net クラス ライブラリ。Android コードはありません。相互運用可能である必要があります。
  • Core.AndroidLib -> Android クラス ライブラリ。Android 固有のコードが含まれています
  • MyApp -> Android アプリケーション プロジェクト。レイアウト、アクティビティなどが含まれます。

Core には私のエンティティ (つまりStudent) が含まれています。私StudentのクラスにはプロパティがありますIEnumerable<Schedule> Schedules。このプロパティは Web サービス ( GetAllSchedules()) から入力されます。リソースを節約するために、サービスからダウンロードされたデータはローカル SQLite データベースにキャッシュされます (キャッシュ ロジックは Core.AndroidLib にあります)。スケジュール データが要求されるたびに、最初にキャッシュをチェックし、追加のデータが必要な場合にのみ Web サービスに移動します。

この時点まで、Core は純粋な .Net クラス ライブラリのままです。

Cursors について読んだ後、Cursor は必要な場合にのみデータが「フェッチ」されるため、(IEnumerable<Schedule> Schedulesすべてを一度に事前入力してリストに格納するのではなく) クエリを実行する方が効率的であることに気付きました。

スケジュール データをリストに格納する代わりに、カーソル (つまり ) に格納することを考えていますICursor Scheduleが、このアプローチでは、コア ライブラリが Android ライブラリのクラスを使用するため、相互運用できなくなります。

スケジュール データをリストに保持し、SQL からデータを事前入力するだけにする必要がありますか ( Select * from Schedules)、または ICursor を公開する必要がありますか? ICursor を公開することは、すべてのデータを取得してリストに格納するよりも効率的ですか?

4

0 に答える 0