package com.login.main;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
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 org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class LoginSuccessActivity extends Activity{
private HashMap<String, String>session;
@SuppressWarnings("unchecked")
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.login_success);
//获取从登录成功后界面的传递的参数
session = (HashMap<String, String>) this.getIntent().getBundleExtra("session").getSerializable("sessionid");
//读取session的基本信息,并显示相应的控件
String userid_info=session.get("s_userid");
String username_info=session.get("s_username");
String session_id=session.get("s_sessionid");
//显示相应的内容到控件
TextView userid_show=(TextView)findViewById(R.id.userid_show);
userid_show.setText(userid_info);
TextView username_show=(TextView)findViewById(R.id.username_show);
username_show.setText(username_info);
TextView sessionid_show=(TextView)findViewById(R.id.sessionid_show);
sessionid_show.setText(session_id);
//根据本次session再次获取用户信息
Button getInfo=(Button)findViewById(R.id.getinfo);
getInfo.setOnClickListener(getInfoClick);
}
OnClickListener getInfoClick=new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(getUserInfo()){
Context context = v.getContext();
Intent intent = new Intent(context,
GetUserInfoActivity.class);
//传递session参数,在用户登录成功后为session初始化赋值,即传递HashMap的值
Bundle map = new Bundle();
map.putSerializable("sessionid", session);
intent.putExtra("session", map);
context.startActivity(intent); // 跳转到成功页面
}else{
Toast.makeText(v.getContext(), "数据为空!", Toast.LENGTH_SHORT).show();
}
}
};
private boolean getUserInfo(){
String sess_username=session.get("s_username");
String sess_userid=session.get("s_userid");
String sess_id=session.get("s_sessionid");
DefaultHttpClient mHttpClient = new DefaultHttpClient();
HttpPost mPost = new HttpPost("http://10.0.2.2/web/php/getinfo.php");
List<BasicNameValuePair> pairs = new ArrayList<BasicNameValuePair>();
pairs.add(new BasicNameValuePair("sess_userid", sess_userid));
pairs.add(new BasicNameValuePair("sess_username", sess_username));
pairs.add(new BasicNameValuePair("sess_sessionid", sess_id));
try {
mPost.setEntity(new UrlEncodedFormEntity(pairs, HTTP.UTF_8));
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
HttpResponse response = mHttpClient.execute(mPost);
int res = response.getStatusLine().getStatusCode();
if (res == 200) {
HttpEntity entity = response.getEntity();
if (entity != null) {
String info = EntityUtils.toString(entity);
System.out.println("info-----------"+info);
//以下主要是对服务器端返回的数据进行解析
JSONObject jsonObject=null;
//flag为登录成功与否的标记,从服务器端返回的数据
String flag="";
String userinfo="";
String level="";
String sessionid="";
try {
jsonObject = new JSONObject(info);
flag = jsonObject.getString("flag");
userinfo = jsonObject.getString("info");
level = jsonObject.getString("level");
sessionid = jsonObject.getString("sessionid");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//根据服务器端返回的标记,判断服务端端验证是否成功
if(flag.equals("notempty")){
//为session传递相应的值,用于在session过程中记录相关用户信息
session.put("info_userinfo", userinfo);
session.put("info_level", level);
session.put("info_sessionid", sessionid);
return true;
}
else{
return false;
}
}
else{
return false;
}
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
android获取web服务器端session并验证登陆
共36个文件
class:12个
xml:5个
java:4个
5星 · 超过95%的资源 需积分: 50 44 下载量 193 浏览量
2014-08-14
15:21:18
上传
评论 3
收藏 71KB ZIP 举报
温馨提示
这里有android+php代码结合起来的登录验证功能,功能还是不错的,供大家分享!
资源推荐
资源详情
资源评论
收起资源包目录
GetWebSession.zip (36个子文件)
GetWebSession
login.sql 1KB
GetWebSession
.project 849B
proguard.cfg 1KB
src
com
login
main
GetUserInfoActivity.java 1KB
GetWebSession.java 5KB
LoginSuccessActivity.java 5KB
AndroidManifest.xml 1KB
res
drawable-ldpi
icon.png 2KB
drawable-hdpi
icon.png 4KB
drawable-mdpi
icon.png 3KB
layout
login_success.xml 2KB
get_info.xml 2KB
main.xml 1KB
values
strings.xml 177B
assets
gen
com
login
main
R.java 1KB
default.properties 362B
.classpath 280B
bin
resources.ap_ 13KB
com
login
main
R$layout.class 451B
R$drawable.class 388B
R$attr.class 328B
LoginSuccessActivity$1.class 2KB
GetWebSession.class 5KB
LoginSuccessActivity.class 6KB
GetWebSession$1.class 2KB
R$id.class 710B
GetWebSession$2.class 768B
R.class 503B
R$string.class 415B
GetUserInfoActivity.class 2KB
classes.dex 11KB
GetWebSession.apk 20KB
web
php
conn.php 363B
getinfo.php 1KB
php_json_encode.php 2KB
login.php 1KB
共 36 条
- 1
资源评论
- _Michael2018-11-28多谢了,很好的资源
- lemonCase2018-02-28比较好用,作者好人
小小屈
- 粉丝: 0
- 资源: 26
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Image_1713714819368.png
- 数据可视化 matplotlib 实例.docx
- Python 使用 Matplotlib 绘制甘特图的实践.docx
- matplotlib 中的 cmap 参数介绍.docx
- 基于matlab的毕业设计基于Matlab使用LQR实现车辆轨迹跟踪源码.zip
- 基于Matplotlib 的高互动性可视化系统设计与实现
- matplotlib 数据可视化报告.docx
- 传统网页UI设计在移动应用开发中的应用研究.pdf
- 基于pytorch实现BERT+BiLSTM+CRF实现中文命名实体识别源码.zip
- 校园帮项目,毕业设计/课程设计/javaWeb/SSM
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功