2012-07-07 5 views
0

나는 간단한 활동을 보았습니다 : A는 추상적이고 B, C 등은 A로부터 상속받습니다. 네트워크 연결을 처리 할 장소가 필요하며 배치하는 것이 좋습니다. 부모 활동 (A)에서. 그러나, 나는 자식 활동 (B, C)에서 코드 실행을 멈출 수있는 방법을 알지 못한다. 또한 자식 활동 (B, C)의 onResume 메소드 각각에서 실행해서는 안되는 추가 네트워크 코드가 있습니다.네트워크 연결 확인을위한 장소

따라서 부모 onCreate에서 "if"와 떨어져있는 방법이 있습니까? onResume 자식에서 onCreate + "if"자식에서 "if"? 이 접근법은보다 간결해야합니다.

+1

로 클래스 B의와 C의 onCreate()onResume()에서 통화를 만들 어떤 방법으로 네트워크 연결을 처리 하시겠습니까? 특정 네트워크 상태를 감지하려고합니까? 나는 당신이 무엇을 요구하고 있는지 정말로 확신하지 못한다. – WindyB

+0

나는 WindyB와 함께있다 - 나는 또한 무엇이 여기에 묻히고 있는지 이해하지 못한다. – Squonk

+0

네트워크에서 유틸리티 클래스의 정적 메서드를 확인하고 네트워크 요청을하기 전에 호출하지 않는 이유는 무엇입니까? 네트워크가 다시 시작된 후 네트워크 호출을하기 전에 네트워크가 전환 될 가능성이 있습니다. –

답변

0

isNetworkAvliable과 같은 추상 활동 A에서 부울을 유지합니다. Oncreate of A 또는 onResume of A (모든 작업 전에 B와 C의 super.onResume을 호출해야 함)에서 네트워크 존재를 확인하고 if (isNetworkAvliable)에 네트워크를 배치하십시오.

0

이 시도는 ... B와 C가 A로부터 상속하는 경우에도

  1. , 내가 처리 네트워크를위한 방법 을 B에서 실행하고 C 당신이 명시 적으로 호출 할 때까지 할 것 같아요.

  2. 그리고 당신은 클래스 A의 네트워크 연결을 처리하려면, 다음 public void handleConnection()로 클래스 A의 메소드는, 다음에서 super.handleConnection();