2012-01-06 6 views
0

학습하는 동안 Android 용 몇 가지 부수적 인 응용 프로그램을 만들었습니다. PHP 개발자이므로 익숙해지기가 쉽지 않습니다.내 응용 프로그램의 일반 클래스

나는 별도의 클래스에서 두 개의 "일반"기능을 정의 할 수있는 방법이 궁금합니다. 예를 들어, 네트워크 연결이 가능한지 확인하는 기능이 있습니다. 그렇지 않은 경우 사용자가 활성화해야한다는 대화 상자가 표시됩니다. 현재이 기능은 여러 가지 활동에 있습니다. 물론 이상하게 보입니다. 일단 정의하고 필요하면 활동에 포함하는 것이 더 논리적 일 것이라고 생각합니다.

새로운 수업에 넣으려고했는데 원래 수업에 포함 시켰습니다. 그러나 그것은 getBaseContext()가 더 이상 받아 들여지지 않았기 때문에 실패했습니다.

나는 앞으로 나아갈 방법이 궁금합니다. Google이 무엇을해야합니까? 이 메커니즘은 무엇이라고 불 립니 까?

답변

1

정적 메서드를 사용하여 클래스를 만들어야합니다. 이

public class HelperUtils { 
    public static void checkNetworkConnection(Context ctx) {...} 
} 

처럼 그럼 당신은 같은 장소에서 호출 할 수 있습니다

HelperUtils.checkNetworkConnection(this.getContext()); 

현재의 클래스를 가정하면 상황이있다.

다른 유형의 방법이 설명되어있는 일반적인 OOP 개념에 대한 책을 읽어야합니다.

+0

감사합니다! 나는 OOP의 개념과 PHP에서 그들을 처리하는 방법을 알고 있지만, 자바에서 그들에게 익숙해 져야 해 ... 앞으로 많은 작업 :) – user410932

1

예를 들어 클래스를 만들 수 있습니다. NetworkUtils를 호출 할 수 있습니다. 이 클래스에서 정적 메서드 boolean isNetworkConnectionAvailable()을 만들고 사용 가능한 경우 true를 반환하고 그렇지 않으면 false를 반환 할 수 있습니다. 이 클래스에서 다른 정적 메소드 무효 showNoConnectionDialog (활동 활동)을 만들 수 있습니다 -이 방법 당신은 당신이 호출해야 확인하고 네트워크 연결을 처리하는 활동에서

public static void showNoConnectionDialog(Activity activity) { 
    AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    //setting message, listener etc. and finally 
    builder.create().show(); 
} 

와 대화 시작을 만듭니다

if (!NetworkUtils.isConnectionAvailable(getApplicationContext())) { 
    NetworkUtils.showNoConnectionDialog(YourActivityClassName.this) 
} 

나는 이것이 작동해야한다고 생각한다.

관련 문제