Projet Android: la meilleure façon d'organiser les fichiers

Je crée ma première application Android, et il a déjà été un peu désordonné. J'utilise les modèles de liste / détail car ils correspondent aux circonstances, mais parce que je développe pour le mobile et la tablette, il est un peu égaré. Pour chaque écran (Liste / détail étant un écran), quatre fichiers sont créés. ListActivity, ListFragment, DetailActivity, DetailFragment. Ayant quatre écrans jusqu'à présent, et tout simplement en commençant le projet, j'ai 12 fichiers, plus trois fichiers auxiliaires pour une table de base de données.

Ce que je demande, c'est quelle est la meilleure façon d'organiser cela? J'utilise Android Studio, et il me semble que je ne peux pas trier les fichiers dans des dossiers sans les mettre dans des paquets distincts. Donc, je fais quelque chose comme com.domain.app.screen1. (Fragments | Activités), com.domain.app.screen2. (Fragments | Activités) et ainsi de suite? Ou est-ce que je viens de le supporter? Ou y a-t-il une meilleure façon de faire cela?

  • Active l'activité Android dans une nouvelle tâche sans utiliser android: launchMode = "singleTask"
  • Android RatingBar: Impossible de remplir une note de classement partielle si je personnalise sa couleur
  • Pourquoi un récepteur de diffusion ne peut être enregistré que par code ou AndroidManifest
  • Appelez des méthodes de classe C ++ ou une fonction de Java sur Android sans créer de classe / variable sur chaque appel
  • Erreur lors de l'exécution du client de back-end mobile du moteur de l'application Google
  • Android - Ajouter un nouvel onglet lorsque le bouton fait un clic sur Google Chrome nouveau bouton?
  • Si je ne suis pas clair, laissez-moi savoir et je vais essayer de l'éclaircir

  • Vérifiez si gps est activé dans Kitkat (4.4)
  • Sélection par programme de l'élément ListView dans Android
  • Les messages Android GCM prennent trop de temps à venir
  • Accéléromètre et précision gyro dans différents appareils mobiles
  • Comment obtenir des statistiques d'utilisation du processeur sur Android?
  • Événements personnalisés dans React Native Android native UI component
  • 2 Solutions collect form web for “Projet Android: la meilleure façon d'organiser les fichiers”

    Bon expliquer par @Eric Oestrich:

    L'écriture d'une application Android de taille moyenne à grande nécessite une structure de code. En créant notre dernier projet de développement Android, j'ai rencontré une structure qui m'a aidé.

    Code Java:

    • Com.example

      • Activités

        Contient toutes les activités. Les cours sont tous nommés avec Activité à la fin. De cette façon, vous pouvez immédiatement savoir ce que c'est quand vous lisez le code Java qui n'a pas son nom complet.

      • Adaptateurs

      Contient tous les adaptateurs.

      • Authentificateur

      Contient toute classe liée à la signature d'un utilisateur. Je crée un compte local et j'ai toutes les classes liées ensemble.

      • Les données

      Contient toutes les classes liées à la gestion des données telles que ContentProvider et SQLiteHelper.

      • Data.migrations

      Contient toutes mes migrations SQLite.

      • Fragments

      Contient tous les fragments.

      • Aides

      Contient des cours d'aide. Une classe d'aide est un endroit pour mettre un code qui est utilisé dans plus d'un endroit. J'ai un DateHelper par exemple. La plupart des méthodes sont statiques.

      • Interfaces

      Contient toutes les interfaces.

      • des modèles

      Contient tous les modèles locaux. Lors de la synchronisation à partir d'une API HTTP, je joins le JSON dans ces objets Java à l'aide de Jackson. Je tire également des lignes Cursor dans ces modèles aussi.

      • Préférences

      Contient toutes les classes pour les préférences personnalisées. Lors de la création des préférences, j'ai besoin d'un PreferenceDialog personnalisé ainsi que d'une PréférenceCatégorie personnalisée. Ils vivent ici.

      • Synchronisation

      Contient toutes les classes liées à la synchronisation. J'utilise un SyncAdapter pour extraire des données d'une API HTTP. En plus du SyncAdapter, un SyncService est requis, donc j'ai créé un package.

    Dispositions:

    • Activité Le nom de la mise en page commence par activity_
    • Le nom de la ligne de la mise en page de l'adaptateur commence par row_
    • Fragment Le nom de la mise en page commence par fragment_

    Pour autant que je sache, il n'y a pas de convention, mais voici un exemple de la façon dont vous pouvez mettre vos fichiers en paquets:

    • MainPackage
      • LauncherFragment
      • LauncherActivity
      • Mon application
    • UiPackage
      • DétailsFragment
      • DétailsActivité
      • OtherTabletFragment
    • ViewPackage
      • affichages personnalisés
    • Package de base de données
      • MainContentProvider
      • MainDBHelper
      • SecondContentProvider
      • SecondDBHelper
    • Datapackage
      • CustomAdapter
    • UtilsPackage
      • XmlUtils
      • TextUtils

    Et plein d'autres. Vous pouvez rechercher des projets android sur GitHub et regarder.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.