Sử dụng retrofit2 và mô hình MVP trong phát triển ứng dụng android


Trong bài viết này mình sẽ kết hợp sử dụng MVP và retrofit2, thành một demo hoàn chỉnh.

1.Giới thiệu:

– Sử dụng retrofit2 xem tại đây.
– Bài viết về MVP xem tại đây.

2.Các bước thực hiện:

  • Tạo project mới.
  • Import các thư viện cần sử dụng
  • Tạo cấu trúc project, các package
  • Tạo giao diện
  • Code API
  • Code Presenter
  • Code Adapter

3.Bắt đầu:

  • Các thư viện cần thiết

Ở đây mình sử dụng ButterKnife bạn nào chưa biết dùng thì xem ở đây.

  • Tạo cấu trúc project theo hình bên dưới:

 

  • Tạo giao diện
    • activity_main.xml
  • item.xml
  • Tạo lớp Products.java nằm trong package model.

Sử dụng 2 hàm chuyển đổi json thành Object thông qua thư viện Gson.

  • Code API

-Tạo file Constant.java nằm trang package config:

-Tạo interface APIService.java

– Tạo lớp APIServiceIml.java  triển khai APIService:

Dữ liệu trả về  được đưa vào trong listener để xử lý bên presenter.

-Trong pakage listener tạo interface FectDataCallBack để nhận dữ liệu trả về từ lớp ApiIml ở trên gồm 2 hàm onFetchSuccess nhận dữ liệu trả về, và onFetchFault nhận lỗi trả về.

  • Code Presenter

Tạo một lớp BasePresenter.java lớp này dùng để dùng chung cho tất cả các presenter khác.

Tạo lớp ProductPresenter.java extends BasePresenter.java tùy theo nhu cầu, tùy công ty mà lớp Presenter mỗi người viết khác nhau.

  • Code Adapter cho recycler view (Xem thêm recyclerview tại đây)

Tạo  ProductAdapter.java

Cuối cùng quay lại MainActivity.java gọi Presenter ra để sử dụng.

4.KẾT LUẬN

Hiện nay đa số các project đều sử dụng mô hình MVP vì vậy để đáp ứng nhu cầu công việc, mỗi lập trình viên nên tìm hiểu và phát triển code theo hướng MVP để dễ dàng tiếp cận công việc sau này.

Advertisements

Về haipro912
Đời rất dở nhưng anh vẫn phải niềm nở =))

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

w

Connecting to %s

%d bloggers like this: