2015-12-10 11 views
9

Tôi đang theo mẫu mô hình Trình xem mô hình (MVP) tương tự như ví dụ của Antonio Leiva được tìm thấy tại đây: antoniolg/github.Làm thế nào để tôi bắt đầu một dịch vụ từ Interactor của tôi bằng cách sử dụng mẫu MVP trong android?

Tôi đã chơi xung quanh với nó khá một chút và tôi đã tự hỏi làm thế nào tôi sẽ bắt đầu một service từ lớp interactor. Thông thường tôi đã đặt các cuộc gọi retrofit của mình bên trong số interactor nhưng tôi đã tự hỏi liệu có cách nào để bắt đầu dịch vụ từ số interactor để tôi có thể chạy các cuộc gọi retrofit của mình trong dịch vụ thay thế không. Vấn đề ở đây là tôi không có bối cảnh hoạt động để chạy dịch vụ và nó đánh bại mục đích của MVP nếu tôi phơi bày bối cảnh với interactor.

Tôi cũng không hoàn toàn chắc chắn nếu điều này thậm chí là một điều tốt để làm (bắt đầu dịch vụ từ các tương tác). Tôi đã suy nghĩ về việc bắt đầu dịch vụ từ lớp presenter thay vào đó, nhưng tôi đang chạy về phía kết thúc chết về cách tôi nên tiếp cận điều này.

Nếu có cách nào để giải quyết vấn đề này, vui lòng giúp đỡ một người khác? Hoặc khai sáng cho tôi nếu đây không phải là cách tiếp cận tốt.

+0

bạn có thể đăng một số mã giả cho sự hiểu biết tốt hơn? – Spindizzy

Trả lời

0

Xác định lớp ví dụ Ứng dụng của tôi mở rộng Ứng dụng và xác định phương thức như getAppInstance trả về Đối tượng ứng dụng và sau đó thêm thuộc tính tên của lớp này vào thẻ Áp dụng trong Tệp kê khai rồi gọi phương thức này trong trường hợp sử dụng của bạn để nhận đối tượng ngữ cảnh và bắt đầu dịch vụ của bạn

public class MyApp mở rộng ứng dụng {

private MyApp instance; 

@Override 
public void onCreate() { 
    super.onCreate(); 

    instance = this; 

} 

@Override 
public void onTerminate() { 
    super.onTerminate(); 

    instance = null; 
} 

public MyApp getInstance(){ 
    return instance; 

} 

}

+0

Bạn có thể cung cấp các ví dụ về mã hoặc các chi tiết khác không? Câu trả lời là một chút nghèo trong nội dung :-) – Fabien

+0

Xác định lớp ví dụ Ứng dụng của tôi mở rộng Ứng dụng và xác định phương thức như getAppContext trả về Ngữ cảnh abd sau đó thêm tên của lớp này Thẻ USERqtion trong Manifest th3n gọi phương thức này trong trường hợp sử dụng của bạn để nhận ngữ cảnh đối tượng và bắt đầu dịch vụ của bạn –

+0

Vui lòng chỉnh sửa câu trả lời của bạn, không phải nhận xét ;-) – Fabien

Các vấn đề liên quan