zoukankan      html  css  js  c++  java
  • 安卓项目3

    这几天一直在为一个问题纠结...这是一个连接服务器的类,提供不同的参数返回不同的结果。

     1 public final class ServiceLink {
     2 /*    
     3     功能:连接服务器
     4     API:link(String url);
     5         get(String bundle, String value);
     6 */
     7     static InputStream is = null;
     8     static JSONObject jObj = null;
     9     static String json = "";           
    10     private HttpResponse httpResponse  =null;
    11     private    String url = null;
    12     HttpPost httpPost = new HttpPost(url);
    13 
    14     ServiceLink(){
    15         Log.i("linkService", "ServiceLink");
    16         
    17     }
    18     public void setURL(String urll){
    19         this.url = urll;
    20         Log.i("setURL",url);
    21     }
    22     public JSONObject serviceLogin(String hostname,String username, String password){
    23         List<NameValuePair> params = new ArrayList<NameValuePair>();
    24         params.add(new BasicNameValuePair("operate","login"));
    25         params.add(new BasicNameValuePair("hostname", hostname));
    26         params.add(new BasicNameValuePair("username",username));
    27         params.add(new BasicNameValuePair("password", password));
    28         return putParamsToHttp(params);
    29         
    30     }
    31     public JSONObject serviceClean(){
    32         List<NameValuePair> params = new ArrayList<NameValuePair>();
    33         params.add(new BasicNameValuePair("operate", "clean"));
    34         return putParamsToHttp(params);
    35     }
    36     
    37 
    38     public JSONObject putParamsToHttp(List<NameValuePair> params){
    39         try {
    40             //设置httpPost请求参数
    41             httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
    42             //
    43             httpResponse = new DefaultHttpClient().execute(httpPost);
    44             if(httpResponse.getStatusLine().getStatusCode() == 200){
    45                    HttpEntity httpEntity = httpResponse.getEntity();
    46                     is = httpEntity.getContent();                
    47      
    48             }
    49         } catch (UnsupportedEncodingException e) {
    50             // TODO Auto-generated catch block
    51             Log.i("linkService", "Link failed");
    52         } catch (ClientProtocolException e) {
    53             // TODO Auto-generated catch block
    54             Log.i("linkService", "Link failed");
    55         } catch (IOException e) {
    56             // TODO Auto-generated catch block
    57             Log.i("linkService", "Link failed");
    58         }
    59         try {
    60                 BufferedReader reader = new BufferedReader(new InputStreamReader(
    61                         is, "UTF-8"));
    62                 StringBuilder sb = new StringBuilder();
    63                 String line = null;
    64                 while ((line = reader.readLine()) != null) {
    65                     sb.append(line + "\n");
    66             }
    67                 is.close();
    68                 json = sb.toString();
    69         } catch (Exception e) {
    70                 Log.e("Buffer Error", "Error converting result " + e.toString());
    71                 Log.d("json", json.toString());
    72         }
    73 
    74             // try parse the string to a JSON object
    75         try {
    76                 jObj = new JSONObject(json);
    77         } catch (JSONException e) {
    78                 Log.e("JSON Parser", "Error parsing data " + e.toString());
    79         }
    80 
    81             // return JSON String
    82         return jObj;
    83 
    84     }
    85 }

    我在activity下写一个按键提交,代码如下

                public void onClick(View view) {
                    // TODO Auto-generated method stub
                    Log.i("login","reading JSON!");
                    String hostnamestring = hostname.getText().toString();
                    String usernamestring = username.getText().toString();
                    String passwordstring = password.getText().toString();
                    JSONObject jsonobject= new JSONObject();
                                    ServiceLink servicelink =  new ServiceLink();
                    servicelink.setURL(hostnamestring);
    
                    jsonobject = servicelink.serviceLogin(hostnamestring, usernamestring, passwordstring);
                    Log.i("login",jsonobject.toString());
                } 

    但是会出错

    好吧...我继续看为什么会这样....郁闷

  • 相关阅读:
    Python面向对象-类成员
    python面向对象-继承
    Linux 静态和动态添加路由
    Linux 添加虚拟网卡
    centos7源码包安装Mongodb,并设置开机自启动
    centos7配置静态ip地址
    Python开发【前端篇】JavaScript和Jquery
    Python爬虫【解析库之pyquery】
    Python爬虫 selenium
    Python爬虫【解析库之beautifulsoup】
  • 原文地址:https://www.cnblogs.com/GaiDynasty/p/2947604.html
Copyright © 2011-2022 走看看