Wie erstelle ich eine eigene Bibliothek für die Android-Entwicklung, die in jedem Programm verwendet wird, das Sie schreiben?

99

Ich bin ein Delphi-Programmierer und habe im Laufe der Jahre Hunderte von Klassen und Routinen geschrieben, die ich in jedem Delphi-Programm verwenden kann, das ich schreibe.

Diese Bibliothek heißt dlib und kann in jedem Delphi-Programm verwendet werden, indem dieser Ordner in meinen Bibliothekspfad gestellt und eine der Einheiten im Verwendungsabschnitt einer Delphi-Einheit verwendet wird.

Ich bin völlig neu in der Java- und Android-Entwicklung und frage mich, wie ich das auf ähnliche Weise machen soll.

Meine Frage: Wie kann ich eigene Klassen schreiben, sie in einen globalen Ordner legen und diese Klassen und Routinen in jedem Android-Programm verwenden, das ich schreibe ?

Ich weiß, dass dies eine grundlegende Frage ist, die ich wahrscheinlich herausfinden kann, indem ich Google suche und sie in Eclipse ausprobiere. Wenn mich jedoch jemand auf den richtigen Weg bringen kann, weiß ich, dass ich viel Zeit sparen werde.

Vielen Dank.

Edelcom
quelle
3
Ich würde dringend davor warnen, solche allgemeinen Bibliotheken zu erstellen. Java verfügt in der Regel über die meisten Funktionen, die Sie bereits benötigen, und meistens haben intelligentere Benutzer alles getan, was Sie bereits tun müssen. Was machen Ihre allgemeinen Bibliotheken?
Andrew

Antworten:

94

Sie müssen ein Android-Bibliotheksprojekt erstellen. Erstellen Sie ein Android-Projekt in Eclipse, geben Sie Projekteigenschaften -> Android ein und überprüfen Sie die Eigenschaft isLibrary. Jetzt können Sie diese Bibliothek zu Ihrem Android-Anwendungsprojekt hinzufügen, indem Sie sie zur Liste auf derselben Eigenschaftsseite hinzufügen.

Detailliertere Anweisungen hier im Abschnitt Arbeiten mit Bibliotheksprojekten

Denis Palnitsky
quelle
Wenn zwei verschiedene Apps dasselbe Android-Bibliotheksprojekt verwenden, werden dann zwei Kopien derselben Bibliothek installiert, wenn beide Apps auf demselben Telefon installiert sind?
enigmaticPhysicist
@enigmaticPhysicist Die Bibliothek wird tatsächlich zur Kompilierungszeit abgerufen. Also ja, beide Apps haben ihre eigenen Kopien der Bibliothek im Paket
Richard Tingle
Es muss einen besseren Weg geben. Vielleicht in einer zukünftigen Version von Android.
enigmaticPhysicist
10

Anweisungen zum Erstellen einer Bibliothek in Android Studio :

Erstellen Sie ein Bibliotheksmodul

Gehen Sie wie folgt vor, um ein neues Bibliotheksmodul in Ihrem Projekt zu erstellen:

  1. Klicken Sie auf Datei> Neu> Neues Modul .

  2. In dem New Module erstellen Fenster , das erscheint, Android - Bibliothek klicken, dann klicken Sie auf Weiter.

    Es gibt auch eine Option zum Erstellen einer Java-Bibliothek , die eine herkömmliche JAR-Datei erstellt. Eine JAR-Datei ist zwar für viele Projekte nützlich, insbesondere wenn Sie Code für andere Plattformen freigeben möchten. Sie können jedoch keine Android-Ressourcen oder Manifestdateien einschließen, was für die Wiederverwendung von Code in Android-Projekten sehr nützlich ist. Daher konzentriert sich dieses Handbuch auf das Erstellen von Android-Bibliotheken.

  3. Geben Sie Ihrer Bibliothek einen Namen und wählen Sie eine SDK-Mindestversion für den Code in der Bibliothek aus. Klicken Sie dann auf Fertig stellen .

Nach Abschluss der Gradle-Projektsynchronisierung wird das Bibliotheksmodul links im Projektfenster angezeigt . Wenn Sie den neuen Modulordner nicht sehen, stellen Sie sicher, dass die Android-Ansicht angezeigt wird .

