私は Android 用のアプリを開発しています。アプリ開発は初めてです。このアプリでは、ボタンのクリックでインターネット接続をチェックし、結果をログ バッファに出力していますが、ネットワーク チェック ブール値で nullpointerexception が発生して強制的に閉じられます
私のコードは
public class Loginpage extends Activity {
private Context context;
private static String TAG = "DH";
private ConnectivityManager connManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_loginpage);
Button button = (Button) findViewById(R.id.login);
button.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
if(networkisOk())
{
Log.e(TAG, "We have Internet!");
}
else
{
Log.e(TAG, "We don't have Internet!");
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.loginpage, menu);
return true;
}
public final boolean networkisOk()
{
connManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connManager.getActiveNetworkInfo();
if (info != null)
return info.isConnected(); // WIFI connected
else
return false;
}
}
デバッガーを使用すると、その Nullpointer 例外のブレークポイントが行に表示されます
connManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
エラーは次のようになります
04-28 22:46:21.259: E/AndroidRuntime(26936): java.lang.NullPointerException
04-28 22:46:21.259: E/AndroidRuntime(26936):at com.varun.dev_host.Loginpage.networkisOk(Loginpage.java:52)
これをどのように修正する必要があるかについて、誰かが私に手がかりを提供できますか?