web-dev-qa-db-ja.com

Androidプロジェクト:ファイルの整理方法

私は最初のAndroid=アプリを作成していますが、もう少し厄介です。リスト/詳細パターンを使用しています。それらは状況に適したものだからですが、モバイルでもタブレットでも手に負えなくなります。すべての画面(リスト/詳細が1つの画面)に対して、4つのファイルが作成されます。 12個のファイルと、1つのデータベーステーブルに3つのヘルパーファイルがあります。

私が求めているのは、これを整理するための最良の方法は何ですか? Android Studioを使用しています。ファイルを個別のパッケージに入れないと、ファイルをフォルダーに分類できないようです。com.domain.app.screen1。( Fragments | Activities)、com.domain.app.screen2。(Fragments | Activities)などですか?それとも我慢していいですか?またはこれを行うより良い方法はありますか?

不明な点がある場合は、お知らせください。解決に努めます

24
Gareth Parker

良い説明@ Eric Oestrich:

中規模から大規模のAndroidアプリにはコード構造が必要です。最新のAndroid開発プロジェクトを作成する際に、私が役立つ構造に出会いました。

Javaコード:

  • com.example

    • アクティビティ

      すべてのアクティビティが含まれています。クラスはすべて、最後にアクティビティで名前が付けられます。そうすれば、完全なパッケージ名を持たないJavaコードを読んだときに、それが何であるかをすぐに知ることができます。

    • アダプター

    すべてのアダプターが含まれています。

    • 認証者

    ユーザーのサインインに関連するすべてのクラスが含まれています。ローカルアカウントを作成し、関連するすべてのクラスをまとめると非常に便利です。

    • データ

    ContentProviderやSQLiteHelperなどのデータ管理に関連するすべてのクラスが含まれています。

    • data.migrations

    SQLiteの移行がすべて含まれています。

    • フラグメント

    すべてのフラグメントが含まれています。

    • ヘルパー

    ヘルパークラスが含まれます。ヘルパークラスは、複数の場所で使用されるコードを配置する場所です。たとえば、DateHelperがあります。ほとんどのメソッドは静的です。

    • インターフェース

    すべてのインターフェースが含まれます。

    • モデル

    すべてのローカルモデルが含まれます。 HTTP APIから同期する場合、JSONを解析してこれらのJavaオブジェクトをJacksonを使用して解析します。また、カーソル行をこれらのモデルにプルします。

    • 設定

    カスタム設定のすべてのクラスが含まれています。設定を作成するとき、カスタムPreferenceDialogとカスタムPreferenceCategoryが必要でした。彼らはここに住んでいます。

    • 同期

    同期に関連するすべてのクラスが含まれています。 SyncAdapterを使用して、HTTP APIからデータをプルします。 SyncAdapterに加えて、SyncServiceが必要なので、パッケージを作成しました。

レイアウト:

  • アクティビティレイアウト名はactivity _で始まります
  • アダプタレイアウトの行名はrow _で始まります
  • fragment _で始まるフラグメントレイアウト名
32
Dhaval Jivani

私の知る限り、慣例はありませんが、ファイルをパッケージに配置する方法の例を次に示します。

  • mainPackage
    • LauncherFragment
    • LauncherActivity
    • 私のアプリケーション
  • uiPackage
    • 詳細フラグメント
    • 詳細アクティビティ
    • OtherTabletFragment
  • viewPackage
    • カスタムビュー
  • databasePackage
    • MainContentProvider
    • MainDBHelper
    • SecondContentProvider
    • SecondDBHelper
  • dataPackage
    • CustomAdapter
  • utilsPackage
    • xmlUtils
    • textUtils

そして他の多く。 GitHubAndroidプロジェクトを検索して確認できます。

11
Rémi F