Autore Topic: Library Project per condividere porzioni di codice tra progetti diversi  (Letto 697 volte)

Offline HappyMan

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei IDEOS
  • Sistema operativo:
    Microsoft Windows XP
Buongiorno a tutti,
ho un progetto per Android 2.2 per cellulari che sfrutta la comunicazione via Bluetooth, ho sviluppato una serie di funzioni per la gestione dei dati ricevuti, il salvataggio degli archivi, la loro lettura, etc etc
Ora vorrei portare lo stesso progetto su Android 4.0 utilizzando la porta seriale: ciò che mi cambia tra i due progetti è il layout e la gestione della comunicazione fisica (porta seriale vs Bluetooth), il resto del codice è uguale, pertanto vorrei condividerlo tra i due progetti. Vi chiedo se la realizzazione di un progetto di tipo Library con sdk minimo 2.2 è l'approccio corretto, sposterei il codice comune lì e dagli altri due progetti utilizzerei la libreria.
In termini di debug cosa cambia ? Eclipse è in grado di eseguire il debug passando dal progetto principale a quello nella libreria (come avviene per esempio in Visual Studio ?)

Ciao e grazie
HappyMan

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Library Project per condividere porzioni di codice tra progetti diversi
« Risposta #1 il: 08 Novembre 2012, 15:45:43 CET »
0
In termini di debug cosa cambia ? Eclipse è in grado di eseguire il debug passando dal progetto principale a quello nella libreria (come avviene per esempio in Visual Studio ?)

Si, non ci sono problemi.

Comunque, in linea teorica (poi magari nel tuo caso specifico implementarlo diventa complicato) potresti anche sviluppare un app sola che si comporta in un modo su Android 2.x e in un altro su Android 4.x, andando a runtime a leggere la versione del sistema e caricando le apposite classi.

Es:

Codice (Java): [Seleziona]
Manager manager;

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
        manager = new ManagerImplIcs();
}else{
        manager = new ManagerImplGingerbread();
}

manager.faiQualcosa();



Dove Manager è una interfaccia e ManagerImplIcs e ManagerImplGingerbread sono due implementazioni di Manager che rispettivamente implementando il comportamento che l'app deve avere su Ics e Gingerbread.
Anche i Layout puoi differenziarli per versione, mettendoli rispettivamente nella cartella res/layout e res/layout-v14

Comunque, se deciderai di creare apk diverse per le diverse versioni questa lettura potrebbe essere utile:
Maintaining Multiple APKs | Android Developers
« Ultima modifica: 08 Novembre 2012, 15:48:00 CET da Ricky` »

Offline HappyMan

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei IDEOS
  • Sistema operativo:
    Microsoft Windows XP
Re:Library Project per condividere porzioni di codice tra progetti diversi
« Risposta #2 il: 08 Novembre 2012, 16:37:59 CET »
0
Grazie, sei stato assolutamente esauriente !

HappyMan