Como criar sua própria biblioteca para desenvolvimento Android para ser usada em cada programa que você escrever?

99

Sou um programador Delphi e tenho escrito, ao longo dos anos, centenas de classes e rotinas que posso usar em todos os programas Delphi que escrevo.

Esta biblioteca é chamada de dlib e pode ser usada em todos os programas Delphi colocando esta pasta no caminho da minha biblioteca e usando uma das unidades na seção de usos de uma unidade Delphi.

Sendo totalmente novo no desenvolvimento de Java e Android, estou me perguntando como fazer isso de maneira semelhante.

Portanto, minha pergunta, como posso escrever suas próprias classes, colocá-las em alguma pasta global e usar essas classes e rotinas em todos os programas Android que escrevo ?

Sei que essa é uma questão básica, que provavelmente posso descobrir pesquisando no Google e experimentando no Eclipse, mas se alguém puder me colocar no caminho certo, sei que economizarei muito tempo.

Obrigado.

Edelcom
fonte
3
Eu advertiria fortemente contra fazer esse tipo de bibliotecas gerais. Java tende a ter a maior parte da funcionalidade de que você precisa e, na maioria das vezes, pessoas mais inteligentes já fizeram tudo o que você precisa. Que tipo de coisas suas bibliotecas gerais fazem?
Andrew

Respostas:

94

Você tem que criar um projeto de biblioteca Android. Crie um projeto android no Eclipse, insira Project Properties -> Android e verifique a propriedade isLibrary. Agora você pode adicionar essa biblioteca ao seu projeto de aplicativo Android, adicionando-a à lista na mesma página de propriedades.

Instruções mais detalhadas aqui na seção Trabalhando com Projetos de Biblioteca

Denis Palnitsky
fonte
Se dois aplicativos diferentes usam o mesmo projeto de biblioteca do Android, duas cópias da mesma biblioteca são instaladas quando os dois aplicativos são instalados no mesmo telefone?
enigmaticPhysicist
@enigmaticPhysicist A biblioteca é realmente puxada em tempo de compilação. Então, sim, os dois aplicativos têm suas próprias cópias da biblioteca empacotadas com eles
Richard Tingle
Tem que haver uma maneira melhor. Talvez em uma versão futura do Android.
enigmaticPhysicist
10

Instruções para criar uma biblioteca no Android Studio :

Crie um módulo de biblioteca

Para criar um novo módulo de biblioteca em seu projeto, proceda da seguinte forma:

  1. Clique em Arquivo> Novo> Novo Módulo .

  2. Na janela Criar Novo Módulo que aparece, clique em Biblioteca Android e em Avançar.

    Também existe a opção de criar uma Biblioteca Java , que constrói um arquivo JAR tradicional. Embora um arquivo JAR seja útil para muitos projetos - especialmente quando você deseja compartilhar código com outras plataformas - ele não permite incluir recursos Android ou arquivos de manifesto, o que é muito útil para reutilização de código em projetos Android. Portanto, este guia se concentra na criação de bibliotecas Android.

  3. Dê um nome à sua biblioteca e selecione uma versão mínima do SDK para o código na biblioteca e clique em Concluir .

Assim que a sincronização do projeto Gradle for concluída, o módulo de biblioteca aparecerá no painel Projeto à esquerda. Se você não vir a nova pasta do módulo, certifique-se de que está exibindo a visualização do Android .

Converter um módulo de app em um módulo de biblioteca

Se você tiver um módulo de aplicativo existente com todo o código que deseja reutilizar, pode transformá-lo em um módulo de biblioteca da seguinte maneira:

  1. Abra o build.gradlearquivo de nível de módulo .

  2. Exclua a linha para o applicationId. Apenas um módulo de aplicativo Android pode definir isso.

  3. Na parte superior do arquivo, você deve ver o seguinte:

    apply plugin: 'com.android.application'

    Altere-o para o seguinte:

    apply plugin: 'com.android.library'

    Salve o arquivo e clique em Ferramentas> Android> Sincronizar projeto com arquivos do Gradle .

BSMP
fonte
Obrigado por adicionar esta resposta, isso é muito melhor com o Android Studio.
David Argyle Thacker
7

Se sua biblioteca estiver em arquivos .java compostos de código java. Há um tutorial muito detalhado de como usar a biblioteca em mobile.tutsplus.com. Link abaixo:

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

Por exemplo, eu queria usar a biblioteca Pull To Refresh de Chrisbanes em Github.com aqui https://github.com/chrisbanes/Android-PullToRefresh/tree/master/library . A estrutura da biblioteca está na forma de um aplicativo Android. Possui o formato abaixo:

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

Como usar no Eclipse:

  1. Crie um novo projeto no Eclipse. Dê um nome ao seu projeto. Selecione "Criar projeto a partir de uma fonte existente". Selecione o local da pasta raiz que contém os arquivos mencionados acima em "Local". Selecione seu alvo e clique em Concluir.
  2. Selecione as propriedades do projeto recém-criado. Selecione a opção "Android". Marque a caixa de seleção "É biblioteca" se ainda não estiver selecionada. fechar propriedades.
  3. Adicione uma referência à biblioteca do projeto que vai usar esta biblioteca. Selecione seu projeto que usa esta biblioteca. Abra Propriedades. Selecione a opção "Android". Na parte inferior em "É Biblioteca". Não marque a caixa de seleção "É biblioteca". Clique no botão "Adicionar" à direita. Seu projeto que você criou nas etapas 1 e 2 deve estar listado pronto para seleção. selecione-o e clique em aplicar. fechar propriedades.
  4. Você está pronto para fazer referência às classes de seu projeto.
Jorge
fonte
obrigado, me ajude ... cumprimentos da nossa equipe fgroupindonesia: D
gumuruh
4

Com o java, você cria um Java Archive (jar) que contém todas as suas classes (arquivos * .class) dessa biblioteca e o arquivo jar é a sua biblioteca.

Para usá-lo, basta adicioná-lo ao classpath .

(Para "jar" e "classpath": conceitos básicos de Java, use o google para encontrar tutoriais, você terá que entender esses conceitos de qualquer maneira, quanto mais cedo melhor;))

Andreas Dolk
fonte
2
Olá, posso colocar drawables ou layouts na minha biblioteca de jarras?
Mahendran
afaik, a resposta é: não. Use o conceito de biblioteca android conforme descrito na resposta aceita para drawables e layouts.
Minsky de
2

Converta toda a sua classe em Java e faça um arquivo jar. Use este jar em seu projeto Android, copiando em libs / pasta e, em seguida, adicionando ao caminho de construção. Faça uma limpeza do projeto e execute-o.

Kumar Shorav
fonte