おっしゃったように、グローバルApplication
クラスとデータベースは、アプリケーション全体のデータを共有するための 2 つの優れた方法です。注意すべきことの 1 つは、アプリがバックグラウンドにあるときに Application クラスがリサイクルされる可能性があることです。これにより、より永続的なものに永続化されていないデータが失われます。
データベースに加えて、ファイルシステムまでデータを永続化することもできます。Xamarin のこのレシピには、ファイルに直接書き込む例があります。ファイル アクセスを行うために必要なクラスのほとんどは、System.IO
名前空間にあります。Mono for Androidは、ファイルの読み取りと書き込みのための高レベル API を提供する分離ストレージもサポートしています。
アクティビティ間でデータを直接渡すだけの場合は、それをインテントにエクストラとして追加することで実現できます。このレシピは、その方法を説明しています。
アプリケーションの他の部分や外部アプリケーションからもアクセスできる、より管理された方法で特定のリソースへのアクセスをまとめたい場合は、コンテンツ プロバイダーの実装を検討できます。Android 自体には、連絡先やメディアなどのリソース用の組み込みのコンテンツ プロバイダーがいくつか用意されています (使用方法の例が必要な場合)。このレシピでは、連絡先プロバイダーから読み取る方法について説明します。