Android将http xml保存至文件

来源:互联网 发布:6种网络拓扑结构图 编辑:程序博客网 时间:2024/06/07 17:31

private void loadxml(String uri, String fileName) {
        HttpClient httpclipost = null;
        HttpGet httpGet = new HttpGet(uri);
        try {
            httpclipost = m_tools.createHttpClient();
            // HttpGet httpGet = null;
            // 发出HTTP request
            // httpRequest.setEntity(new UrlEncodedFormEntity(null,HTTP.UTF_8));
            // 取得HTTP response
            HttpResponse httpResponse = httpclipost.execute(httpGet);
            // 若状态码为200 ok
            // //Log.d("service StatusCode","" +
            // httpResponse.getStatusLine().getStatusCode());
            if (httpResponse.getStatusLine().getStatusCode() == 200) {
                // 取出回应字串
                String strResult = EntityUtils.toString(httpResponse
                        .getEntity());

                FileOutputStream outStream = getActivity().openFileOutput(
                        fileName, Context.MODE_PRIVATE);
                outStream.write(strResult.getBytes());
                outStream.close();
            } else {
            }

            httpGet.abort();
        } catch (Exception e) {
        }
        if (httpclipost != null) {
            httpclipost.getConnectionManager().shutdown();
        }
    }

 

/***
     * 创建一个HttpClient
     * */
    public HttpClient createHttpClient() {
        HttpParams params = new BasicHttpParams();
        ConnManagerParams.setMaxTotalConnections(params, 10);
        HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
        HttpProtocolParams.setContentCharset(params,
                HTTP.DEFAULT_CONTENT_CHARSET);
        HttpProtocolParams.setUseExpectContinue(params, true);
        HttpConnectionParams.setConnectionTimeout(params, 30000);
        HttpConnectionParams.setSoTimeout(params, 30000);

        SchemeRegistry schReg = new SchemeRegistry();
        schReg.register(new Scheme("http", PlainSocketFactory
                .getSocketFactory(), 80));
        schReg.register(new Scheme("https",
                SSLSocketFactory.getSocketFactory(), 443));

        ClientConnectionManager conMgr = new ThreadSafeClientConnManager(
                params, schReg);

        return new DefaultHttpClient(conMgr, params);
    }