私は自分のサーバーと通信するためにHttpClientを持っています。Androidでのアクティビティ間の永続セッションのベストプラクティスは何ですか?
これまで、サービスを使用して、HttpClientをバックアップしました。バックグラウンドスレッドを含めて、重い作業を行いました。
これを行うもう1つの方法は、ローカルファイル/ xml /データベースにCookieを保存し、存在する場合はそれを確認し、新しいHttpClientで使用して各アクティビティを作成します。
どちらが良いか、私が望むものを達成するためのより良い方法がありますか?
私は1つのセッションでのHttpClientインスタンスを永続化するサービスを利用することができ、それは、ログイン毎回を必要とするアプリケーションのための十分です。 – CarlLee
私は混乱していると思いますが、サービスは永続していますか? HttpClientをディスクに書き込むことはできません。それとも、サービスをクライアントを保持するシングルトンとして機能させると言っていますか?もしそうなら、データを引き渡すことは面倒なことになるでしょう。そして、クッキーストアとメモリ内の共有場所を持つHttpClientを使用して、あなたのアクティビティを(おそらくあなたがそのルートに行った場合はApplicationオブジェクト内で)プルする必要があります。 –
アプリケーションは、1つのセッション中に(異なるアクティビティであっても)閉じられません。したがって、HttpClientは、サービスオブジェクトがまだその参照を保持しているため、収集されません。私はそれを使用したいとき、私はIBinderを呼び出して、サービスオブジェクトのインスタンスを取得し、そこからHttpClientを取得します – CarlLee