Cách tạo thành thư viện Android cho tất cả những người khác dùng - giải pháp Học

Tiếp theo các bạn nhập những thông tin của tủ sách vào (nó tương tự như 1 Project vậy). Ở đây mình kiểm tra về một tủ sách hiển thị toast. Các chúng ta có thể tạo thư viên riêng biệt tuỳ mục tiêu của mình



Các các bạn click finish với đợi một ít cho project load module new của bọn chúng ta. Sau khoản thời gian load xong các bạn sẽ thấy trong chính sách xem Android, bọn họ có 1 thư mục ngang hàng thư mục app là toastlib. Nó tất cả kèm icon hình tượng của thư viện (library) với có kết cấu như folder app của chúng ta.

Bạn đang xem: Import thư viện trong android studio



Bây giờ chúng ta mở tệp tin build.gradle (app) của module phầm mềm ra, thêm dòng sau vào nhằm project của họ load tủ sách vào. Và nhớ click Sync Now để đồng điệu lại.

implementation project(‘:libstoast’)

Bắt đầu viết thư viện

Trong libstoas, họ tạo ra 1 file java là MToast để thực hiện hiển thị một Toast riêng biệt của chúng ta.



package com.nguyenvanquan7826.libstoast;import android.content.Context;import android.graphics.Color;import android.view.View;import android.widget.Toast;public class MToast public static void show(Context context, String message) Toast toast = Toast.make
Text(context, message, Toast.LENGTH_SHORT); View view = toast.get
View(); view.set
Background
Color(Color.BLUE); toast.show(); Vậy là chúng ta đã viết xong xuôi thư viện riêng của chúng ta. Bên cạnh đó trong thư viện, chúng ta hoàn toàn rất có thể tạo Fragment, Activity,… kèm giao diện để phục vụ cho những project không giống nhau.

Bây giờ bọn họ trở lại module app đó là project nơi bắt đầu của bọn họ để áp dụng thư viện vừa tạo ra ra.

Trong tệp tin Main
Activity họ thay sự kiện mặc định của FAB bằng câu hỏi hiển thị MToast

package com.nguyenvanquan7826.demolibs;import android.os.Bundle;import android.view.View;import androidx.appcompat.app.App
Compat
Activity;import androidx.appcompat.widget.Toolbar;import com.google.android.material.floatingactionbutton.Floating
Action
Button;import com.nguyenvanquan7826.libstoast.MToast;public class Main
Activity extends App
Compat
Activity
Override protected void on
Create(Bundle saved
Instance
State) super.on
Create(saved
Instance
State); set
Content
View(R.layout.activity_main); Toolbar toolbar = find
View
By
Id(R.id.toolbar); set
Support
Action
Bar(toolbar); Floating
Action
Button fab = find
View
By
Id(R.id.fab); fab.set
On
Click
Listener(new View.On
Click
Listener()
Override public void on
Click(View view) MToast.show(Main
Activity.this, "This is MToast"); ); Kết quả:


Publish thư viện đến mọi tín đồ dung


Để triển khai đưa thư viện lên toàn cầu cho mọi bạn dùng, trước hết các bạn cần thiết lập git vào máy. Tiếp đến tạo một tài khoản trên github. Những việc này các chúng ta cũng có thể tìm lí giải trên google siêu nhiều.

Tiếp theo chúng ta tạo 1 repository bên trên gihub để chính sách pubic


Tiếp theo, github sẽ hướng dẫn các bạn đưa code lên bằng một vài câu lệnh.

Các bạn mở terminal của android studio lên (ở bên thanh trạng thái mặt dưới) cùng lần lượt chạy các lệnh như github chỉ dẫn (link repository của bạn sẽ khác của bản thân mình nhé).

git init

git remote showroom origin https://github.com/nguyenvanquan7826/androiddemolibs.git

git địa chỉ .

git commit -m “init”

git push origin master

Lệnh push cuối cùng, gồm thể bạn sẽ phải nhập thư điện tử và password thông tin tài khoản github của doanh nghiệp nhé. Sau khi push chấm dứt thì bên trên github của bạn sẽ có code như này:

Các bạn click vào thực đơn releases và tạo mới releases để sản xuất “xuất bản” cho thư viện.

Đến đây coi như hoàn thành rồi. Giờ chúng ta vào https://jitpack.io/ , đăng nhập bởi github với tìm nhập đường truyền repository của bản thân mình vào đã thấy.

