31/08/2018, 21:27

10 thư viện Android hữu ích dành cho Developers

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 ...

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

10-useful-android-libraries-1

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

  1. Volley

10-useful-android-libraries-2

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

  1. Google GSON

10-useful-android-libraries-3

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

  1. Picasso

10-useful-android-libraries-4

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

  1. Universal Image Loader

10-useful-android-libraries-5

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

  1. Retrofit

10-useful-android-libraries-6

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

  1. Jitpack.io

10-useful-android-libraries-7

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: http://jitpack.io/

  1. ActiveAndroid

10-useful-android-libraries-8

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

  1. ActionBarSherlock

10-useful-android-libraries-9

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

  1. ViewPagerIndicator

10-useful-android-libraries-10

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.

Techtalk via Techmaster

0