Właśnie stworzyłem aplikację na Androida do pobierania danych ze strony internetowej. Chcę sprawdzić, czy urządzenie ma połączenie z Internetem, czy nie. Jeśli urządzenie ma połączenie z Internetem, uruchom mój kod i pobierz dane i wyświetl je, w przeciwnym razie, jeśli urządzenie nie ma internetu, a następnie wyświetla komunikat o braku połączenia z Internetem. Próbowałem tego kodu, aby sprawdzić połączenie internetowe. Jak mogę połączyć się z kodem, gdy jest połączenie internetowe? Kodotwórz aplikację na Androida, gdy jest włączone połączenie z Internetem, inaczej nie wyświetlaj komunikatu o połączeniu z Internetem
My Java:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_primary);
new FetchWebsiteData().execute();
}
});
}
private class FetchWebsiteData extends AsyncTask<Void, Void, String[]> {
String websiteTitle, websiteDescription,websiteDescription1,websiteDescription2,websiteDescription3,listValue,listValue1;
ProgressDialog progress;
private Context context;
//check Internet connection.
private void checkInternetConnection(){
ConnectivityManager check = (ConnectivityManager) this.context.
getSystemService(Context.CONNECTIVITY_SERVICE);
if (check != null)
{
NetworkInfo[] info = check.getAllNetworkInfo();
if (info != null)
for (int i = 0; i <info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED)
{
Toast.makeText(context, "Internet is connected",
Toast.LENGTH_SHORT).show();
}
}
else{
Toast.makeText(context, "not conencted to internet",
Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onPreExecute() {
super.onPreExecute();
//some code here
}
@Override
protected String[] doInBackground(Void... params) {
ArrayList<String> hrefs=new ArrayList<String>();
try {
}
} catch (IOException e) {
e.printStackTrace();
}
//get the array list values
for(String s:hrefs)
{
//some code
}
//parsing first URL
String [] resultArray=null;
try {
} catch (IOException e) {
e.printStackTrace();
}
//parsing second URL
String [] resultArray1=null;
try {
} catch (IOException e) {
e.printStackTrace();
}
try{
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String[] result) {
ListView list=(ListView)findViewById(R.id.listShow);
ArrayAdapter<String> arrayAdapter=new ArrayAdapter<String>(getBaseContext(),android.R.layout.simple_list_item_1,result);
list.setAdapter(arrayAdapter);
mProgressDialog.dismiss();
}
}
}
Jak mogę uruchomić kod, gdy połączenie jest otwarte i jak wyświetlić komunikat, gdy aplikacja ma dostęp do Internetu?
świetna robota. Dziękuję – prathik