Làm thế nào để tạo thư viện của riêng bạn để phát triển Android được sử dụng trong mọi chương trình bạn viết?


99

Tôi là một lập trình viên Delphi và đã viết, trong nhiều năm, hàng trăm lớp học và thói quen mà tôi có thể sử dụng trong mọi chương trình Delphi mà tôi viết.

Đây thư viện được gọi là dlib và có thể được sử dụng trong mọi chương trình Delphi bằng cách đặt thư mục này trong đường dẫn thư viện của tôi và bằng một trong những đơn vị trong phần công dụng của một đơn vị Delphi.

Là người hoàn toàn mới trong phát triển Java và Android, tôi đang tự hỏi làm thế nào để thực hiện việc này theo cách tương tự.

Vì vậy, câu hỏi của tôi, làm thế nào tôi có thể viết các lớp riêng, đặt chúng vào một thư mục chung nào đó và sử dụng các lớp và quy trình này trong mọi chương trình Android mà tôi viết ?

Tôi biết đây là một câu hỏi cơ bản, tôi có thể tìm ra câu hỏi này bằng cách tìm kiếm trên Google và thử nó trong Eclipse, nhưng nếu ai đó có thể đưa tôi đi đúng hướng, tôi biết tôi sẽ tiết kiệm được nhiều thời gian.

Cảm ơn.


3
Tôi thực sự đề phòng việc tạo ra những loại thư viện tổng hợp này. Java có xu hướng có hầu hết các chức năng bạn cần và thường xuyên hơn không, những người thông minh hơn đã làm bất cứ điều gì bạn cần. Thư viện chung của bạn làm những việc gì?
Andrew

Câu trả lời:


94

Bạn phải tạo Dự án Thư viện Android. Tạo dự án android trong Eclipse, nhập Thuộc tính dự án -> Android và kiểm tra thuộc tính isLibrary. Bây giờ bạn có thể thêm thư viện này vào dự án Ứng dụng Android của mình bằng cách thêm nó vào danh sách trên cùng một trang thuộc tính.

Hướng dẫn chi tiết hơn tại đây trong phần Làm việc với Dự án Thư viện


Nếu cả hai ứng dụng khác nhau đều sử dụng cùng một dự án thư viện Android, liệu hai bản sao của cùng một thư viện có được cài đặt khi cả hai ứng dụng được cài đặt trên cùng một điện thoại không?
enigmaticPhysicist

@enigmaticPhysicist Thư viện thực sự được kéo vào lúc biên dịch. Vì vậy, có, cả hai ứng dụng có bản sao của chính họ của thư viện đi kèm với họ
Richard Tingle

Co cach tôt hơn ma. Có lẽ trong một phiên bản Android trong tương lai.
enigmaticPhysicist

10

Hướng dẫn tạo thư viện trong Android Studio :

Tạo một mô-đun thư viện

Để tạo một mô-đun thư viện mới trong dự án của bạn, hãy tiến hành như sau:

  1. Nhấp vào Tệp> Mới> Mô-đun mới .

  2. Trong cửa sổ Tạo mô-đun mới xuất hiện, nhấp vào Thư viện Android, sau đó nhấp vào Tiếp theo.

    Ngoài ra còn có một tùy chọn để tạo Thư viện Java , tạo một tệp JAR truyền thống. Mặc dù tệp JAR hữu ích cho nhiều dự án — đặc biệt khi bạn muốn chia sẻ mã với các nền tảng khác — nó không cho phép bạn bao gồm tài nguyên Android hoặc tệp kê khai, điều này rất hữu ích cho việc sử dụng lại mã trong các dự án Android. Vì vậy, hướng dẫn này tập trung vào việc tạo thư viện Android.

  3. Đặt tên cho thư viện của bạn và chọn phiên bản SDK tối thiểu cho mã trong thư viện, sau đó nhấp vào Hoàn tất .

Khi quá trình đồng bộ hóa dự án Gradle hoàn tất, mô-đun thư viện xuất hiện trong bảng điều khiển Dự án ở bên trái. Nếu bạn không thấy thư mục mô-đun mới, hãy đảm bảo rằng nó đang hiển thị chế độ xem Android .

