จะสร้างไลบรารีของคุณเองสำหรับการพัฒนา Android เพื่อใช้ในทุกโปรแกรมที่คุณเขียนได้อย่างไร?


99

ฉันเป็นโปรแกรมเมอร์เดลฟีและได้เขียนคลาสและกิจวัตรหลายร้อยรายการที่ฉันสามารถใช้ในโปรแกรมเดลฟีทุกโปรแกรมที่ฉันเขียนมาตลอดหลายปี

นี้ห้องสมุดที่เรียกว่า dlib และสามารถนำมาใช้ในทุกโปรแกรม Delphiโดยการวางโฟลเดอร์นี้ในเส้นทางห้องสมุดของฉันและการใช้หนึ่งในหน่วยงานในส่วนของการใช้ประโยชน์จากหน่วยเดลฟาย

เนื่องจากเป็นผลิตภัณฑ์ใหม่สำหรับการพัฒนา Java และ Android ฉันสงสัยว่าจะทำเช่นนี้ได้อย่างไร

ดังนั้นคำถามของฉันฉันจะเขียนคลาสของตัวเองใส่ไว้ในโฟลเดอร์ส่วนกลางและใช้คลาสและกิจวัตรเหล่านี้ในโปรแกรม Android ทุกโปรแกรมที่ฉันเขียนได้อย่างไร

ฉันรู้ว่านี่เป็นคำถามพื้นฐานซึ่งฉันอาจจะหาได้จากการค้นหาใน Google และลองใช้ใน Eclipse แต่ถ้าใครสักคนสามารถทำให้ฉันถูกทางฉันรู้ว่าฉันจะประหยัดเวลาได้มาก

ขอบคุณ.


3
ฉันขอเตือนอย่างยิ่งที่จะไม่สร้างห้องสมุดทั่วไปประเภทนี้ Java มีแนวโน้มที่จะมีฟังก์ชันส่วนใหญ่ที่คุณต้องการอยู่แล้วและบ่อยกว่านั้นผู้คนที่ฉลาดกว่าได้ทำสิ่งที่คุณต้องการอยู่แล้ว ห้องสมุดทั่วไปของคุณทำอะไรได้บ้าง?
Andrew

คำตอบ:


94

คุณต้องสร้าง Android Library Project สร้างโครงการ android ใน Eclipse ป้อนคุณสมบัติโครงการ -> Android และตรวจสอบคุณสมบัติ isLibrary ตอนนี้คุณสามารถเพิ่มไลบรารีนี้ลงในโปรเจ็กต์แอปพลิเคชัน Android ของคุณโดยเพิ่มลงในรายการในหน้าคุณสมบัติเดียวกัน

คำแนะนำโดยละเอียดเพิ่มเติมที่นี่ในส่วนการทำงานกับโครงการห้องสมุด


หากทั้งสองแอปที่แตกต่างกันใช้โปรเจ็กต์ไลบรารี Android เดียวกันจะมีการติดตั้งสำเนาสองชุดของไลบรารีเดียวกันเมื่อติดตั้งทั้งสองแอปในโทรศัพท์เครื่องเดียวกันหรือไม่
enigmaticPhysicist

@enigmaticPhysicist ไลบรารีถูกดึงเข้ามาจริงในเวลาคอมไพล์ ดังนั้นใช่ปพลิเคชันทั้งสองมีสำเนาของตัวเองของห้องสมุดพร้อมกับพวกเขา
ริชาร์ดซ่า

จะต้องมีวิธีที่ดีกว่านี้ อาจจะเป็น Android เวอร์ชันอนาคต
enigmaticPhysicist

10

คำแนะนำในการสร้างไลบรารีใน Android Studio :

สร้างโมดูลไลบรารี

ในการสร้างโมดูลไลบรารีใหม่ในโครงการของคุณให้ดำเนินการดังนี้:

  1. คลิกไฟล์> ใหม่> โมดูลใหม่

  2. ในหน้าต่างCreate New Moduleที่ปรากฏขึ้นให้คลิก Android Library จากนั้นคลิก Next

    นอกจากนี้ยังมีตัวเลือกในการสร้างJava Libraryซึ่งสร้างไฟล์ JAR แบบดั้งเดิม แม้ว่าไฟล์ JAR จะมีประโยชน์สำหรับหลาย ๆ โปรเจ็กต์โดยเฉพาะอย่างยิ่งเมื่อคุณต้องการแชร์โค้ดกับแพลตฟอร์มอื่น แต่ก็ไม่อนุญาตให้คุณรวมทรัพยากรของ Android หรือไฟล์ manifest ซึ่งมีประโยชน์มากสำหรับการนำโค้ดมาใช้ซ้ำในโปรเจ็กต์ Android ดังนั้นคู่มือนี้จึงมุ่งเน้นไปที่การสร้างไลบรารี Android

  3. ให้ชื่อของคุณห้องสมุดและเลือกเวอร์ชันต่ำสุด SDK สำหรับรหัสในห้องสมุดแล้วคลิกเสร็จสิ้น

