Progetto Android: Come meglio organizzare i file

Sto costruendo la mia prima applicazione Android, ed è già diventata un po 'disordinata. Sto usando gli schemi di elenco / dettagli, perché sono quello che si adatta alle circostanze, ma perché sto sviluppando sia per cellulari che tablet, sta diventando un po 'fuori mano. Per each schermata (elenco / dettaglio in una schermata) vengono creati quattro file. ListActivity, Listafragment, DetailActivity, ParticleFragment. Avendo quattro schermi finora e letteralmente appena avviato il progetto, ho 12 file, più tre file helper per una tabella di database.

Quello che sto chiedendo, è il modo migliore per organizzare questo? Sto utilizzando Android Studio e sembra che non posso ordinare i file in cartelle senza metterli in pacchetti separati. Così faccio qualcosa come com.domain.app.screen1 (frammenti | Attività), com.domain.app.screen2. (Fragmenti | Attività) e così via? Oppure ho appena messo su con esso? Oppure c'è un modo migliore per farlo?

  • INSTALL_FAILED_CPU_ABI_INCOMPATIBLE sul dispositivo utilizzando intellij
  • L'allineamento di Android RelativeLayout non funziona
  • Eccezione di puntatore nullo su .setOnClickListener
  • Come aggiungere PDFBox a un progetto Android o suggerire un'alternativa
  • Come popup list come un filatore senza spinner in android?
  • HttpURLConnection java.io.FileNotFoundException
  • Se non sono chiaro, fai solo sapere e cercherò di chiarirlo

  • Come aprire LogCat in Eclipse (per Android Debug)
  • Android: OnTouch, MotionEvent.ACTION_MOVE non è riconosciuto?
  • Salvataggio di dati su Android: archiviazione di file vs database SQLite vs preferenze condivise
  • Roboto font per Android 4+?
  • Come faccio a visualizzare una vista come sovrapposizione di un'altra?
  • Ricevi un'icona di notifica utilizzando un servizio di accessibilità
  • 2 Solutions collect form web for “Progetto Android: Come meglio organizzare i file”

    Buona Spiega da @Eric Oestrich:

    La scrittura di un'applicazione Android medio-grande richiede la struttura del codice. Nella creazione del nostro ultimo progetto di sviluppo Android, mi sono imbattuto in una struttura che mi ha aiutato.

    Codice Java:

    • com.example

      • attività

        Contiene tutte le attività. Le classi sono tutte nominate con l'attività alla fine. In questo modo puoi sapere immediatamente cosa sta leggendo il codice Java che non ha il suo nome completo del pacchetto.

      • adattatori

      Contiene tutti gli adattatori.

      • autenticatore

      Contiene qualsiasi class relativa alla firma di un utente. Creo un account locale e tutte le classi correlate sono molto utili.

      • dati

      Contiene tutte le classi relative alla gestione dei dati come ContentProvider e SQLiteHelper.

      • data.migrations

      Contiene tutte le migrazioni di SQLite.

      • frammenti

      Contiene tutti i frammenti.

      • aiutanti

      Contiene classi di aiuto. Una class di helper è un luogo per mettere codice che viene utilizzato in più di un posto. Per esempio, ho un DataHelper. La maggior parte dei methods sono statici.

      • interfacce

      Contiene tutte le interfacce.

      • Modelli

      Contiene tutti i templates locali. Quando si sincronizza da un'API HTTP, analizzo il JSON in questi oggetti Java utilizzando Jackson. Tengo anche le righe Cursor in questi templates.

      • preferenze

      Contiene tutte le classi per le preferenze personalizzate. Durante la creazione delle preferenze ho richiesto un PreferenceDialog personalizzato, nonché una PreferenceCategory personalizzata. Vivono qui.

      • sincronizzare

      Contiene tutte le classi relative alla sincronizzazione. Utilizzo una SyncAdapter per estrarre i dati da un'API HTTP. Oltre a SyncAdapter è necessaria una SyncService, quindi ho creato un pacchetto.

    Layout:

    • Il nome del layout di attività inizia con activity_
    • Il nome della row di layout dell'adattatore inizia con row_
    • Il nome del layout di frammento inizia con fragment_

    Per quanto ne so, non esiste una convenzione, ma qui è un esempio di come puoi mettere i tuoi file in pacchetti:

    • mainPackage
      • LauncherFragment
      • LauncherActivity
      • La mia applicazione
    • uiPackage
      • DetailsFragment
      • DetailsActivity
      • OtherTabletFragment
    • viewPackage
      • visualizzazioni personalizzate
    • databasePackage
      • MainContentProvider
      • MainDBHelper
      • SecondContentProvider
      • SecondDBHelper
    • dataPackage
      • CustomAdapter
    • utilsPackage
      • xmlUtils
      • textutils

    E molti altri. È ansible cercare i progetti android su GitHub e dare un'occhiata.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.