Bài viết được dịch từ website acadgild.
Người dịch: Nguyễn Minh Tú - Học viên lớp Android Techmaster
Chỉnh lý: Nguyễn Bá Thành - Giảng viên lớp Android Techmaster
Giới thiệu về Android Libraries.
Trong quá trình phát triển ứng dụng Android, chúng ta sử dụng thêm nhiều thư viện Android của bên thứ ba. Một trong số đó rất phổ biến và thường xuyên được sử dụng trong các project Android. Các thư viện Android tuy khác nhau về mục đích nhưng chúng đều rất hữu ích đối với các developer trong quá trình xây dựng ứng dụng vì chúng giúp quá trình làm việc của họ dễ dàng hơn.
Trong blog này, chúng ta sẽ thảo luận về một số thư viện Android rất phổ biến, áp dụng rộng rãi và có thể sử dụng để xây dựng các ứng dụng một cách dễ dàng.
1. okHttp
okHttp là một thư viện làm việc rất hiệu quả với giao thức HTTP và có thể hoạt động được khi mạng gặp vấn đề trục trặc. Trong quá trình truyền tải dữ liệu này, nếu kết nối mạng không ổn định, okHttp sẽ phục hồi ngầm dữ liệu từ các kết nối lỗi. Nếu có nhiều địa chỉ IP, thư viện này sẽ lần lượt sử dụng các địa chỉ IP này nếu kết nối ban đầu của bạn bị lỗi hoặc ngắt kết nối.
okHttp hỗ trợ Android 2.3 hoặc các phiên bản cao hơn.
Thư viện okHttp cho phép:
⦁ Hỗ trợ chuẩn HTTP/2
⦁ Connection pooling
⦁ Giảm kích thước file download
⦁ Response caching
Link download: https://github.com/square/okhttp
2. Volley
Volley là một thư viên HTTP giúp cho việc kết nối mạng của các ứng dụng Android dễ dàng và nhanh chóng. Một số tính năng được cung cấp bởi Volley:
⦁ Tự động đặt lịch các yêu cầu kết nối mạng (network request)
⦁ Hỗ trợ các yêu cầu được ưu tiên
⦁ Hỗ trợ đồng thời kết nối nhiều mạng
⦁ Tùy biến dễ dàng
⦁ Các công cụ soát lỗi và theo dõi
Link download: https://github.com/mcxiaoke/android-volley
3. Google GSON
Gson là một thư viện Java cho phép người sử dụng có thể chuyển đổi một đối tượng Java sang JSON. Bạn có thể tham khảo liên kết dưới đây để biết thêm về việc sử dụng Gson trong phát triển Android.
https://acadgild.com/blog/android-app-development-use-gson-to-work-with-json/
Chúng ta chủ yếu sử dụng thư viện JSON bởi vì nó nhẹ và đơn giản hơn so với XML
Link download: https://github.com/google/gson
4. Picasso
Bạn có thể tải ảnh đơn giản và dễ dàng từ một URL bằng việc sử dụng thư viện Picasso. Để sử dụng, bạn chỉ cần có thêm nó vào ImageView. Picasso đơn giản hóa quá trình tải hình ảnh. Nếu ứng dụng của bạn gặp vấn đề runtime khi tải ảnh, bạn có thể kiểm soát vấn đề với OutOfMemoryException mà Picasso cung cấp.
Link download: https://github.com/square/picasso
5. Universal Image Loader
Universal Image Loader là một thư viện hỗ trợ tải ảnh không đồng bộ, ngoài ra nó còn giúp nạp hình ảnh vào bộ nhớ đệm.
Sử dung: imageLoader.displayImage(imageUri, imageView);
Bằng cách sử dụng các cấu hình URL, bạn sẽ thấy mọi thứ có thể tự động xác nhận. Bạn có thể thêm chúng vào dependencies trong dự án của bạn.
Link download: https://github.com/nostra13/Android-Universal-Image-Loader
6. Retrofit
Thư viện Retrofit cung cấp một framework mạnh mẽ cho việc bảo mật như xác thực và tích hợp với các API. Thư viện này sử dụng cho việc tải dữ liệu JSON hoặc XML từ web. Khi dữ liệu đã được tải Retrofit sẽ tiến hành phân tích thành POJO (Palin Old Java Object), trong đó Retrofit sẽ định nghĩa cho chúng ta từng tài nguyên được tải về. Bạn có thể sử dụng Retrofit bằng cách them vào trong dependencies như sau: “compile‘com.squareup.retrofit2:retrofit:2.1.0’ “.
Link download: https://github.com/square/retrofit
7. Jitpack.io
JitPack có thể giúp xây dựng bất kỳ dự án GitHub và giúp chuyển dự án đó lên Maven Repository. Nó sẽ giúp tiết kiêm thời gian và xây dựng các dependencies dễ dàng hơn. Đây là một trong các cách để đưa dự án lên trên GitHub và Maven Dependencies.
Thư viện này được phát triển bởi nhóm Strametry Ltd.
Link dowload: https://jitpack.io/
8. ActiveAndroid
ActiveAndroid là một ORM (Object Relational Mapping) dành cho việc phát triển ứng dụng Android. Nó là một khái niệm trừu tượng về việc sử dụng cơ sở dữ liệu SQLite mà không cần câu lệnh SQL để kết nối đến cơ sở dữ liệu ứng dụng Android.
Để lưu dữ liệu vào một cơ sở dữ liệu ta dung thư viện này:
User.save();
Ví dụ để lấy tất cả người dùng:
SELECT Name, Address, City From Users;
Link download: https://github.com/pardom/ActiveAndroid/downloads
9. ActionBarSherlock
ActionBarSherlock được thiết kế cho việc sử dụng các mẫu action bar trên các phiên bản khác nhau của hệ điều hành Android với API đơn giản. Chúng ta có thể sử dụng ActionBarSherlock để cung cấp một API đơn giản sử dụng phương thức
getSupportActionBar();
Link download: https://github.com/JakeWharton/ActionBarSherlock
10. ViewPagerIndicator
ViewPageIndicator là thư viện tương thích với các ViewPager từ Android Support Library và AndroidBarSherlock giúp cải thiện việc trải nghiệm nội dung. Nội dung nên rõ ràng đối với người sử dụng cho dù có nhiều điều hướng khi chúng ta sử dụng ViewPager widget. Sau khi implement thư viện này, bạn có thể cung cấp một indicator mà người dùng nhấp hoặc vuốt lên đó.
Link download: https://github.com/JakeWharton/ViewPagerIndicator
Phần kết
Sử dụng thư viện Android giúp chúng ta tạo ra trải nghiệm người dùng tốt hơn. Cuối cùng, tất cả các thư viện thứ ba Android có các chức năng và mục đích sử dụng khác nhau. Sử dụng thư viện Android trong xây dựng ứng dụng Android là một cách tuyệt vời khi thêm mới một chức năng cho ứng dụng của bạn. Bằng cách này bạn có thể tiết kiêm thời gian phát triển ứng dụng. Bất kỳ thư viện liên quan tới thiết kế đều có thể tạo ra những cách mới để tương tác với ứng dụng của bạn.
Nguồn: Techmaster
IT Software Engineer (Long Thanh IZ)
Công ty TNHH framas Korea Vina
Location: Đồng Nai
Salary: Competitive
Sales Manager/ Business Development Manager (Japanese Language/ Digital Solutions)
CÔNG TY TNHH TRANSCOSMOS VIỆT NAM
Location: Hồ Chí Minh
Salary: 40 Mil - 90 Mil VND
Middle/ Senior NodeJS Developer
CÔNG TY CỔ PHẦN HASAKI BEAUTY & CLINIC
Location: Hồ Chí Minh
Salary: Competitive
FrontEnd Developer (ReactJS, VueJS, HTML)
Location: Hồ Chí Minh
Salary: 10 Mil - 16 Mil VND
Location: Hồ Chí Minh
Salary: Competitive
Dev Lead PHP Magento ( Dự án TMĐT)
Tổng Công ty Cổ phần Công trình Viettel
Location: Hà Nội
Salary: 28 Mil - 35 Mil VND
Quản lý dự án (Scrum Master/Game Producer)
CÔNG TY CỔ PHẦN CÔNG NGHỆ SKYBULL VIỆT NAM
Location: Hà Nội
Salary: 10 Mil - 12 Mil VND
Location: Hồ Chí Minh
Salary: 25 Mil - 40 Mil VND
CÔNG TY TNHH BẢO HIỂM NHÂN THỌ MB AGEAS
Location: Hà Nội
Salary: Competitive
Tổng công ty Xây dựng số 1 – CTCP
Location: Hồ Chí Minh
Salary: Competitive