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
risposta
È 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"
>
ok, lasciami provare una volta. Ti farò sapere come è andata. Grazie – user2072344
grazie a tonnellate, questo funziona! – user2072344
come posso usare la classe lib2Application .. per favore mi dia un esempio? – Sunny
elementi Solo il manifesto e applicazioni sono richiesti, ciascuno devono essere presenti e possono avvenire solo una volta. La maggior parte degli altri può accadere molte volte o non esserlo affatto - sebbene almeno alcuni di loro debbano essere presenti per manifest per realizzare qualcosa di significativo. Vedi questo link: http://developer.android.com/guide/topics/manifest/manifest-intro.html#filec
lo scenario è come "ApplicationLib1 estende Application", "ApplicationLib2 estende Applicazione" e "YourApplication estende Applicazione"? –
È necessario implementare l'ereditarietà multilivello per risolvere questo scenario. –
@BirajZalavadia E cosa possiamo fare se le librerie fossero jar ?! In questo caso non possiamo scrivere qualcosa di simile: pubblica Lib2Application estende Lib1Application! –