Android连接服务器Servlet
2013-03-03 13:33:45 来源:WEB开发网核心提示: 登陆页面输入用户名和密码,登陆成功后跳转到主页面,Android连接服务器Servlet,失败时显示错误信息,传递参数时用BasicNameValuePair的List以httpPost.setEntity的方式来做,不能用HttpParams,userName = (EditText) this.findViewB
登陆页面输入用户名和密码,登陆成功后跳转到主页面,失败时显示错误信息。传递参数时用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();
}
}
});
- ››Android 当修改一些代码时,使用什么编译命令可以最...
- ››Android 如何添加一个apk使模拟器和真机都编译进去...
- ››Android 修改Camera拍照的默认保存路径
- ››Android 如何修改默认输入法
- ››android开发中finish()和System.exit(0)的区别
- ››Android手势识别简单封装类
- ››android中查看项目数字证书的两种方法
- ››Android中获取IMEI码的办法
- ››android 相机报错 setParameters failed
- ››Android重启运用程序的代码
- ››Android为ListView的Item设置不同的布局
- ››android bitmap与base64字符串的互相转换
更多精彩
赞助商链接
