专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Android

运行程序出错奇怪异常,困扰了好久!请大家来帮着看看~

发布时间:2010-05-30 10:51:25 文章来源:www.iduyao.cn 采编人员:星星草
运行程序出错奇怪错误,困扰了好久!请大家来帮着看看~~
Java code

package com.studio.android.chp07.ex02;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

public class HttpPostConnection extends Activity {
     private boolean isAuthenticated;
     private ArrayList<BasicNameValuePair> pairs;
     private DefaultHttpClient httpclient;
     private HttpPost httppost;
     private InputStream content;
     private String returnConnection;
     
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        TextView tv = new TextView(this);
 
        Map<String,String> vars = new HashMap<String,String>();
        /*post请求的内容mydata="Hello, Android"*/ 
        vars.put("mydata", "Hello, Android");
        parameterHttp("http://5billion.com.cn/post.php", vars);
        
        doPost();
        tv.setText(this.returnConnection);
        this.setContentView(tv);
    }
     
     public void parameterHttp(String url, Map<String,String> variables) {
          this.httpclient = new DefaultHttpClient();
          this.httppost = new HttpPost(url);
          this.pairs = new ArrayList();
          if(variables != null){
               Set keys = variables.keySet();
               for(Iterator i = keys.iterator(); i.hasNext();) {
                    String key = (String)i.next();
                    pairs.add(new BasicNameValuePair(key, variables.get(key)));
               }
          }
     }
     
     public String doPost(){
          try {
              UrlEncodedFormEntity p_entity = new UrlEncodedFormEntity(pairs, "ISO-8859-1");
          
              /** 将POST数据放入http请求*/
              httppost.setEntity(p_entity);
          
              /** 发出实际的HTTP POST请求 */
              HttpResponse response = httpclient.execute(httppost);
              HttpEntity entity = response.getEntity();
              content = entity.getContent();
              this.returnConnection = convertStreamToString(content);
              Log.d("HttpPostConnection",">>>>>>>>>>>>>>> " + returnConnection);
              int status_code = response.getStatusLine().getStatusCode();
              if (status_code >= 300) {
                  this.isAuthenticated = false;
              } else {
                  this.isAuthenticated = true;
              }
          } catch (UnsupportedEncodingException uee) {
              // 异常处理
          } catch (IOException ioe) {
              // 异常处理
          } catch(IllegalStateException ise) {
              // 异常处理
          }
          return returnConnection;
     }
     
     public String convertStreamToString(InputStream is) {
          BufferedReader reader = new BufferedReader(new InputStreamReader(is));
          StringBuilder sb = new StringBuilder();

          String line = null;
          try {
               while ((line = reader.readLine()) != null) {
                    sb.append(line + "n");
               }
          } catch (IOException e) {
               e.printStackTrace();
          } finally {
               try {
                    is.close();
               } catch (IOException e) {
                    e.printStackTrace();
               }
          }

          return sb.toString();
     }

     public boolean isAuthenticated() {
          return isAuthenticated;
     }
}

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: