展会信息港展会大全

android开发连接服务器Servlet
来源:互联网   发布日期:2016-01-19 12:20:48   浏览:2279次  

导读:登陆页面输入用 户名和密码,登陆成功后跳转到主页面,失败时显示错误信息。传递参数时用BasicNameValuePair的List以 httpPost setEntity的方式来做,不能用HttpParams。userName = (EditText) this findVi ...

登陆页面输入用 户名和密码,登陆成功后跳转到主页面,失败时显示错误信息。传递参数时用BasicNameValuePair的List以 httpPost.setEntity的方式来做,不能用HttpParams。

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();

}

}

});

赞助本站

人工智能实验室

相关热词: 服务器 Servlet android开发

相关内容
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港