我正在开发一个应用程序。其中一个屏幕会在onCreate()方法之后立即检查网络连接情况。如果网络连接良好,我将调用一个AsyncTask类来加载国家列表,并在spinnerView上显示它。如果没有网络连接,我会向用户显示Toast消息并调用check_Network(AsyncTask)。在这个类的protected Long doInBackground(URL... params)方法中,我会检查网络是否连接,如果连接了,则调用countries AsyncTask,否则我会再次调用check_Network(AsyncTask)。这个过程会一直重复,直到网络连接成功。我的问题是,这种重复检查网络的方式是否正确,请给我建议。很抱歉我的英语不好,请理解下面是我展示的代码
if (CheckNetwork.isOnline(this)) {
try {
new CountryProcess().execute();
} catch (Exception e) {
e.printStackTrace();
}
} else {
Toast.makeText(
getApplicationContext(),
getString(R.string.network_connection_fail)
+ "!", Toast.LENGTH_LONG).show();
new NetWork_connectivity().execute();
}
//.......................//
class NetWork_connectivity extends AsyncTask<URL, Integer,Long>
{
@Override
protected Long doInBackground(URL... params)
{
if (CheckNetwork.isOnline(MainActivity.this)) {
new CountryProcess().execute();
}else
{
new NetWork_connectivity().execute();
}
return null;
}
}