-1

FormsAppCompatActivity.OnCreate(Bundle bundle)を非同期としてマークするのが問題ならば、私は質問に遭遇していますか? AWS DynamoDBからユーザー固有のデータを取得する必要があり、userIdを使用してクエリを実行するには、Akavacheキャッシュからユーザーを取得する必要があります。もちろん、ローカルの設定にuserIdを保存したり、ユーザオブジェクト全体を同期して取得できるようにシリアル化することもできます。Xamarin.Forms - async OnCreateメソッドを使用したAndroidのアクティビティ

キャッシュがSQLiteを使用しているため、起動時にパフォーマンスの問題が発生することもありません。唯一の問題は、AkavacheのGetObject<T>(string key)を待っているため、すべてをOnCreateに非同期でマークするか、返されたObservableをサブスクライブし、Observableが有効でないため、有効なuserIdを持たないユーザーデータを照会しようとします。まだ戻った。

答えて

1

あなたは開発のためのXFを使用しているので、MainActivityOnCreateのコードLoadApplication(new App());は、PCLでAppのライフサイクルイベントにライフサイクルイベントをフックします。

あなたはコードを投稿していませんでした。LoadApplication(new App());の後にデータを取得するためのコードを配置していると思いますが、まだ返されていないと言われています。

PCLののAppでタスクを呼び出し、一緒にDependencyServiceを使用してPCLからデータを取得するための非同期タスクを呼び出すことをお勧めします。

+0

私は受け取っているインテントに基づいて 'OnCreate'から呼び出す' App'に異なる開始メソッドを実装しました。私は常にログインプロセスの一部としてユーザーを取得する必要があるため、すべての開始メソッドから非同期メソッドを呼び出す必要があったため、非同期とOnCreateのマークを付ける必要がありました。代わりに 'OnStart'メソッドを使って非同期としてマークすることについては考えていません。私はそれを試してみる - ありがとう! :) –

関連する問題