Konvertieren Sie ein App-Modul in ein Bibliotheksmodul

Wenn Sie ein vorhandenes App-Modul mit dem gesamten Code haben, den Sie wiederverwenden möchten, können Sie es wie folgt in ein Bibliotheksmodul verwandeln:

  1. Öffnen Sie die build.gradleDatei auf Modulebene .

  2. Löschen Sie die Zeile für die applicationId. Dies kann nur ein Android-App-Modul definieren.

  3. Am oberen Rand der Datei sollte Folgendes

    apply plugin: 'com.android.application'

    angezeigt werden : Ändern Sie Folgendes:

    apply plugin: 'com.android.library'

    Speichern Sie die Datei und klicken Sie auf Extras> Android> Projekt mit Gradle-Dateien synchronisieren .

BSMP
quelle
Vielen Dank, dass Sie diese Antwort hinzugefügt haben. Mit Android Studio ist dies viel besser.
David Argyle Thacker
7

Wenn sich Ihre Bibliothek in Java-Dateien befindet, die aus Java-Code bestehen. Unter mobile.tutsplus.com finden Sie ein sehr detailliertes Tutorial zur Verwendung der Bibliothek. Link unten:

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

Zum Beispiel wollte ich die Pull To Refresh-Bibliothek von Chrisbanes auf Github.com hier https://github.com/chrisbanes/Android-PullToRefresh/tree/master/library verwenden . Die Struktur der Bibliothek besteht aus einer Android-App. Es hat die folgende Form:

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

So verwenden Sie Eclipse:

  1. Erstellen Sie ein neues Projekt in Eclipse. Geben Sie Ihrem Projekt einen Namen. Wählen Sie "Projekt aus vorhandener Quelle erstellen". Wählen Sie unter "Speicherort" den Speicherort des Stammordners aus, der die oben genannten Dateien enthält. Wählen Sie Ihr Ziel aus und klicken Sie auf Fertig stellen.
  2. Wählen Sie die Eigenschaften des neu erstellten Projekts aus. Wählen Sie die Option "Android". Aktivieren Sie das Kontrollkästchen "Ist Bibliothek", falls es noch nicht aktiviert ist. Eigenschaften schließen.
  3. Fügen Sie einen Verweis auf die Bibliothek aus dem Projekt hinzu, das diese Bibliothek verwenden soll. Wählen Sie Ihr Projekt aus, das diese Bibliothek verwendet. Öffnen Sie Eigenschaften. Wählen Sie die Option "Android". Unten auf der "Is Library". Aktivieren Sie nicht das Kontrollkästchen "Ist Bibliothek". Klicken Sie rechts auf die Schaltfläche "Hinzufügen". Ihr Projekt, das Sie in Schritt 1 und 2 erstellt haben, sollte zur Auswahl aufgelistet werden. Wählen Sie es aus und klicken Sie auf Übernehmen. Eigenschaften schließen.
  4. Sie können jetzt auf die Klassen aus Ihrem Projekt verweisen.
Jorge
quelle
danke es hilft mir ... Grüße von unserem fgroupindonesia Team: D
gumuruh
4

Mit Java erstellen Sie ein Java-Archiv (JAR), das alle Ihre Klassen (* .class-Dateien) dieser Bibliothek enthält, und die JAR-Datei ist Ihre Bibliothek.

Um es zu verwenden, fügen Sie es einfach dem Klassenpfad hinzu .

(Für "jar" und "classpath": grundlegende Java-Konzepte verwenden Sie bitte Google, um Tutorials zu finden. Sie müssen diese Konzepte sowieso verstehen, je früher, desto besser;))

Andreas Dolk
quelle
2
Hallo, kann ich Drawables oder Layouts in meinem Glasbibliothek haben?
Mahendran
afaik lautet die antwort: nein. Verwenden Sie das Android-Bibliothekskonzept wie in der akzeptierten Antwort für Zeichen und Layouts beschrieben.
Minsky
2

Konvertieren Sie Ihre gesamte Klasse in Java und erstellen Sie eine JAR-Datei. Verwenden Sie dieses Glas in Ihrem Android-Projekt, indem Sie es in libs / folder kopieren und dann zum Erstellungspfad hinzufügen. Reinigen Sie das Projekt und führen Sie es aus.

Kumar Shorav
quelle