2012-01-06 25 views
0

私は、学習中にAndroid用のいくつかのマイナーアプリを作成しました。 PHP開発者であれば、それに慣れるのは難しいことです。私のアプリケーションの一般的なクラス

私は、別のクラスでいくつかの "一般的な"関数をどのように定義することができるのだろうかと思っています。例えば、私はネットワーク接続が利用可能かどうかをチェックする機能を持っています。そうでなければ、ユーザがそれを有効にする必要があるというダイアログを表示します。現在、その機能は私のいくつかの活動に存在しています。もちろん、それは奇妙に思える - 私はそれが一度それを定義し、必要に応じてアクティビティに含めることがより論理的だろうと思う。

新しいクラスに入れてみましたが、そのクラスを元のアクティビティに含めました。しかし、それは例えばgetBaseContext()がもう受け入れられなかったので失敗しました。

私はどのように進めるのだろうか。私はGoogleで何をすべきですか?このメカニズムは何と呼ばれていますか?

答えて

1

静的メソッドを使用してクラスを作成する必要があります。この

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

のように次に、あなたがこのような任意の場所からそれを呼び出すことができます。

HelperUtils.checkNetworkConnection(this.getContext()); 

は現在のクラスは、コンテキストを持っていると仮定します。

さまざまな種類の方法について説明している一般的なOOPの概念に関する書籍を読む必要があります。

+0

ありがとうございます!私はOOPの概念とPHPでそれらを処理する方法を認識していますが、私はそれらのjavaに慣れる必要があります...多くの先の仕事:) – 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) 
} 

これはうまくいくはずです。

関連する問題