Come creare la tua libreria per lo sviluppo Android da utilizzare in ogni programma che scrivi?


99

Sono un programmatore Delphi e negli anni ho scritto centinaia di classi e routine che posso usare in ogni programma Delphi che scrivo.

Questa libreria si chiama dlib e può essere utilizzata in ogni programma Delphi inserendo questa cartella nel percorso della mia libreria e utilizzando una delle unità nella sezione usi di un'unità Delphi.

Essendo completamente nuovo allo sviluppo di Java e Android, mi chiedo come farlo in modo simile.

Quindi la mia domanda, come posso scrivere le proprie classi, metterle in una cartella globale e utilizzare queste classi e routine in ogni programma Android che scrivo ?

So che questa è una domanda fondamentale, che probabilmente potrò scoprire cercando su Google e provandola in Eclipse, ma se qualcuno può mettermi sulla strada giusta, so che risparmierò molto tempo.

Grazie.


3
Vorrei fortemente mettere in guardia contro la creazione di questo tipo di biblioteche generali. Java tende ad avere già la maggior parte delle funzionalità di cui hai bisogno e, il più delle volte, le persone più intelligenti hanno già fatto tutto ciò di cui hai bisogno. Che tipo di cose fanno le tue biblioteche generali?
Andrew

Risposte:


94

Devi creare Android Library Project. Crea un progetto Android in Eclipse, accedi alle proprietà del progetto -> Android e controlla la proprietà isLibrary. Ora puoi aggiungere questa libreria al tuo progetto di applicazione Android aggiungendola all'elenco nella stessa pagina delle proprietà.

Istruzioni più dettagliate qui nella sezione Lavorare con i progetti di libreria


Se due app diverse utilizzano entrambe lo stesso progetto di libreria Android, vengono installate due copie della stessa libreria quando entrambe le app sono installate sullo stesso telefono?
enigmaticPhysicist

@enigmaticPhysicist La libreria viene effettivamente inserita in fase di compilazione. Quindi sì, entrambe le app hanno le proprie copie della libreria in bundle con loro
Richard Tingle

Ci deve essere un modo migliore. Forse in una futura versione di Android.
enigmaticPhysicist

10

Istruzioni per creare una libreria in Android Studio :

Crea un modulo libreria

Per creare un nuovo modulo libreria nel tuo progetto, procedi come segue:

  1. Fare clic su File> Nuovo> Nuovo modulo .

  2. Nella finestra Crea nuovo modulo visualizzata, fai clic su Libreria Android, quindi su Avanti.

    C'è anche un'opzione per creare una libreria Java , che costruisce un file JAR tradizionale. Sebbene un file JAR sia utile per molti progetti, soprattutto quando si desidera condividere codice con altre piattaforme, non consente di includere risorse Android o file manifest, il che è molto utile per il riutilizzo del codice nei progetti Android. Quindi questa guida si concentra sulla creazione di librerie Android.

  3. Assegna un nome alla tua libreria e seleziona una versione SDK minima per il codice nella libreria, quindi fai clic su Fine .

Una volta completata la sincronizzazione del progetto Gradle, il modulo della libreria viene visualizzato nel pannello Progetto a sinistra. Se non vedi la nuova cartella del modulo, assicurati che mostri la visualizzazione Android .

Converti un modulo dell'app in un modulo della libreria

Se hai un modulo app esistente con tutto il codice che desideri riutilizzare, puoi trasformarlo in un modulo libreria come segue:

  1. Apri il build.gradlefile a livello di modulo .

  2. Elimina la riga per il file applicationId. Solo un modulo di app Android può definirlo.

  3. Nella parte superiore del file, dovresti vedere quanto segue:

    apply plugin: 'com.android.application'

    Cambialo come segue:

    apply plugin: 'com.android.library'

    Salva il file e fai clic su Strumenti> Android> Sincronizza progetto con i file Gradle .


Grazie per aver aggiunto questa risposta, è molto meglio con Android Studio.
David Argyle Thacker

7

Se la tua libreria è in file .java composti da codice java. C'è un tutorial molto dettagliato su come utilizzare la libreria su mobile.tutsplus.com. Collegamento sottostante:

http://mobile.tutsplus.com/tutorials/android/android-essentials-creating-android-compliant-libraries/

Ad esempio, volevo utilizzare la libreria Pull To Refresh di Chrisbanes su Github.com qui https://github.com/chrisbanes/Android-PullToRefresh/tree/master/library . La struttura della biblioteca è sotto forma di un'app Android. Ha la forma come di seguito:

res/
src/
AndroidManifest.xml
pom.xml
project.properties

Come usare su Eclipse:

  1. Crea un nuovo progetto in Eclipse. Dai un nome al tuo progetto. Seleziona "Crea progetto da una fonte esistente". Selezionare la posizione della cartella principale contenente i file sopra menzionati in "Posizione". Seleziona il tuo obiettivo e fai clic su Fine.
  2. Seleziona le proprietà del nuovo progetto che hai creato. Seleziona l'opzione "Android". Seleziona la casella di controllo "È libreria" se non è già selezionata. chiudi proprietà.
  3. Aggiungi un riferimento alla libreria dal progetto che utilizzerà questa libreria. Seleziona il tuo progetto che utilizza questa libreria. Apri Proprietà. Seleziona l'opzione "Android". In basso su "Is Library". Non selezionare la casella di controllo "È libreria". Fare clic sul pulsante "Aggiungi" a destra. Il progetto creato nei passaggi 1 e 2 dovrebbe essere elencato pronto per la selezione. selezionalo e fai clic su applica. chiudi proprietà.
  4. Sei pronto per fare riferimento alle classi del tuo progetto.

grazie mi aiuta ... saluti dal nostro team fgroupindonesia: D
gumuruh

4

Con java, crei un archivio Java (jar) che contiene tutte le tue classi (file * .class) di quella libreria e il file jar è la tua libreria.

Per usarlo, aggiungilo semplicemente al classpath .

(Per "jar" e "classpath": concetti Java di base, usa Google per trovare tutorial, dovrai comunque capire quei concetti, prima è, meglio è;))


2
Ciao, posso avere drawables o layout nel mio jar libraray?
Mahendran

afaik, la risposta è: no. Usa il concetto di libreria Android come descritto nella risposta accettata per drawables e layout.
Minsky

2

Converti tutta la tua classe in Java e crea un file jar. Usa questo jar nel tuo progetto Android copiando nella cartella libs / e quindi aggiungendolo al percorso di build. Crea un progetto pulito e poi eseguilo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.