2010-12-21 11 views
1

現在、「サービスの注文」、「ルートプランニング」、「フォトギャラリー」、中央ログインなど、サービスの次元が異なるAndroidアプリで作業しています。 これまでのところ、個々のレイアウトをロードし、スレッド内のwebservicesを呼び出す、回答を受け取るなどのすべてのリスナーとコア機能を処理する別々のクラスとして、各「画面」(および画面では実際は画面のレイアウトを意味する)を実装しました。 。 これが複数のレイアウト画面を実装する最良の方法であるかどうかはよく分かりません。アプリ内に複数の画面を実装する方法

Androidデベロッパーのガイドラインでは、「画面レイアウト」ごとに1つのアクティビティを使用することを提案しています。しかし、これが最も効果的なやり方だとは思っていません。私は、それぞれの "レイアウト"についての情報を必要とするので、中央のログイン(ここではユーザオブジェクト)によって検索されます。アクティビティ(私が理解する限り)は別個のスレッドなので、情報の受け渡しと取得はあまり実用的ではないようです。

私はあなたの意見やフィードバックを得たいと思います。ヒントやヒントについては、ありがとうございます。

のようにこれまでのところ、私の構造が見えます:

  • 負荷がbuttonclick他のリソースに応じてレイアウト(setlContentViewとRES /レイアウト/ login.xml)
  • ログイン活動がロードされ、初期化され

    • (手段リスナー等を添加している)

は挨拶しますPeter

答えて

3

devガイドラインには、理由があります。それは物事を行う最も効果的な方法です。アクティビティからアクティビティに渡すことができるようにデータを保存しなければならないと不平を言うかもしれませんが、何を推測しますか?あなたは電話のアプリを開発しています!いつでも、電話が鳴り、ユーザーがあなたのアプリから離れてしまう可能性があります。または、ユーザーは一時的に別のアプリを見ることもできます。あなたのアプリがスイッチバックしてすべてのデータを失った後に正方形に戻った場合、ユーザーは分かりづらいでしょう。

+0

フィードバックをいただきありがとうございますので、このデータをアクティビティからアクティビティに渡すよりも、電話で永続的に保存することをお勧めします。あなたはここに有効なポイントを持っているので、アクティビティからアクティビティへのデータを渡しても、アプリが中断された場合は失われます。そのため、電話に保存する必要があります。アプリが中断されるたびにログイン) – Peter

+0

あなたがそれをどれくらい長くしたいかによって異なります。それをSharedPreferencesに保存すると、ユーザーが電話をリセットした後でさえも周囲にあります。いいね。しかし、それを意図通りに伝えるだけで害はありません。それは、通常のケース(電話機の向きの変更を含む)を処理するのに十分です。 – EboMike

0

これはアプリに適しているかどうかわかりませんが、コアデータ処理をサービスに分割してアプリをそのサービスと通信するUIフロントエンドにすることもできます。

関連する問題