Chuyển đổi mô-đun ứng dụng thành mô-đun thư viện

Nếu bạn có một mô-đun ứng dụng hiện có với tất cả mã bạn muốn sử dụng lại, bạn có thể biến nó thành một mô-đun thư viện như sau:

  1. Mở build.gradletệp cấp mô-đun .

  2. Xóa dòng cho applicationId. Chỉ một mô-đun ứng dụng Android mới có thể xác định điều này.

  3. Ở đầu tệp, bạn sẽ thấy như sau:

    apply plugin: 'com.android.application'

    Thay đổi nó thành như sau:

    apply plugin: 'com.android.library'

    Lưu tệp và nhấp vào Công cụ> Android> Đồng bộ hóa dự án với tệp Gradle .


Cảm ơn bạn đã thêm câu trả lời này, điều này sẽ tốt hơn rất nhiều với Android Studio.
David Argyle Thacker

7

Nếu thư viện của bạn nằm trong tệp .java bao gồm mã java. Có một hướng dẫn thực sự chi tiết về cách sử dụng thư viện tại mobile.tutsplus.com. Đường dẫn phía dưới:

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

Ví dụ, tôi muốn sử dụng thư viện Pull To Refresh của Chrisbanes tại Github.com tại đây https://github.com/chrisbanes/Android-PullToRefresh/tree/master/library . Cấu trúc của thư viện ở dạng ứng dụng Android. Nó có dạng như sau:

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

Cách sử dụng trên Eclipse:

  1. Tạo dự án mới trong Eclipse. Đặt tên cho dự án của bạn. Chọn "Tạo dự án từ nguồn hiện có". Chọn vị trí của thư mục gốc chứa các tệp được đề cập ở trên trong "Vị trí". Chọn mục tiêu của bạn và nhấp vào kết thúc.
  2. Chọn thuộc tính của dự án mới bạn đã tạo. Chọn tùy chọn "Android". Chọn hộp kiểm "Là Thư viện" nếu nó chưa được chọn. đóng các thuộc tính.
  3. Thêm tham chiếu vào thư viện từ dự án sẽ sử dụng thư viện này. Chọn dự án của bạn sử dụng thư viện này. Mở Thuộc tính. Chọn tùy chọn "Android". Ở dưới cùng trên "Là Thư viện". Không chọn hộp kiểm "Là Thư viện". Nhấp vào nút "Thêm" ở bên phải. Dự án của bạn mà bạn đã tạo ở bước 1 và 2 sẽ được liệt kê sẵn sàng để lựa chọn. chọn nó và nhấp vào áp dụng. đóng các thuộc tính.
  4. Bạn đã sẵn sàng tham khảo các lớp từ dự án của mình.

nhờ nó giúp tôi ... liên quan đến từ đội fgroupindonesia của chúng tôi: D
gumuruh

4

Với java, bạn tạo một Kho lưu trữ Java (jar) chứa tất cả các lớp của bạn (tệp * .class) của thư viện đó và tệp jar thư viện của bạn.

Để sử dụng nó, chỉ cần thêm nó vào classpath .

(Đối với "jar" và "classpath": các khái niệm Java cơ bản, vui lòng sử dụng google để tìm các hướng dẫn, dù sao thì bạn cũng phải hiểu các khái niệm đó, càng sớm càng tốt;))


2
Xin chào, tôi có thể có các ngăn kéo hoặc bố cục trong thẻ thư viện jar của mình không?
Mahendran

afaik, câu trả lời là: không. Sử dụng khái niệm thư viện android như được mô tả trong câu trả lời được chấp nhận cho các tệp có thể kéo và bố cục.
Minsky

2

Chuyển đổi tất cả các lớp của bạn trong Java và tạo một tệp jar. Sử dụng jar này trong dự án Android của bạn bằng cách sao chép trong thư mục libs / và sau đó thêm vào để xây dựng đường dẫn. Làm sạch dự án và sau đó chạy nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.