Jak stworzyć własną bibliotekę do programowania na Androida, która będzie używana w każdym programie, który napiszesz?

99

Jestem programistą w Delphi i przez lata napisałem setki zajęć i procedur, których mogę używać w każdym programie Delphi, który piszę.

Ta biblioteka nazywa się dlib i może być używana w każdym programie Delphi, umieszczając ten folder w mojej ścieżce do biblioteki i używając jednej z jednostek w sekcji zastosowań jednostki Delphi.

Będąc zupełnie nowym w programowaniu w Javie i Androidzie, zastanawiam się, jak to zrobić w podobny sposób.

Więc moje pytanie, jak mogę napisać własne klasy, umieścić je w jakimś globalnym folderze i używać tych klas i procedur w każdym programie na Androida, który piszę ?

Wiem, że to podstawowe pytanie, którego prawdopodobnie mogę się dowiedzieć, przeszukując Google i wypróbowując to w Eclipse, ale jeśli ktoś może ustawić mnie na właściwej drodze, wiem, że zaoszczędzę dużo czasu.

Dzięki.

Edelcom
źródło
3
Zdecydowanie przestrzegałbym przed tworzeniem tego rodzaju bibliotek ogólnych. Java zwykle ma większość funkcji, których już potrzebujesz, i częściej niż nie, mądrzejsi ludzie zrobili już wszystko, czego potrzebujesz. Jakie rzeczy robią Twoje biblioteki ogólne?
Andrew

Odpowiedzi:

94

Musisz stworzyć Android Library Project. Utwórz projekt systemu Android w Eclipse, wejdź do właściwości projektu -> Android i sprawdź właściwość isLibrary. Teraz możesz dodać tę bibliotekę do projektu aplikacji systemu Android, dodając ją do listy na tej samej stronie właściwości.

Bardziej szczegółowe instrukcje tutaj w pracy z sekcji Biblioteka Projektów

Denis Palnitsky
źródło
Jeśli dwie różne aplikacje używają tego samego projektu biblioteki systemu Android, czy są zainstalowane dwie kopie tej samej biblioteki, gdy obie aplikacje są zainstalowane na tym samym telefonie?
enigmaticPhysicist,
@enigmaticPhysicist Biblioteka jest w rzeczywistości pobierana w czasie kompilacji. Więc tak, obie aplikacje mają dołączone własne kopie biblioteki
Richard Tingle,
Musi być lepszy sposób. Być może w przyszłej wersji Androida.
enigmaticPhysicist
10

Instrukcja tworzenia biblioteki w Android Studio :

Utwórz moduł biblioteki

Aby utworzyć nowy moduł biblioteki w swoim projekcie, wykonaj następujące czynności:

  1. Kliknij opcję Plik> Nowy> Nowy moduł .

  2. W wyświetlonym oknie Utwórz nowy moduł kliknij opcję Biblioteka systemu Android, a następnie kliknij przycisk Dalej.

    Istnieje również opcja utworzenia biblioteki Java , która buduje tradycyjny plik JAR. Chociaż plik JAR jest przydatny w wielu projektach - zwłaszcza gdy chcesz udostępniać kod innym platformom - nie pozwala on na dołączanie zasobów systemu Android ani plików manifestu, co jest bardzo przydatne w przypadku ponownego wykorzystania kodu w projektach systemu Android. Dlatego ten przewodnik koncentruje się na tworzeniu bibliotek Androida.

  3. Nadaj swojej bibliotece nazwę i wybierz minimalną wersję zestawu SDK dla kodu w bibliotece, a następnie kliknij przycisk Zakończ .

Po zakończeniu synchronizacji projektu Gradle moduł biblioteki pojawi się w panelu Projekt po lewej stronie. Jeśli nie widzisz nowego folderu modułu, upewnij się, że wyświetla on widok systemu Android .

Przekonwertuj moduł aplikacji na moduł biblioteki

Jeśli masz istniejący moduł aplikacji z całym kodem, którego chcesz użyć ponownie, możesz przekształcić go w moduł biblioteki w następujący sposób:

  1. Otwórz build.gradleplik na poziomie modułu .

  2. Usuń wiersz dla applicationId. Można to zdefiniować tylko w module aplikacji na Androida.

  3. W górnej części pliku powinien pojawić się następujący komunikat:

    apply plugin: 'com.android.application'

    Zmień go na następujący:

    apply plugin: 'com.android.library'

    Zapisz plik i kliknij Narzędzia> Android> Synchronizuj projekt z plikami Gradle .

BSMP
źródło
Dzięki za dodanie tej odpowiedzi, jest o wiele lepiej w Android Studio.
David Argyle Thacker
7

Jeśli Twoja biblioteka znajduje się w plikach .java składających się z kodu java. Na mobile.tutsplus.com znajduje się bardzo szczegółowy samouczek dotyczący korzystania z biblioteki. Link poniżej:

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

Na przykład chciałem użyć biblioteki Pull To Refresh autorstwa Chrisbanes na Github.com tutaj https://github.com/chrisbanes/Android-PullToRefresh/tree/master/library . Struktura biblioteki ma postać aplikacji na Androida. Ma postać jak poniżej:

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

Jak korzystać z Eclipse:

  1. Utwórz nowy projekt w Eclipse. Nazwij swój projekt. Wybierz „Utwórz projekt z istniejącego źródła”. Wybierz lokalizację folderu głównego zawierającego wyżej wymienione pliki w "Lokalizacja". Wybierz cel i kliknij Zakończ.
  2. Wybierz właściwości nowo utworzonego projektu. Wybierz opcję „Android”. Zaznacz pole wyboru „Jest biblioteką”, jeśli nie jest jeszcze zaznaczone. zamknij właściwości.
  3. Dodaj odwołanie do biblioteki z projektu, który będzie używał tej biblioteki. Wybierz projekt korzystający z tej biblioteki. Otwórz Właściwości. Wybierz opcję „Android”. U dołu w sekcji „Czy biblioteka”. Nie zaznaczaj pola wyboru „Is Library”. Kliknij przycisk „Dodaj” po prawej stronie. Twój projekt, który utworzyłeś w kroku 1 i 2, powinien być wymieniony jako gotowy do wyboru. wybierz go i kliknij zastosuj. zamknij właściwości.
  4. Możesz odwołać się do klas z projektu.
Jorge
źródło
dzięki, pomóż mi ... pozdrowienia od naszego zespołu fgroupindonesia: D
gumuruh
4

Za pomocą java tworzysz archiwum Java (jar), które zawiera wszystkie Twoje klasy (pliki * .class) tej biblioteki, a plik jar jest Twoją biblioteką.

Aby z niego skorzystać, po prostu dodaj go do ścieżki klas .

(W przypadku „jar” i „classpath”: podstawowe pojęcia w Javie, skorzystaj z Google, aby znaleźć samouczki, i tak musisz zrozumieć te pojęcia, im szybciej, tym lepiej;))

Andreas Dolk
źródło
2
Cześć, czy mogę mieć drawables lub układy w mojej bibliotece jar?
Mahendran
afaik, odpowiedź brzmi: nie. Użyj koncepcji biblioteki systemu Android zgodnie z opisem w zaakceptowanej odpowiedzi dotyczącej elementów rysunkowych i układów.
Minsky
2

Przekonwertuj wszystkie swoje klasy w Javie i utwórz plik jar. Użyj tego jar w swoim projekcie na Androida, kopiując do folderu libs /, a następnie dodając do ścieżki kompilacji. Oczyść projekt, a następnie uruchom go.

Kumar Shorav
źródło