14

これは、設計/ベスト プラクティスに関する 1 つの質問です。

私は Android 開発は初めてで、基本的に Web/モバイル ソリューションは初めてです。

だから、私の質問は - リモートサーバーからデータを取得するアンドロイドアプリケーションの構造を整理するときのベストプラクティスは何ですか?

サーバーへのリクエストは、サーバーとの通信 (get および post リクエスト) を行う 1 つのクラスに入れる必要がありますか?それとも、自分のリクエストをデータ ソースとして見る必要がありますか?つまり、すべてのデータ クラスがそれ自体を管理する必要があります。

または、抽象化のレベルを増やす必要があります.1つのレベルはデータを取得するためのもので、もう1つのレベルは、どのソースデータから来たのかを知らずにいくつかのインターフェースを使用するモデルのためのものですか?

経験豊富な Android 開発者がこれらの設計上の問題にどのように取り組んでいるかに興味があります...

4

2 に答える 2

10

Virgil Dobjanschiプレゼンテーションは、前に指摘したように優れたリソースです。これは、基本的に、アクティビティが破棄されないようにバックグラウンドサービスからリクエストを実行し、データをできるだけ早くデータベースに保存するように指示します。

技術的な詳細については、私が行っている方法は、アプリを3つのコンポーネントに分割することです。

1- HTTPリクエストとレスポンスの処理をカプセル化するライブラリ(ApacheHTTPを使用)。これにより、Cookie(ログインに必要な場合があります)やHTTPヘッダーの変更を伴う可能性のある単純なリクエスト/レスポンスと高度な機能を処理できます。

2-マーシャル/アンマーシャレイヤー。サーバーデータ(XMLやJSONなど)を解析し、アプリの他の部分が処理するオブジェクト(モデルなど)に変換します。

3-永続層。

Dobjanschiのプレゼンテーションによると、私は通常、アクティビティ内のスレッドワーカーではなく、サービスでデータ要求を実行します。

于 2012-11-13T04:06:04.377 に答える
6

この Google I/O トークで発表された 3 つのモデルのいずれかを使用します。アプリ アーキテクチャの定義プロセス全体に役立つ提案を提供します。また、初心者が犯しがちなよくある間違いを防ぐこともできます。

http://www.youtube.com/watch?v=xHXn3Kg2IQE

この投稿も役立ちます。

Virgil Dobjanschi REST 実装パターンを実装するサンプル Android REST クライアント プロジェクトが必要です

于 2012-11-13T03:42:29.390 に答える