Як створити власну бібліотеку для розробки Android, яка буде використовуватись у кожній програмі, яку ви пишете?


99

Я програміст Delphi і протягом багатьох років написав сотні класів і процедур, які я можу використовувати в кожній програмі Delphi.

Ця бібліотека називається dlib і може бути використана в будь-якій програмі Delphi, додавши цю папку в мій шлях до бібліотеки та використовуючи один з підрозділів у розділі використання підрозділу Delphi.

Будучи абсолютно новим у розробці Java та Android, мені цікаво, як це зробити подібним чином.

Отже, моє запитання, як я можу писати власні класи, поміщати їх у якусь глобальну папку та використовувати ці класи та підпрограми у кожній програмі Android, яку я пишу ?

Я знаю, що це основне питання, яке, напевно, я можу з’ясувати, шукаючи Google і спробувавши це в Eclipse, але якщо хтось може поставити мене на правильний шлях, я знаю, що заощаджу багато часу.

Дякую.


3
Я б настійно застерігав від створення таких загальних бібліотек. Java, як правило, має більшість функціональних можливостей, які вам вже потрібні, і, найчастіше, розумніші люди робили все, що вам вже потрібно робити. Які речі займаються ваші загальні бібліотеки?
Андрій

Відповіді:


94

Вам потрібно створити проект Android Library. Створіть проект Android в Eclipse, введіть Project Properties -> Android і перевірте властивість isLibrary. Тепер ви можете додати цю бібліотеку до свого проекту програми Android, додавши її до списку на тій самій сторінці властивостей.

Більш детальні вказівки тут у розділі Робота з бібліотечними проектами


Якщо два різних додатки використовують один і той же проект бібліотеки Android, чи встановлені дві копії однієї бібліотеки, коли обидва додатки встановлені на одному телефоні?
загадковийфізик

@enigmaticPhysicist Бібліотека фактично задіяна під час компіляції. Так, так, обидва додатки мають власні копії бібліотеки, в комплекті з якими
Річард Тінгл,

Має бути кращий спосіб. Можливо, у майбутній версії Android.
загадковийфізик

10

Інструкції зі створення бібліотеки в Android Studio :

Створіть модуль бібліотеки

Щоб створити новий модуль бібліотеки у своєму проекті, виконайте такі дії:

  1. Клацніть Файл> Створити> Новий модуль .

  2. У вікні Створити новий модуль, що з’явиться, натисніть Бібліотека Android, а потім натисніть кнопку Далі.

    Також є можливість створити бібліотеку Java , яка створює традиційний файл JAR. Хоча файл JAR корисний для багатьох проектів, особливо коли ви хочете поділитися кодом з іншими платформами, він не дозволяє включати ресурси Android або файли маніфесту, що дуже корисно для повторного використання коду в проектах Android. Тож цей посібник зосереджений на створенні бібліотек Android.

  3. Дайте ім’я бібліотеці та виберіть мінімальну версію SDK для коду в бібліотеці, а потім натисніть кнопку Готово .

Після завершення синхронізації проекту Gradle модуль бібліотеки з’являється на панелі « Проект» зліва. Якщо ви не бачите нову папку модулів, переконайтеся, що вона відображає перегляд Android .

Перетворити модуль програми в модуль бібліотеки

Якщо у вас є наявний модуль програми з усім кодом, який ви хочете повторно використовувати, ви можете перетворити його в модуль бібліотеки наступним чином:

  1. Відкрийте build.gradleфайл рівня модуля .

  2. Видаліть рядок для applicationId. Це може визначити лише модуль додатків для Android.

  3. У верхній частині файла ви побачите таке:

    apply plugin: 'com.android.application'

    Змініть його на таке:

    apply plugin: 'com.android.library'

    Збережіть файл і натисніть Інструменти> Android> Синхронізувати проект з файлами Gradle .


Дякуємо, що додали цю відповідь, це набагато краще з Android Studio.
Девід Аргіле Такер

7

Якщо у вашій бібліотеці знаходяться файли .java, що складаються з коду Java. На сайті mobile.tutsplus.com є дійсно докладний посібник із використання бібліотеки. Посилання нижче:

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

Наприклад, я хотів використовувати бібліотеку Pull To Refresh від Chrisbanes на Github.com тут https://github.com/chrisbanes/Android-PullToRefresh/tree/master/library . Структура бібліотеки виконана у вигляді програми Android. Він має форму, як показано нижче:

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

Як користуватися Eclipse:

  1. Створіть новий проект у Eclipse. Дайте ім’я вашому проекту. Виберіть "Створити проект із наявного джерела". Виберіть розташування кореневої папки, що містить вищезгадані файли, у "Розташування". Виберіть ціль і натисніть кнопку "Готово".
  2. Виберіть властивості новоствореного вами проекту. Виберіть варіант "Android". Установіть прапорець "Є бібліотека", якщо він ще не встановлений. близькі властивості.
  3. Додайте посилання на бібліотеку проекту, який збирається використовувати цю бібліотеку. Виберіть проект, який використовує цю бібліотеку. Відкрийте Властивості. Виберіть варіант "Android". Внизу на "Є бібліотека". Не встановіть прапорець "Є бібліотека". Натисніть кнопку "Додати" праворуч. Ваш проект, який ви створили на кроках 1 і 2, повинен бути вказаний готовим до вибору. виберіть його та натисніть застосувати. близькі властивості.
  4. Ви готові посилатися на класи з вашого проекту.

дякую, допоможіть мені ... привіт від нашої команди fgroupindonesia: D
gumuruh

4

За допомогою Java ви створюєте Java Archive (jar), який містить усі ваші класи (* .class файли) цієї бібліотеки, а файл jar - це ваша бібліотека.

Щоб використовувати його, просто додайте його до класного шляху .

(Для "jar" та "classpath": основні поняття Java, будь-ласка, використовуйте google, щоб знайти навчальні посібники; вам доведеться зрозуміти ці поняття все одно, чим швидше, тим краще;))


2
Привіт, чи можу я мати в моїй бібліотеці банок малюнки або макети?
Махендран

afaik, відповідь: ні. Використовуйте концепцію бібліотеки Android, як описано у прийнятій відповіді для малюнків та макетів.
Мінський

2

Перетворіть увесь свій клас у Java та зробіть файл jar. Використовуйте цю банку в своєму проекті Android, скопіювавши в libs / папку, а потім додавши, щоб скласти шлях. Очистіть проект, а потім запустіть його.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.