0

接続クラスファイルからconnectivityCheckメソッドを呼び出す方法は?[アンドロイド]

たとえば、接続クラスファイルのコード

public class ConnectivityMgr {
 /*
 *@return boolean return true if the application can access the internet
 */
 public static boolean isNetworkAvailable(Context context) {
     ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
     if (connectivity != null) {
        NetworkInfo[] info = connectivity.getAllNetworkInfo();
        if (info != null) {
           for (int i = 0; i < info.length; i++) {
              if (info[i].getState() == NetworkInfo.State.CONNECTED) {
                 return true;
              }
           }
        }
     }
     return false;
  }
}

たとえば、final.last.testというパッケージの下にある場合、クラスからこのメソッドを呼び出すにはどうすればよいですか。

クラスファイルをインポートして宣言する必要がありますか、またはそのようなものを使用してみました

if ( isNetworkAvailable(getApplicationContext()) == true ) {}

そしてそれは私にNullPointerException。「getApplicationContext()」などの使い方を間違えたのでしょうか。

インポート、宣言、..、this.getApplicationContext()/ this / getBaseContext()に変更してみましたが、それでも機能しません。

それとも「意図」が必要ですか?

私がしたことは:

import final.last.test.ConnectivityMgr; 
ConnectivityMgr cm; 

try { 

if ( cm.isNetworkAvailable(getApplicationContext() ) 
{ //display yes } 

} Catch as (Exception e) 
{ Toast.makeText(getApplicationContext(), "Error with connectivity : " + e.getCause() + " , " + e.toString() , Toast.LENGTH_LONG).show(); 

// Log.d("Error With Connectivity : ","Failed to do something due to : " + e.getMessage()); 

->ログが表示されることはありません。そのため、代わりにトーストを使用しました。

->トーストに「接続エラー:null、java.lang、NullPointerException – </ p>

4

2 に答える 2

0
        URL myurl = new URL(url);
        URLConnection connection = myurl.openConnection();
        connection.setConnectTimeout(20 * 1000);
        HttpURLConnection httpConnection = (HttpURLConnection) connection;
        int responseCode = httpConnection.getResponseCode();
        if (responseCode == HttpURLConnection.HTTP_OK)
        {
            httpConnection.disconnect();
            //......

        }
        else
        {
            httpConnection.disconnect();
            throw new Exception(
                    "Http Error code: " + String.valueOf(responseCode));
        }
于 2012-04-23T04:57:30.063 に答える
0
 public static boolean isNetworkAvailable(Context context) {
        boolean mBoolean = false;
        ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        if (connectivity != null) {
            NetworkInfo[] info = connectivity.getAllNetworkInfo();
            if (info != null) {
                for (int i = 0; i < info.length; i++) {
                    if (info[i].getState() == NetworkInfo.State.CONNECTED) {
                        mBoolean = true;
                    }
                }
            }
        }
        return mBoolean;
    }

それから

if ( isNetworkAvailable(getApplicationContext())) {}
于 2012-04-23T04:54:52.677 に答える