Kéo xuống dưới sẽ thấy như này là các bạn và rất nhiều người rất có thể dùng thư viện của khách hàng bằng 2 bước như gợi ý ở đây: 1. Thêm maven url ‘https://jitpack.io’ vào build.gradle của project và 2 là chuyển thư viện của mình vào, cầm cố tag bằng version mà các bạn đã tạo ra (1.0.0)

Cú pháp bình thường là:

com.github.user:repository:version

Mã nguồn kiểm tra các chúng ta cũng có thể xem, tải về tại đây

Tạo những thư viện trong thuộc project

Có thể bạn cần tạo ra nhiều tủ sách nhưng không muốn dùng các project để sinh sản từng thư viện, vậy thì các bạn cứ viết hế vào một trong những project như trên, tạo những module library tiếp đến khi dùng chỉ việc chỉ rõ từng thư viện thôi. Lấy ví dụ như trong project Android
Libs mình tất cả 2 thư viện là appbasetextviewtwoline, để áp dụng từng tủ sách mình sẽ viết như sau:

implementation “com.github.nguyenvanquan7826.Android
Libs:appbase:1.0.5”

implementation “com.github.nguyenvanquan7826.Android
Libs:textviewtwoline:1.0.5”

Cú pháp sẽ là:

com.github.user.repository:libsname:version

Nếu hy vọng dùng toàn bộ các thư viện mà lại không yêu cầu viết chi tiết ra, các bạn chỉ cần viết như với 1 thư viện theo cú pháp

Một dự án công trình Android luôn sử dụng các thư viện ngoại trừ để sút thiểu thời gian coding cũng như giá cả phát triển, bảo đảm an toàn tính tái sử dụng. Việc thêm thư viện hay là một module vào dự án công trình Android hiện thời là không khó khăn và rất là dễ dàng khi Gradle được tích hợp áp dụng trong một dự án Android. Để làm rõ hơn, bọn họ sẽ tạo ra một project Android.Mặc định, chúng ta sẽ tất cả một tệp tin app/build.gradle lúc project được tạo ra ra

apply plugin: "com.android.application"android compile
Sdk
Version 26 default
Config application
Id "com.simple.gradle" min
Sdk
Version 14 target
Sdk
Version 26 version
Code 1 version
Name "1.0" test
Instrumentation
Runner "android.support.test.runner.Android
JUnit
Runner" build
Types release minify
Enabled false proguard
Files get
Default
Proguard
File("proguard-android.txt"), "proguard-rules.pro" dependencies implementation file
Tree(dir: "libs", include: <"*.jar">) implementation "com.android.support:appcompat-v7:26.1.0" implementation "com.android.support.constraint:constraint-layout:1.0.2" test
Implementation "junit:junit:4.12" android
Test
Implementation "com.android.support.test:runner:1.0.1" android
Test
Implementation "com.android.support.test.espresso:espresso-core:3.0.1"Trong phạm vi nội dung bài viết ngày lúc này chúng ta đang chỉ suy nghĩ file app/build.gradle trên, rõ ràng là khối dependencies.

Xem thêm: Vì sao một kênh youtube bị tắt kiếm tiền, vì sao một kênh youtube có thể bị tắt kiếm tiền

dependencies implementation file
Tree(dir: "libs", include: <"*.jar">) implementation "com.android.support:appcompat-v7:26.1.0" implementation "com.android.support.constraint:constraint-layout:1.0.2" test
Implementation "junit:junit:4.12" android
Test
Implementation "com.android.support.test:runner:1.0.1" android
Test
Implementation "com.android.support.test.espresso:espresso-core:3.0.1"

Khai báo sử dụng bằng phương pháp chỉnh sửa trực tiếp file build.gradle

Gradle cung cấp một số phương pháp để khai báo thực hiện thư viện mặt thứ 3. Tuy vậy cách thông thường và hay được sử dụng là dạng "group:name:version". Ở những phiên bản gradle trước thì bọn họ sẽ thực hiện từ khóa compile, với phiên bản mới chúng ta sử dụng tự khóa implementation. Bạn cũng có thể sử dụng thay dấu nháy 1-1 bằng dấu nháy kép, ví dụ dưới đây sẽ cho thấy sự khác biệt giữa hai nhiều loại dấu này, họ tạo một task vào gradle

task thử nghiệm String name = "Gradle" println "Hello $name" println "Hello $name"sau kia run

./gradlew demokết quả như sau

Hello $name
Hello Gradle
Như vậy so với dấu nháy kép bạn có thể sử dụng trở nên linh hoạt hơn.Cách thường thì sử dụng thư viện bọn họ hay sử dụng, ví dụ

test
Implementation "junit:junit:4.12"Tuy nhiên trên được xem là cú pháp rút gọn, ví dụ rõ ràng chúng ra đã viết như sau, biện pháp này được gọi là cú pháp đầy đủ

