连接网络android,Android连接网络

public class HttpExampleActivity extends Activity {

private static final String DEBUG_TAG = "HttpExample";

private EditText urlText;

private TextView textView;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

urlText = (EditText) findViewById(R.id.myUrl);

textView = (TextView) findViewById(R.id.myText);

}

// When user clicks button, calls AsyncTask.

// Before attempting to fetch the URL, makes sure that there is a network connection.

public void myClickHandler(View view) {

// Gets the URL from the UI's text field.

String stringUrl = urlText.getText().toString();

ConnectivityManager connMgr = (ConnectivityManager)

getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();

if (networkInfo != null && networkInfo.isConnected()) {

new DownloadWebpageText().execute(stringUrl);

} else {

textView.setText("No network connection available.");

}

}

// Uses AsyncTask to create a task away from the main UI thread. This task takes a

// URL string and uses it to create an HttpUrlConnection. Once the connection

// has been established, the AsyncTask downloads the contents of the webpage as

// an InputStream. Finally, the InputStream is converted into a string, which is

// displayed in the UI by the AsyncTask's onPostExecute method.

private class DownloadWebpageText extends AsyncTask {

@Override

protected String doInBackground(String... urls) {

// params comes from the execute() call: params[0] is the url.

try {

return downloadUrl(urls[0]);

} catch (IOException e) {

return "Unable to retrieve web page. URL may be invalid.";

}

}

// onPostExecute displays the results of the AsyncTask.

@Override

protected void onPostExecute(String result) {

textView.setText(result);

}

// Given a URL, establishes an HttpUrlConnection and retrieves

// the web page content as a InputStream, which it returns as

// a string.

private String downloadUrl(String myurl) throws IOException {

InputStream is = null;

// Only display the first 500 characters of the retrieved

// web page content.

int len = 500;

try {

URL url = new URL(myurl);

HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.setReadTimeout(10000 /* milliseconds */);

conn.setConnectTimeout(15000 /* milliseconds */);

conn.setRequestMethod("GET");

conn.setDoInput(true);

// Starts the query

conn.connect();

int response = conn.getResponseCode();

Log.d(DEBUG_TAG, "The response is: " + response);

is = conn.getInputStream();

// Convert the InputStream into a string

String contentAsString = readIt(is, len);

return contentAsString;

// Makes sure that the InputStream is closed after the app is

// finished using it.

} finally {

if (is != null) {

is.close();

}

}

}

// Reads an InputStream and converts it to a String.

public String readIt(InputStream stream, int len) throws IOException, UnsupportedEncodingException {

Reader reader = null;

reader = new InputStreamReader(stream, "UTF-8");

char[] buffer = new char[len];

reader.read(buffer);

return new String(buffer);

}

}

...

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值