Yazdığınız her programda kullanılmak üzere Android geliştirme için kendi kitaplığınızı nasıl oluşturabilirsiniz?


99

Ben bir Delphi programcısıyım ve yıllar içinde yazdığım her Delphi programında kullanabileceğim yüzlerce sınıf ve rutin yazdım.

Bu kitaplığa dlib adı verilir ve bu klasörü kitaplık yoluma koyarak ve bir Delphi biriminin kullanım bölümündeki birimlerden birini kullanarak her Delphi programında kullanılabilir .

Java ve Android geliştirmede tamamen yeni biri olarak, bunu benzer şekilde nasıl yapacağımı merak ediyorum.

Öyleyse sorum şu, kendi sınıflarımı nasıl yazabilirim, onları bazı genel klasöre koyabilirim ve yazdığım her Android programında bu sınıfları ve rutinleri nasıl kullanabilirim ?

Bunun basit bir soru olduğunu biliyorum, muhtemelen Google'da arama yaparak ve Eclipse'de deneyerek öğrenebilirim, ancak biri beni doğru yola koyabilirse, çok zaman kazanacağımı biliyorum.

Teşekkürler.


3
Bu tür genel kütüphaneler yapılmamasına şiddetle dikkat ederim. Java, zaten ihtiyacınız olan işlevlerin çoğuna sahip olma eğilimindedir ve çoğu zaman, daha zeki insanlar zaten yapmanız gereken şeyi yapmışlardır. Genel kütüphaneleriniz ne tür şeyler yapıyor?
Andrew

Yanıtlar:


94

Android Kitaplık Projesi oluşturmalısınız. Eclipse'de android projesi oluşturun, Proje Özellikleri -> Android'e girin ve isLibrary özelliğini kontrol edin. Artık bu kitaplığı aynı mülk sayfasındaki listeye ekleyerek Android Uygulama projenize ekleyebilirsiniz.

Kütüphane Projeleriyle Çalışma bölümünde daha ayrıntılı talimatlar burada


İki farklı uygulamanın ikisi de aynı android kitaplığı projesini kullanıyorsa, her iki uygulama aynı telefona yüklendiğinde aynı kitaplığın iki kopyası mı yüklenir?
enigmaticPhysicist

@enigmaticPhysicist Kitaplık aslında derleme zamanında çekilir. Yani evet, her iki uygulamanın da kendileriyle birlikte paketlenmiş kitaplığın kendi kopyaları var
Richard Tingle

Daha iyi bir yol olmalıydı. Belki de Android'in gelecekteki bir sürümünde.
enigmaticPhysicist

10

Android Studio'da kitaplık oluşturma talimatları :

Bir kitaplık modülü oluşturun

Projenizde yeni bir kütüphane modülü oluşturmak için aşağıdaki şekilde devam edin:

  1. Click Dosya> Yeni> Yeni Modülü .

  2. Görünen Yeni Modül Oluştur penceresinde, Android Kitaplığı'nı ve ardından İleri'yi tıklayın.

    Ayrıca geleneksel bir JAR dosyası oluşturan bir Java Kitaplığı oluşturma seçeneği de vardır . Bir JAR dosyası birçok proje için yararlı olsa da, özellikle başka platformlarla kod paylaşmak istediğinizde, Android kaynaklarını veya bildirim dosyalarını dahil etmenize izin vermez; bu, Android projelerinde kodun yeniden kullanımı için çok yararlıdır. Bu nedenle, bu kılavuz Android kitaplıkları oluşturmaya odaklanmaktadır.

  3. Kitaplığınıza bir ad verin ve kitaplıktaki kod için minimum bir SDK sürümü seçin, ardından Son'u tıklayın .

Gradle proje senkronizasyonu tamamlandığında, kitaplık modülü soldaki Proje panelinde görünür . Yeni modül klasörünü görmüyorsanız, Android görünümünü görüntülediğinden emin olun .

Bir uygulama modülünü kitaplık modülüne dönüştürme

Yeniden kullanmak istediğiniz tüm kodun bulunduğu mevcut bir uygulama modülünüz varsa, bunu aşağıdaki şekilde bir kitaplık modülüne dönüştürebilirsiniz:

  1. Modül düzeyindeki build.gradledosyayı açın.

  2. Satırını silin applicationId. Bunu yalnızca bir Android uygulama modülü tanımlayabilir.

  3. Dosyanın en üstünde aşağıdakileri görmelisiniz

    apply plugin: 'com.android.application'

    :

    apply plugin: 'com.android.library'

    Dosyayı şu şekilde değiştirin: Dosyayı kaydedin ve Araçlar> Android> Projeyi Gradle Dosyaları ile Eşitle'yi tıklayın .


Bu yanıtı eklediğiniz için teşekkürler, bu, Android Studio ile çok daha iyi.
David Argyle Thacker

7

Kitaplığınız java kodundan oluşan .java dosyaları içindeyse. Mobile.tutsplus.com'da kitaplığın nasıl kullanılacağına dair gerçekten ayrıntılı bir eğitim var. Aşağıdaki bağlantı:

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

Örneğin, Chrisbanes tarafından Github.com'da https://github.com/chrisbanes/Android-PullToRefresh/tree/master/library adresindeki Pull To Refresh kitaplığını kullanmak istedim . Kütüphanenin yapısı bir Android uygulaması şeklindedir. Aşağıdaki gibi bir forma sahiptir:

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

Eclipse'de nasıl kullanılır:

  1. Eclipse'de yeni proje oluşturun. Projenize bir isim verin. "Mevcut kaynaktan proje oluştur" u seçin. "Konum" bölümünde yukarıda belirtilen dosyaları içeren kök klasörün konumunu seçin. Hedefinizi seçin ve bitir'e tıklayın.
  2. Yeni oluşturduğunuz projenin özelliklerini seçin. "Android" seçeneğini seçin. Zaten seçili değilse "Kitaplıktır" onay kutusunu seçin. yakın özellikler.
  3. Bu kütüphaneyi kullanacak projeden kütüphaneye bir referans ekleyin. Bu kitaplığı kullanan projenizi seçin. Özellikleri açın. "Android" seçeneğini seçin. "Kitaplık" ın alt kısmında. "Kitaplık" onay kutusunu seçmeyin. Sağdaki "Ekle" düğmesine tıklayın. 1. ve 2. adımda oluşturduğunuz projeniz seçime hazır olarak listelenmelidir. seçin ve uygula'yı tıklayın. yakın özellikler.
  4. Projenizdeki sınıflara başvurmaya hazırsınız.

teşekkürler bana yardım et ... fgroupindonesia ekibimizden saygılar: D
gumuruh

4

Java ile, tüm bu kütüphanenin sınıfları (* .class dosyaları) ve kavanoz dosyası içeren bir Java Arşiv (kavanoz) oluşturmak olduğunu Kütüphanenizin.

Kullanmak için, sınıf yoluna eklemeniz yeterlidir .

("Jar" ​​ve "classpath" için: temel Java kavramları, eğiticiler bulmak için lütfen google'ı kullanın, bu kavramları zaten anlamanız gerekecek, ne kadar erken, o kadar iyi;))


2
Merhaba, jar libraray'ımda çekilebilir öğeler veya düzenler olabilir mi?
Mahendran

afaik, cevap: hayır. Çekilebilir öğeler ve düzenler için kabul edilen yanıtta açıklandığı gibi android kitaplık kavramını kullanın.
Minsky

2

Tüm sınıfınızı Java'ya dönüştürün ve bir jar dosyası oluşturun. Bu kavanozu android projenizde libs / klasörüne kopyalayıp ardından inşa yoluna ekleyerek kullanın. Temiz bir proje yapın ve ardından çalıştırın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.