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


99

Я программист на Delphi и за годы написал сотни классов и подпрограмм, которые я могу использовать в каждой программе Delphi, которую я пишу.

Эта библиотека называется dlib и может использоваться в каждой программе Delphi, если поместить эту папку в путь к моей библиотеке и использовать один из модулей в разделе uses модуля Delphi.

Поскольку я новичок в разработке Java и Android, мне интересно, как это сделать аналогичным образом.

Итак, мой вопрос: как я могу написать собственные классы, поместить их в какую-то глобальную папку и использовать эти классы и процедуры в каждой программе Android, которую я пишу ?

Я знаю, что это основной вопрос, который я, вероятно, смогу выяснить, выполнив поиск в Google и попробовав его в Eclipse, но если кто-то может направить меня на правильный путь, я знаю, что сэкономлю много времени.

Спасибо.


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

Ответы:


94

Вам необходимо создать проект библиотеки Android. Создайте проект Android в Eclipse, войдите в Project Properties -> Android и проверьте свойство isLibrary. Теперь вы можете добавить эту библиотеку в свой проект приложения Android, добавив ее в список на той же странице свойств.

Более подробные инструкции здесь, в разделе «Работа с библиотечными проектами».


Если два разных приложения используют один и тот же проект библиотеки Android, установлены ли две копии одной и той же библиотеки, когда оба приложения установлены на одном телефоне?
enigmaticPhysicist

@enigmaticPhysicist Фактически библиотека загружается во время компиляции. Так что да, к обоим приложениям прилагаются собственные копии библиотеки,
Ричард Тингл,

Должен быть способ получше. Возможно, в будущей версии Android.
enigmaticPhysicist

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-архив (jar), который содержит все ваши классы (файлы * .class) этой библиотеки, а файл jar - это ваша библиотека.

Чтобы использовать его, просто добавьте его в путь к классам .

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


2
Привет, могу ли я иметь чертежи или макеты в моем jar libraray?
Махендран,

афаик, ответ: нет. Используйте концепцию библиотеки Android, как описано в принятом ответе на чертежи и макеты.
Минский

2

Преобразуйте весь свой класс в Java и создайте файл jar. Используйте эту банку в своем проекте Android, скопировав ее в папку libs /, а затем добавив в путь сборки. Очистите проект и запустите его.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.