Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android通過HttpClient訪問服務器的servlet

Android通過HttpClient訪問服務器的servlet

編輯:關於Android編程

登陸頁面輸入用戶名和密碼,登陸成功後跳轉到主頁面,失敗時顯示錯誤信息。   傳遞參數時用BasicNameValuePair的List以httpPost.setEntity的方式來做,不能用HttpParams。   [java]   userName = (EditText) this.findViewById(R.id.editTextUserName);   password = (EditText) this.findViewById(R.id.editTextPassword);   errorMsg = (TextView) this.findViewById(R.id.textViewLoginMsg);   Button loginBtn = (Button) this.findViewById(R.id.btnLogin);   loginBtn.setOnClickListener(new OnClickListener() {             @Override       public void onClick(View arg0) {           String result;           /* 發送部分 */           try {               HttpClient httpClient = new DefaultHttpClient();               String address = strUrl;               HttpPost httpPost = new HttpPost(address);               List<BasicNameValuePair> params = new LinkedList<BasicNameValuePair>();               params.add(new BasicNameValuePair("username", userName.getText().toString()));               params.add(new BasicNameValuePair("password", password.getText().toString()));               httpPost.setEntity(new UrlEncodedFormEntity(params, "utf-8")); //將參數填入POST Entity中                              HttpResponse httpResponse = httpClient.execute(httpPost);               /* 接收 */               if (httpResponse.getStatusLine().getStatusCode() == 200) {                   result = EntityUtils.toString(httpResponse.getEntity());                   /* json文本解析 */                   JSONTokener jsonParser = new JSONTokener(result);                                      JSONObject jsonResult = (JSONObject) jsonParser.nextValue();                   String status = jsonResult.getString("loginStatus");                   String outMessage = jsonResult.getString("outMessage");                   if(status.equals("true")){                             Intent i = new Intent(LoginActivity.this, MainActivity.class);                       i.putExtra("username", outMessage);                       startActivityForResult(i, FIRST_REQUEST_CODE);                   } else {                       errorMsg.setVisibility(View.VISIBLE);                       errorMsg.setText(outMessage);                   }               } else {                   errorMsg.setVisibility(View.VISIBLE);                   errorMsg.setText("網絡連接問題。CODE:" + httpResponse.getStatusLine().getStatusCode());               }           } catch (JSONException e) {               e.printStackTrace();           } catch (UnsupportedEncodingException e) {               e.printStackTrace();           } catch (ClientProtocolException e) {               e.printStackTrace();           } catch (IOException e) {               e.printStackTrace();           }             }   });  
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved