Tích hợp mạng xã hội vào ứng dụng Android (Google) - Phần 2

Khóa học lập trình Android cơ bản

0.0 (0 đánh giá)
Tạo bởi Kteam Cập nhật lần cuối 5 năm trước 26.629 lượt xem 1 bình luận
Tác giả/Dịch giả: Kteam
Học nhanh

Danh sách bài học

Tích hợp mạng xã hội vào ứng dụng Android (Google) - Phần 2

Dẫn nhập

Trong các bài học trước, chúng ta đã cùng nhau tìm hiểu về cách tạo file google-services.json, cách thiết lập để  CHUẨN BỊ TÍCH HỢP GOOGLE VÀO ỨNG DỤNG ANDROID.

Ở bài học này chúng ta sẽ tiếp tục hoàn thành phần cuối của bài TÍCH HỢP MẠNG XÃ HỘI GOOGLE.


Nội dung

Để đọc hiểu bài này tốt nhất các bạn nên có kiến thức cơ bản về các phần:

Trong bài học này, chúng ta sẽ cùng tìm hiểu các vấn đề:

  • Tiến hành code chính, tích hợp chức năng đăng nhập và đăng xuất Google.

Tích hợp Google cho ứng dụng trong Android Studio

Bước 1: Chúng ta sẽ thêm các thành phần sau lần lượt vào các file build.gradle :

File build.gradle cấp ngoài cùng:

File build.gradle trong thư mục app/

Bước 2: Chúng ta thêm nút đăng nhập Google như sau. Cũng như Facebook SDK, Google Auth cũng đã cung cấp sẵn cho chúng ta một button như vậy:

activity_main.xml

Bước 3: Tiếp đến là file MainActivity.java. Quá trình làm việc với Google Sign-in phức tạp hơn Facebook một chút, đặc biệt là ở phần cache (đệm dữ liệu làm việc). Tuy nhiên may thay nó chỉ là phần phụ, và những thành phần chính chúng ta cần là:

Ở trên chúng ta có lần lượt:

  • Biến TAG để chỉ ra tên mô tả của Activity.
  • Result code để kiểm tra kết quả trả về của Activity sign in.
  • Biến GoogleApiClient đại diện cho client Google (chính là ứng dụng của bạn).
  • TextView để xem trạng thái đăng nhập.
  • ProgressDialog để tạo hiệu ứng chờ đăng nhập.

Bước 4: Chúng ta thêm đoạn code sau ở dưới setContentView trong hàm onCreate:

Trước đó, cần implement một vài interface cho MainActivity:

Dừng lại một chút để mình giải thích.

  • GoogleSignInOptions: Đoạn này sử dụng builder để tạo các tùy chọn yêu cầu quyền truy cập khi đăng nhập. Ở đây chỉ bao gồm thông tin cơ bản (ID, tên, thông tin chung) định nghĩa trong DEFAULT_SIGN_IN; và email (hàm requestEmail).
  • Google API Client: Như đã đề cập ở bước 3, cài đặt cho ứng dụng tự động quản lý API, và chỉ sử dụng api là Google Sign In, với Sign In Options là gso.
  • SignInButton: Cài đặt kích cỡ và đặt các scope quyền ngay trong nút sign in, scope này có thể do mình tự truyền vào dưới dạng ArrayList hoặc lấy ra từ biến gso thông qua hàm getScopeArray.

Bước 5: Hẳn khi viết ứng dụng, chúng ta đều không muốn người dùng phải lặp đi lặp lại thao tác đăng nhập. Vì thế không gì hay hơn là cài đặt sẵn một cơ chế giúp thông tin đăng nhập được lưu lại sau khi đăng nhập thành công.

Để làm được điều này, Google cũng đã cung cấp cho chúng ta một giải pháp là OptionalPendingResult. Chúng ta có hàm handleSignInResult:

Tiếp đến, chúng ta override hàm onStart:

Bước 6: Cài đặt hàm onClick (implement từ View.OnClickListener):

Bước 7: Override hàm onConnectionFailed, hàm này hiện không làm gì ngoài thông báo log:

Bước 8: Override hàm onActivityResult để lấy kết quả trả về từ Google Sign in và xử lý kết quả đó bằng hàm handleSignInResult:

Bước 9: Tạo hàm SignIn, hàm này có tác dụng chuyển hướng ứng dụng đến intent chứa các thao tác đăng nhập Google:

Bước 10: Hàm SignOut, hàm này sẽ xóa phiên đăng nhập của Google trên ứng dụng:

Bước 11: Tạo 2 hàm ẩn / hiện để xử lý ProgressDialog:

Class MainActivity.java đầy đủ như sau:

Bước 12: Chạy thử ứng dụng

  • Khi vào ứng dụng:

Tích hợp mạng xã hội vào ứng dụng Android (Google) - Phần 2

  • Khi nhấn nút Sign in:

Tích hợp mạng xã hội vào ứng dụng Android (Google) - Phần 2

  • Sau khi chọn account hoặc đăng nhập xong:

Tích hợp mạng xã hội vào ứng dụng Android (Google) - Phần 2


Source code tham khảo

Nhằm giúp các bạn thao tác dễ dàng hơn trong quá trình theo dõi bài viết, Kteam hỗ trợ source code tham khảo ngay trong link bên dưới 

GoogleExample.zip


Kết luận

Qua bài này chúng ta đã nắm được cách tích hợp Google Sign in vào ứng dụng để lấy thông tin, xử lý thông tin trả về qua Google API trên Android.

Chúng ta sẽ tiến hành tích hợp GCM, cũng là một phần của Google API, thực hiện gửi tin nhắn qua GOOGLE CLOUD MESSAGING & PUSH NOTIFICATION  

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.


Tải xuống

Tài liệu

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Tích hợp mạng xã hội vào ứng dụng Android (Google) - Phần 2 dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên likeshare để ủng hộ Kteam và tác giả nhé!


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Tác giả/Dịch giả

Khóa học

Khóa học lập trình Android cơ bản

Serial tutorial hướng dẫn lập trình Android cơ bản

Đánh giá

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Phạm Nguyễn Tuấn Thông đã bình luận 7 năm trước

Chạy app bị lỗi rồi ad ơi

 

Không có video.