test
Implementation group: "junit", name: "junit", version: "4.12"Ngoài ra so với version, bạn cũng có thể khai báo không cụ thể phiên bản, ví dụ

test
Implementation "junit:junit:4.+"Cách bên trên sẽ cho phép gradle sử dụng bất kỳ phiên bạn dạng JUnit nào to hơn hoặc bằng 4.0, cách này không được khuyến khích vì sẽ gây ra khó tái sử dụng. Do đó họ nên hướng dẫn và chỉ định rõ phiên phiên bản của một thư viện mà chúng ta muốn áp dụng như vậy sẽ thuận tiện kiểm soát dự án của chúng ta hơn.Đối với các file thư viện .jar bạn có thể sử dụng tiện lợi bằng tự khóa files hoặc file
Tree

implementation files("libs/a.jar", "libs/b.jar")implementation file
Tree(dir: "libs", include: "*.jar")Dòng lệnh trước tiên sẽ chỉ định họ muốn áp dụng những file jar nào, còn cái lệnh thứ 2 sẽ cho phép sử dụng ngẫu nhiên file .jar nào trong dường dẫn libs.Một ngôi trường hợp họ cần chú ý là transitive dependencies, nghĩa là khi ta sử dụng một thư viện mặt thứ 3 cơ mà thư viện đó đã thêm thư viện không giống thì khoác nhiên dự án của bạn cũng có thể sử dụng cả thư viện khác đó. Ví dụ, nếu họ sử dụng tủ sách implementation "com.squareup.retrofit2:retrofit:2.3.0" (đã gồm thư viện okhttp với okio) thì chúng ta không buộc phải khai báo áp dụng thư viện okhttp cùng okio, điều sau đấy là không đề xuất thiết

implementation "com.squareup.retrofit2:retrofit:2.3.0"implementation "com.squareup.okhttp3:okhttp:3.9.1" // không phải thiếtimplementation "com.squareup.okhttp3:okhttp:3.9.1" // không đề xuất thiết
Chúng ta rất có thể không áp dụng transitive dependencies bằng cách

implementation group:"com.squareup.retrofit2", name:"retrofit", version:"2.3.0", transitive:false
Ngoài ra bạn cũng có thể chỉ sử dụng module jar của thư viện mà không cần những dependency không giống của thư viện đó thì họ sử dụng trường đoản cú khóa ext hoặc cam kết tự
jar"hoặc

implementation group: "org.codehaus.groovy", name: "groovy-all", version: "2.4.4", ext: "jar"Ngược lại, bạn có thể loại trừ một hoặc một số trong những dependency mà lại không quan trọng hoặc đã có được khai báo làm việc thư viện khác bởi từ khóa exclude

android
Test
Implementation("org.spockframework:spock-core:1.0-groovy-2.4") exclude group: "org.codehaus.groovy" exclude group: "junit"

Sử dụng android Studio Tool

Chúng ta rất có thể nhanh giường thêm hoặc tra cứu kiếm thư viện mặt thứ 3 bởi tool mà android Studio hỗ trợ.Chúng ta lựa chọn File/Project Structure
*
Sau đó chọn Dependencies và chọn dấu +, bạn cũng có thể chọn nhiều loại là file jar, module hoặc library
*
Tiếp theo chọn 1 thư viện nào đó rồi dấn Ok, app android Studio sẽ tự động thêm vào tệp tin build.gradle.
*

Cấu hình Repositories

Vì từng thư viện các được lưu trữ ở một repository nào kia (kho). Khoác định android sử dụng hai kho jcenter() (https://jcenter.bintray.com) hoặc maven
Central() (http://repo1.maven.org/maven2)

repositories jcenter() maven
Central()Chúng ta có thể cấu hình một repo trường đoản cú maven qua url

repositories maven credentials // nếu quan trọng username "username" password "password" url "http://repo.mycompany.com/maven2" Ngoài ra bạn có thể thêm tệp tin từ local bởi cách

repositories flat
Dir dirs "lib" Đây cũng là một trong cách thay thế cho bí quyết khai báo vào dependencies block với files cùng file
Tree.Chúng ta sẽ liên tiếp sử dụng các repository khác nhau để build. Gradle vẫn tìm kiếm trong những repository đó theo vật dụng tự từ trên xuống cho tới khi download chấm dứt toàn bộ dependencies của chúng ta trong project.Như vậy họ đã hiểu thêm một chút ít về Gradle vào Android. Hy vọng bài viết sẽ mang lại lợi ích cho một trong những bạn

*