2013-05-22 2 views
0

배경안드로이드 연결 예외 분실/관리자

그래서 나는 다양한 장소에서 보내거나 정보를 수신하는 웹 서비스에 연결하는 안드로이드 응용 프로그램을 상속했습니다.

지금과 같이 연결이 실패하면 Android 기기 사용자에게 대부분의 사용자가 애매하다고 여겨지는 오류 메시지가 표시됩니다.

문제

그래서 내가 무엇을 찾고있어 모든 자바 연결 예외를 잡는다 그가를 잃었 사용자를 알려주는 대화 상자를 표시합니다이 안드로이드 응용 프로그램에서 솔루션을 구현하는 방법에 대한 패턴이나 제안이다 인터넷에 연결되어 다시 시도해야합니다.

아이디어가 있으십니까? :-)

편집, 현재의 생각은

나의 현재 생각은이 문제를 해결하기 위해, 또는 좀 더 관리하고 대신 가능한 모든 연결에 문제의 돌봐 골절 예외 처리를 가지고있다 이. 각 통신 인스턴스/클래스는 수퍼 클래스에서 상속 받거나이 클래스를 사용하도록하는 인터페이스를 구현합니다. 이 클래스에는 연결 예외에 대한 논리가 들어 있습니다. 이제는 ConnectionExceptionManager라고 부르 자. 그런 다음 문제는 각 웹 서비스 호출의 각 통신 클래스에서이 문제를 구현하게됩니다. 각 웹 서비스 호출 예외에서 통신 예외를 확인해야하며,이 경우 catch에서 ConnectionExceptionManager를 사용하십시오.

그러나 이렇게하면 각 통신 클래스의 요청 방법에 복사하는 것이 번거로울 수 있습니다.

광산의 현재 아이디어를 개선하기위한 아이디어가 있으십니까?

+0

각각의 모든 연결 관련 예외를 처리하고 해당 예외 처리기의 해당 처리기 코드에서 대화 상자를 만듭니다. 장치가 인터넷 연결을 끊은 경우 사용자에게 적절한 오류 메시지를 표시하고 진행하기 전에 장치가 인터넷에 연결되어 있는지 여부를 확인할 수 있습니다 .. – Ajit

+0

이것은 아마도 내가해야 할 일이지만 그렇게하지 않을 것입니다. 방법. 나는 골절하지 않고 관리하고 싶습니다. – Johan

답변

0

귀하의 질문에서 이해 한 것은 인터넷 관련 작업을 수행하기 전에 인터넷 연결을 점검해야한다는 것입니다. 이를 위해서는 전역 클래스에 public static boolean 함수, 즉 public static boolean isInternetConnected() {...}를 작성하여 함수를 다시 사용할 수 있습니다.

응용 프로그램이 인터넷 연결을 자동으로 확인하도록하려면 IntentService을 백그라운드 및 해당 protected void onHandleIntent (의도 의도)에서 사용할 수 있습니다. isInternetConnected()가 true를 반환하는지 확인하고, 그렇지 않으면 열 수 있습니다 AlertDialog.

응용 프로그램이 실행되는 동안이 백그라운드 서비스를 반복적으로 사용하려면 AlarmManager을 사용할 수 있습니다.

희망이 도움이됩니다.

+0

문제는 인터넷 연결을 확인하는 것이 아니라 잃어 버릴 수있는 예외를 관리하는 것입니다. 사용자가 많은 양의 데이터를 다운로드하기 시작하면 약간의 시간이 걸릴 수 있으며 다운로드 또는 다른 다운로드 또는 기사를 다운로드하는 도중에 연결이 실패하면 사용자는 좋은 오류 메시지를 받아야합니다.아마도 저는 지금 게으른 것처럼 보입니다. 왜냐하면 그것은 내가 있기 때문입니다. 더 이상 다운로드하지 않고 동일한 코드를 구현하는 모든 연결을 찾으려고합니다. 실패한 연결을 관리하고 싶습니다. 내 문제를 처리 할 수있는 OOP 방법 일 것입니다. – Johan