Ich beginne gerade mit der Android- und Java-Programmierung, die aus einem C ++ - Hintergrund kommt. Ich habe mich gefragt - was ist der beste Weg, um ein Bibliotheks- / UI-Widget / eine Komponente zu erstellen, die ich an Drittentwickler lizenzieren kann?
In C ++ würde ich den Kunden meine Header und * .a Dateien schicken, aber ich kenne das Äquivalent in Java nicht.
Gibt es irgendwelche guten Ressourcen oder Links dazu, vielleicht sogar von allgemeinem Java Entwicklungsstandpunkt aus.
Ich bin mir nicht sicher, wie Android das handhabt, aber die typische Verteilung von Java-Code ist eine .jar-Datei. Ein .jar ist im Grunde genommen eine Zip-Datei, die alle kompilierten .class-Dateien in einem Java-Projekt enthält. Es könnte auch Ressource / Text / etc. Dateien innerhalb der .jar. Es gibt kein Konzept für eine Header-Datei in Java, also benötigen Sie nur die .class-Dateien und möglicherweise eine Manifest-Datei, um zusätzliche Meta-Informationen über die .jar-Datei bereitzustellen.
(Dies ist nur eine allgemeine Java-Antwort, möglicherweise oder möglicherweise nicht für Android)
Sie können Aktivitäten / Dienste definieren, die für andere Anwendungen auf Android verfügbar sind:
"Eine zentrale Funktion von Android ist, dass eine Anwendung Elemente anderer Anwendungen verwenden kann (sofern diese Anwendungen dies zulassen). Wenn Ihre Anwendung beispielsweise eine Bildlaufliste anzeigen muss und eine andere Anwendung ein geeignetes Programm entwickelt hat Scroller und machte es für andere verfügbar, Sie können diesen Scroller aufrufen, um die Arbeit zu erledigen, anstatt Ihre eigene zu entwickeln. "
Aktivitäten und Dienste haben einige Verwendung, aber es gibt eine ganze Klasse von Funktionen (fancy table viewer für sql), die nicht abgedeckt sind. Sie können Gläser machen, aber ich glaube nicht, dass Sie Android-Ressourcen in dieser Datei haben können. Die Arbeit wäre, ein Jar zu haben und den Benutzer zu zwingen, etwas Text in das apps-Betriebsmittelverzeichnis zu kopieren und einzufügen. Ein Beispiel hierfür finden Sie im admob.com android SDK.