2013-09-25 15 views
20

Sto sviluppando un'applicazione Android nativa, in cui sto cercando di utilizzare 2 librerie open-source. Il problema è entrambe le librerie utilizzano la classe di applicazione nelle rispettive librerie. Stanno registrando queste classi nel rispettivo codice sorgente nel file manifest utilizzando "android: name" sotto il tag dell'applicazione. La domanda è come gestire uno scenario di questo tipo, poiché come sappiamo, , è possibile utilizzare un solo tag all'interno del file manifest. Possiamo registrare/creare un'istanza della classe dell'applicazione nel codice, in modo che menzioniamo solo UNA libreria nel tag e la seconda che utilizza il codice/pragmaticamente. O ci sono altre alternative. Per favore condividi i tuoi commenti/suggerimenti. Grazie in anticipo.come gestire più classi di applicazioni in Android

+1

lo scenario è come "ApplicationLib1 estende Application", "ApplicationLib2 estende Applicazione" e "YourApplication estende Applicazione"? –

+0

È necessario implementare l'ereditarietà multilivello per risolvere questo scenario. –

+2

@BirajZalavadia E cosa possiamo fare se le librerie fossero jar ?! In questo caso non possiamo scrivere qualcosa di simile: pubblica Lib2Application estende Lib1Application! –

risposta

41

È necessario implementare l'ereditarietà multilivello per risolvere questo scenario.

Questo è lo scenario

public Lib1Application extends Application{ 

} 

public Lib2Application extends Application{ 

} 

public YourApplication extends Application{ 

} 

Come risolvere questo?

public Lib1Application extends Application{ 

    } 

    public Lib2Application extends Lib1Application{ 

    } 

    public YourApplication extends Lib2Application{ 

    } 

infine nel mainfest.xml

<application 
     android:name="com.your.packagename.YourApplication" 
     android:icon="@drawable/ijoomer_luncher_icon" 
     android:label="@string/app_name" 
> 
+0

ok, lasciami provare una volta. Ti farò sapere come è andata. Grazie – user2072344

+0

grazie a tonnellate, questo funziona! – user2072344

+0

come posso usare la classe lib2Application .. per favore mi dia un esempio? – Sunny

Problemi correlati