一、所需权限:

<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

二、关键方法

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);        }    }    ...}

更多相关文章

  1. 改变Android按钮背景颜色的高效方法
  2. Android(安卓)搜索到的关键字改变颜色
  3. Android(安卓)getWindow().setFlags方法
  4. Android再按一次退出程序实现方法
  5. Android(安卓)之 Window、WindowManager 与窗口管理
  6. Android(安卓)app——活动的生命周期
  7. AndroidX迁移和方法
  8. 浅谈Java中Collections.sort对List排序的两种方法
  9. Python list sort方法的具体使用

随机推荐

  1. Android(安卓)UI之EditText注意点收集
  2. Android(安卓)TextView行间距解析
  3. Android学习笔记---第一天---布局
  4. Android各种资源引用的方法
  5. android:windowSoftInputMode属性使用
  6. Android中Intent对应的category列表大全
  7. setEmptyView
  8. linearLayout 和 relativeLayout的属性区
  9. android的消息处理机制(图+源码分析)——Lo
  10. Android的UI结构试图工具hierarchyviewer