Stavo provando a connettere il dispositivo alla rete seguendo la documentazione ufficile: http://developer.android.com/trainin...onnecting.html mi da un problema. Nel metodo doInBackground() non mi riconosce downloadUrl() come mai?
codice:
package com.example.networkconnection;
import java.io.IOException;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.app.DownloadManager;
import android.content.Context;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity {
private EditText urlText;
private TextView textView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
urlText = (EditText) findViewById(R.id.myUrl); //dove metto l'url
textView = (TextView) findViewById(R.id.myText); // textView
}
/*Verifico che ci sia una connessione internet*/
public void myClickHandler(View view) {
//ottengo l'indirizzo web dalla urlText
String stringUrl = urlText.getText().toString(); //la converto in stringa
ConnectivityManager connMgr = (ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
new DownloadWebpageTask().execute(stringUrl); //stringurl è quello che devo passare
} else {
textView.setText("Manca la connessione");
}
}
private class DownloadWebpageTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String ... urls) { //passo come parametro l'url della pagina web
try {
return downloadUrl(urls[0]); //prende la stringa per trasformarlo in oggetto URL
} catch (IOException e) {
return "Errore nel ricevere i dati";
}
}
@Override
protected void onPostExecute(String result) {
textView.setText(result);
}
}
}