เมื่อการซิงค์โครงการ Gradle เสร็จสมบูรณ์โมดูลไลบรารีจะปรากฏในแผงโครงการทางด้านซ้าย หากคุณไม่เห็นโฟลเดอร์โมดูลใหม่ให้แน่ใจว่ามันแสดงมุมมองของ Android

แปลงโมดูลแอปเป็นโมดูลไลบรารี

หากคุณมีโมดูลแอปที่มีรหัสทั้งหมดที่ต้องการใช้ซ้ำคุณสามารถเปลี่ยนเป็นโมดูลไลบรารีได้ดังนี้:

  1. เปิดbuild.gradleไฟล์ระดับโมดูล

  2. ลบบรรทัดสำหรับไฟล์applicationId. มีเพียงโมดูลแอป Android เท่านั้นที่สามารถกำหนดสิ่งนี้ได้

  3. ที่ด้านบนของไฟล์ที่คุณควรจะได้เห็นต่อไปนี้:

    apply plugin: 'com.android.application'

    เปลี่ยนมันต่อไปนี้:

    apply plugin: 'com.android.library'

    บันทึกไฟล์และคลิกที่เครื่องมือ> Android> โครงการ Sync กับไฟล์


ขอบคุณที่เพิ่มคำตอบนี้ดีกว่ามากเมื่อใช้ Android Studio
David Argyle Thacker

7

หากไลบรารีของคุณอยู่ในไฟล์. java ที่ประกอบด้วยรหัส java มีคำแนะนำโดยละเอียดเกี่ยวกับวิธีใช้ห้องสมุดที่ mobile.tutsplus.com ลิงค์ด้านล่าง:

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

ตัวอย่างเช่นผมต้องการที่จะใช้ดึงเพื่อรีเฟรชคลังโดย 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" เลือกช่องทำเครื่องหมาย "Is Library" หากยังไม่ได้เลือก ปิดคุณสมบัติ
  3. เพิ่มการอ้างอิงไปยังไลบรารีจากโครงการที่จะใช้ไลบรารีนี้ เลือกโครงการของคุณที่ใช้ไลบรารีนี้ เปิดคุณสมบัติ เลือกตัวเลือก "Android" ที่ด้านล่างของ "Is Library" อย่าเลือกช่องทำเครื่องหมาย "Is Library" คลิกปุ่ม "เพิ่ม" ทางด้านขวา โครงการของคุณที่คุณสร้างในขั้นตอนที่ 1 และ 2 ควรอยู่ในรายการพร้อมสำหรับการเลือก เลือกและคลิกใช้ ปิดคุณสมบัติ
  4. คุณพร้อมที่จะอ้างอิงชั้นเรียนจากโครงการของคุณ

ขอบคุณที่ช่วยฉัน ... ขอแสดงความนับถือจากทีม fgroupindonesia ของเรา: D
gumuruh

4

ด้วย java คุณสร้าง Java Archive (jar) ที่มีคลาสทั้งหมดของคุณ (ไฟล์ * .class) ของไลบรารีนั้นและไฟล์ jar คือไลบรารีของคุณ

ที่จะใช้มันเพียงแค่เพิ่มไปยังclasspath

(สำหรับ "jar" และ "classpath": แนวคิดพื้นฐานของ Java โปรดใช้ google เพื่อค้นหาบทช่วยสอนคุณจะต้องเข้าใจแนวคิดเหล่านั้นอยู่ดียิ่งเร็วยิ่งดี;))


2
สวัสดีฉันขอลิ้นชักหรือเลย์เอาต์ในขวดโหลได้ไหม
Mahendran

afaik คำตอบคือ: ไม่ ใช้แนวคิดไลบรารี Android ตามที่อธิบายไว้ในคำตอบที่ยอมรับสำหรับ drawables และเลย์เอาต์
Minsky

2

แปลงคลาสทั้งหมดของคุณใน Java และสร้างไฟล์ jar ใช้ jar นี้ในโปรเจ็กต์ android ของคุณโดยการคัดลอกใน libs / โฟลเดอร์จากนั้นเพิ่มใน build path ทำความสะอาดโครงการแล้วเรียกใช้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.