首先感谢原作者
参考:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=185901
具体判断代码如下:
[mw_shl_code=java,true]/**
* 检查用户登陆,服务器通过xml解析得到的值来判断是否登录成功(
* 服务器返回int=1登陆成功,int=0失败),登陆成功后根据isRememberMe来判断是否保留密码(用户名是会保留的),
* 如果连接服务器超过3秒,也算连接失败.
*
* @param userName
* 用户名
* @param password
* 密码
* @param validateUrl
* */
private boolean validateLocalLogin(String userName, String password){
// 用于标记登陆状态
boolean loginState = false;
xmlPullLoginBiz = new XmlPullLoginBiz(this);
try {
if (xmlPullLoginBiz.getLoginSession(userName, password) == null) {
isNetError = true;
return false;
}
// 读取服务器的登录状态码
int loginStateInt = xmlPullLoginBiz.geTypeId(userName, password);
if (loginStateInt == 1) {
loginState = true;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
isNetError = true;
}
// 登陆成功
if (loginState) {
if (isRememberMe()) {
saveSharePreferences(true, true);
} else {
saveSharePreferences(true, false);
}
} else {
// 如果不是网络错误
if (!isNetError) {
clearSharePassword();
}
}
if (!rememberMe.isChecked()) {
clearSharePassword();
}
Log.i("info", "tof="+loginState);
return loginState;
}[/mw_shl_code]
现在log的结果是,总是false。而且在catch里加上isNetError = true;这句就一直是提示网络异常,不加上这句就一直提示用户名和密码不正确
但是输入正确的用户名和密码,log的结果却得到返回值是1,也就是说应该得到true
是不是我判断写错了?求解
注:
1、xmlPullLoginBiz.getLoginSession(userName, password)这句话为null时表示网络异常
2、xmlPullLoginBiz.geTypeId(userName, password);得到xml解析的返回值1或0
参考:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=185901
具体判断代码如下:
[mw_shl_code=java,true]/**
* 检查用户登陆,服务器通过xml解析得到的值来判断是否登录成功(
* 服务器返回int=1登陆成功,int=0失败),登陆成功后根据isRememberMe来判断是否保留密码(用户名是会保留的),
* 如果连接服务器超过3秒,也算连接失败.
*
* @param userName
* 用户名
* @param password
* 密码
* @param validateUrl
* */
private boolean validateLocalLogin(String userName, String password){
// 用于标记登陆状态
boolean loginState = false;
xmlPullLoginBiz = new XmlPullLoginBiz(this);
try {
if (xmlPullLoginBiz.getLoginSession(userName, password) == null) {
isNetError = true;
return false;
}
// 读取服务器的登录状态码
int loginStateInt = xmlPullLoginBiz.geTypeId(userName, password);
if (loginStateInt == 1) {
loginState = true;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
isNetError = true;
}
// 登陆成功
if (loginState) {
if (isRememberMe()) {
saveSharePreferences(true, true);
} else {
saveSharePreferences(true, false);
}
} else {
// 如果不是网络错误
if (!isNetError) {
clearSharePassword();
}
}
if (!rememberMe.isChecked()) {
clearSharePassword();
}
Log.i("info", "tof="+loginState);
return loginState;
}[/mw_shl_code]
现在log的结果是,总是false。而且在catch里加上isNetError = true;这句就一直是提示网络异常,不加上这句就一直提示用户名和密码不正确
但是输入正确的用户名和密码,log的结果却得到返回值是1,也就是说应该得到true
是不是我判断写错了?求解
注:
1、xmlPullLoginBiz.getLoginSession(userName, password)这句话为null时表示网络异常
2、xmlPullLoginBiz.geTypeId(userName, password);得到xml解析的返回值1或0
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货