Cách tạo thư viện Android cho người khác dùng
Cách tạo thư viện Android cho người khác dùng Tháng Tám 21, 2019 nguyenvanquan7826 LT Android Leave a response Chào các bạn, có bao giờ bạn hỏi những thư viện của android trong dependencies mà các bạn dùng của người khác, họ tạo ra ...
Cách tạo thư viện Android cho người khác dùng
Chào các bạn, có bao giờ bạn hỏi những thư viện của android trong dependencies mà các bạn dùng của người khác, họ tạo ra chúng như thế nào? Hôm nay mình sẽ hướng dẫn các bạn cách tạo thư viện android và công bố cho người khác dùng. Và tất nhiên tối thiểu thì bạn cũng có thư viện cho nhiều project của mình dùng chung, đỡ phải viết lại hoặc copy dẫn đến không đồng nhất thư viện giữa các project.
Tạo ứng dụng và thư viện
Đầu tiên các bạn tạo ra một Project Android như bình thường bằng Android Studio. Tiếp theo bạn vào chọn Menu File -> New -> New Module
Tại đây các bạn chọn Android Library.
Tiếp theo các bạn nhập các thông tin của thư viện vào (nó gần giống như 1 Project vậy). Ở đây mình demo về một thư viện hiển thị toast. Các bạn có thể tạo thư viên riêng tuỳ mục đích của mình
Các bạn click finish và đợi một chút cho project load module mới của chúng ta. Sau khi load xong các bạn sẽ thấy trong chế độ xem Android, chúng ta có 1 folder ngang hàng folder app là toastlib. Nó có kèm icon biểu tượng của thư viện (library) và có cấu trúc như folder app của chúng ta.
Bây giờ các bạn mở file build.gradle (app) của module app ra, thêm dòng sau vào để project của chúng ta load thư viện vào. và nhớ click Sync Now để đồng bộ lại.
implementation project(‘:libstoast’)
Bắt đầu viết thư viện
Trong libstoas, chúng ta tạo ra 1 file java là MToast để thực hiện hiển thị một Toast riêng 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.makeText(context, message, Toast.LENGTH_SHORT); View view = toast.getView(); view.setBackgroundColor(Color.BLUE); toast.show(); } }
Vậy là chúng ta đã viết xong thư viện riêng của chúng ta. Ngoài ra trong thư viện, các bạn hoàn toàn có thể tạo Fragment, Activity,… kèm giao diện để phục vụ cho các project khác nhau.
Bây giờ chúng ta trở lại module app chính là project gốc của chúng ta để sử dụng thư viện vừa tạo ra.
Trong file MainActivity chúng ta thay sự kiện mặc định của FAB bằng việc hiển thị MToast
package com.nguyenvanquan7826.demolibs; import android.os.Bundle; import android.view.View; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.nguyenvanquan7826.libstoast.MToast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); FloatingActionButton fab = findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { MToast.show(MainActivity.this, "This is MToast"); } }); } }
Kết quả:
Publish thư viện cho mọi người dung
Để thực hiện đưa thư viện lên toàn cầu cho mọi người dùng, trước hết các bạn cần cài đặt git vào máy. Sau đó tạo một tài khoản trên github. Những việc này các bạn có thể tìm hướng dẫn trên google rất nhiều.
Tiếp theo các bạn tạo 1 repository trên gihub để chế độ pubic
Tiếp theo, github sẽ hướng dẫn các bạn đưa code lên bằng một số câu lệnh.
Các bạn mở terminal của android studio lên (ở bên thanh trạng thái bên dưới) và lần lượt chạy các lệnh như github hướng dẫn (link repository của bạn sẽ khác của mình nhé).
git init
git remote add origin https://github.com/nguyenvanquan7826/androiddemolibs.git
git add .
git commit -m “init”
git push origin master
Lệnh push cuối cùng, có thể bạn sẽ phải nhập email và password tài khoản github của bạn nhé. Sau khi push xong thì trên github của bạn sẽ có code như này:
Các bạn click vào menu releases và tạo mới releases để tạo “xuất bản” cho thư viện.
Đến đây coi như xong rồi. Giờ bạn vào https://jitpack.io/ , đăng nhập bằng github và tìm nhập đường dẫn repository của mình vào sẽ thấy.
Kéo xuống bên dưới sẽ thấy như này là bạn và mọi người có thể dùng thư viện của bạn bằng 2 bước như hướng dẫn ở đây: 1. thêm maven { url ‘https://jitpack.io’ } vào build.gradle của project và 2 là đưa thư viện của mình vào, thay tag bằng version mà bạn đã tạo (1.0.0)
Cú pháp chung là:
com.github.user:repository:version
Mã nguồn demo các bạn có thể xem, download tại đây
Tạo nhiều thư viện trong cùng project
Có thể bạn cần tạo ra nhiều thư viện nhưng không muốn dùng nhiều project để tạo từng thư viện, vậy thì bạn cứ viết hế vào một project như trên, tạo nhiều module library sau đó khi dùng chỉ việc chỉ rõ từng thư viện thôi. Ví dụ trong project AndroidLibs mình có 2 thư viện là appbase và textviewtwoline, để sử dụng từng thư viện mình sẽ viết như sau:
implementation “com.github.nguyenvanquan7826.AndroidLibs:appbase:1.0.5”
implementation “com.github.nguyenvanquan7826.AndroidLibs:textviewtwoline:1.0.5”
Cú pháp sẽ là:
com.github.user.repository:libsname:version
Nếu muốn dùng tất cả các thư viện mà không cần 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
com.github.user:repository:version