AccountManager は、対話型アプリケーションではなく、同期アダプターによって呼び出されることを意図しています。(優れたチュートリアルは「Did You Win Yet? » Writing an Android Sync Provider」のパート 1とパート 2で、優れたコード例が示されていますが、データ フローの説明にはあまり役立っていません)。
データベースをラップする ContentProvider を開発します。SyncAdapter (これはバックグラウンド サービスです) を構築して、サーバーに接続し、データをフェッチして、サーバーと一致するように ContentProvider を同期します。次に、UI が ContentProvider にクエリを実行して、取得したデータを表示します。たとえば、結果を検索してキャッシュする場合など、特定の情報を直接クエリする方法もいくつかあります。データ モデルがどのように見えるべきかについての 1 時間のセッションについては、RESTful Android アプリの開発を参照してください。彼らは、「単純な」実装から始めて、適切な SyncAdapter モデルに進む 3 つのアーキテクチャの例を示しています。
認証自体に関しては、SyncAdapter が AccountManager を使用する方法は、認証トークンを取得することです。これは (多くの場合) 大きな 16 進数値であり、ユーザー名/パスワードのペアの代わりに HTML ヘッダーの一部として渡されます。1 つのセッションの一意のキーと考えてください。キーの所有は認証の証明であり、定期的に有効期限が切れます。それらが期限切れになると、再認証して新しいものをフェッチします。SyncAdapter は AccountManager に、特定のアカウントの種類とユーザー名の組み合わせの認証トークンを要求します。AccountManager はサーバーで認証し (変更により必要に応じてユーザーに新しいパスワードを要求します)、トークンを SyncAdapter に返します。SyncAdapter はそれ以降、それを使用します。
このモデルがアプリケーションに適していない場合は、代わりにアプリ コードでログイン/ログアウトを手動で処理する必要があります。ちょっとした痛み、私は知っています。