¿Cómo crear su propia biblioteca para el desarrollo de Android que se utilizará en cada programa que escriba?

99

Soy un programador de Delphi y he escrito, a lo largo de los años, cientos de clases y rutinas que puedo usar en cada programa de Delphi que escribo.

Esta biblioteca se llama dlib y se puede usar en todos los programas de Delphi colocando esta carpeta en la ruta de mi biblioteca y usando una de las unidades en la sección de usos de una unidad de Delphi.

Siendo completamente nuevo en el desarrollo de Java y Android, me pregunto cómo hacer esto de manera similar.

Entonces, mi pregunta, ¿cómo puedo escribir mis propias clases, ponerlas en una carpeta global y usar estas clases y rutinas en cada programa de Android que escribo ?

Sé que esta es una pregunta básica, que probablemente pueda averiguar buscando en Google y probándola en Eclipse, pero si alguien puede ponerme en el camino correcto, sé que ahorraré mucho tiempo.

Gracias.

Edelcom
fuente
3
Advierto enérgicamente contra la creación de este tipo de bibliotecas generales. Java tiende a tener la mayor parte de la funcionalidad que necesita, y la mayoría de las veces, las personas más inteligentes ya han hecho lo que necesita hacer. ¿Qué tipo de cosas hacen sus bibliotecas generales?
Andrew

Respuestas:

94

Tienes que crear un proyecto de biblioteca de Android. Cree un proyecto de Android en Eclipse, ingrese Propiedades del proyecto -> Android y verifique la propiedad isLibrary. Ahora puede agregar esta biblioteca a su proyecto de aplicación de Android agregándola a la lista en la misma página de propiedades.

Instrucciones más detalladas aquí en la sección Trabajar con proyectos de biblioteca

Denis Palnitsky
fuente
Si dos aplicaciones diferentes usan el mismo proyecto de biblioteca de Android, ¿se instalan dos copias de la misma biblioteca cuando ambas aplicaciones están instaladas en el mismo teléfono?
enigmaticFysicist
@enigmaticPhysicist La biblioteca se extrae en el momento de la compilación. Así que sí, ambas aplicaciones tienen sus propias copias de la biblioteca incluidas
Richard Tingle
Tiene que haber una mejor manera. Quizás en una futura versión de Android.
enigmaticFysicist
10

Instrucciones para crear una biblioteca en Android Studio :

Crea un módulo de biblioteca

Para crear un nuevo módulo de biblioteca en su proyecto, proceda de la siguiente manera:

  1. Haga clic en Archivo> Nuevo> Nuevo módulo .

  2. En la ventana Crear nuevo módulo que aparece, haga clic en Biblioteca de Android y luego en Siguiente.

    También hay una opción para crear una biblioteca Java , que crea un archivo JAR tradicional. Si bien un archivo JAR es útil para muchos proyectos, especialmente cuando desea compartir código con otras plataformas, no le permite incluir recursos de Android o archivos de manifiesto, lo cual es muy útil para la reutilización de código en proyectos de Android. Por eso, esta guía se centra en la creación de bibliotecas de Android.

  3. Dé un nombre a su biblioteca y seleccione una versión mínima de SDK para el código en la biblioteca, luego haga clic en Finalizar .

Una vez que se completa la sincronización del proyecto de Gradle, el módulo de la biblioteca aparece en el panel Proyecto a la izquierda. Si no ve la carpeta del nuevo módulo, asegúrese de que muestre la vista de Android .

Convierta un módulo de aplicación en un módulo de biblioteca

Si tiene un módulo de aplicación existente con todo el código que desea reutilizar, puede convertirlo en un módulo de biblioteca de la siguiente manera:

  1. Abra el build.gradlearchivo de nivel de módulo .

  2. Elimina la línea para applicationId. Solo un módulo de aplicación de Android puede definir esto.

  3. En la parte superior del archivo, debería ver lo siguiente:

    apply plugin: 'com.android.application'

    Cámbielo a lo siguiente:

    apply plugin: 'com.android.library'

    Guarde el archivo y haga clic en Herramientas> Android> Sincronizar proyecto con archivos Gradle .

BSMP
fuente
Gracias por agregar esta respuesta, esto es mucho mejor con Android Studio.
David Argyle Thacker
7

Si su biblioteca está en archivos .java compuestos de código java. Hay un tutorial muy detallado sobre cómo usar la biblioteca en mobile.tutsplus.com. Enlace debajo:

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

Por ejemplo, quería usar la biblioteca Pull To Refresh de Chrisbanes en Github.com aquí https://github.com/chrisbanes/Android-PullToRefresh/tree/master/library . La estructura de la biblioteca tiene la forma de una aplicación de Android. Tiene la forma como a continuación:

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

Cómo usar en Eclipse:

  1. Crea un nuevo proyecto en Eclipse. Dale un nombre a tu proyecto. Seleccione "Crear proyecto a partir de una fuente existente". Seleccione la ubicación de la carpeta raíz que contiene los archivos mencionados anteriormente en "Ubicación". Seleccione su objetivo y haga clic en finalizar.
  2. Seleccione las propiedades del nuevo proyecto que creó. Seleccione la opción "Android". Seleccione la casilla de verificación "Es biblioteca" si aún no está seleccionada. cerrar propiedades.
  3. Agregue una referencia a la biblioteca del proyecto que va a utilizar esta biblioteca. Seleccione su proyecto que utiliza esta biblioteca. Propiedades abiertas. Seleccione la opción "Android". En la parte inferior de "Es biblioteca". No seleccione la casilla de verificación de "Es biblioteca". Haga clic en el botón "Agregar" a la derecha. El proyecto que creó en los pasos 1 y 2 debe aparecer listo para su selección. selecciónelo y haga clic en aplicar. cerrar propiedades.
  4. Estás listo para hacer referencia a las clases de tu proyecto.
Jorge
fuente
gracias, ayúdame ... saludos de nuestro equipo de fgroupindonesia: D
gumuruh
4

Con java, crea un archivo Java (jar) que contiene todas sus clases (archivos * .class) de esa biblioteca y el archivo jar es su biblioteca.

Para usarlo, simplemente agréguelo al classpath .

(Para "jar" y "classpath": conceptos básicos de Java, utilice google para encontrar tutoriales, tendrá que comprender esos conceptos de todos modos, cuanto antes, mejor;))

Andreas Dolk
fuente
2
Hola, ¿puedo tener dibujos o diseños en mi biblioteca de jar?
Mahendran
afaik, la respuesta es: no. Use el concepto de biblioteca de Android como se describe en la respuesta aceptada para diseños y diseños.
Minsky
2

Convierta toda su clase en Java y cree un archivo jar. Use este jar en su proyecto de Android copiándolo en la carpeta libs / y luego agregándolo a la ruta de compilación. Haga una limpieza del proyecto y luego ejecútelo.

Kumar Shorav
fuente