最近在搞一个android项目,由于我java基础基本为零,android的就更不用说了,才刚到登录界面就过不去了,这是在网上找的一段代码我自己拿来改的,一运行就强制关闭,它是一个Activity用来写登录,还有一个HttpUtil用来处理和server的连接,server端和数据库已经是同事写好的了,只需要把加了密的参数传过去就可以,但是真心不知道是哪的问题,代码在这(不知道怎么让代码关键词高亮显示- -)
这是登录的Activity:
public class Activity_Login extends Activity {
// 声明登录、取消按钮
private Button registerBtn,loginBtn;
// 声明用户名、密码输入框
private static EditText userEditText;
private static EditText pwdEditText;
@Override
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); //声明使用自定义标题
setContentView(R.layout.activity_login);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_login);//自定义布局赋值
super.onCreate(savedInstanceState);
// 通过findViewById方法实例化组件
registerBtn = (Button)findViewById(R.id.registerButtton);
// 通过findViewById方法实例化组件
loginBtn = (Button)findViewById(R.id.loginButton);
// 通过findViewById方法实例化组件
userEditText = (EditText)findViewById(R.id.userEditText);
// 通过findViewById方法实例化组件
pwdEditText = (EditText)findViewById(R.id.pwdEditText);
registerBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Activity_Login.this,Activity_Register.class);
startActivity(intent);
Activity_Login.this.finish();
}
});
loginBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if(validate()){
if(login()){
Intent intent = new Intent(Activity_Login.this,Activity_Main.class);
startActivity(intent);
Activity_Login.this.finish();
}else{
showDialog("用户名称或者密码错误,请重新输入!");
}
}
}
});
}
// 登录方法
public static String key = "asdqwe";
public static String username = userEditText.getText().toString();
public static String pwd = pwdEditText.getText().toString();
public static String encrypt_username = DES.encryptDES(username,key);
public static String encrypt_pwd = DES.encryptDES(pwd,key);
private boolean login(){
String result=query(encrypt_username,encrypt_pwd);
System.out.println("result:"+result);
if(result!=null&&result.equals("0")){
return false;
}else{
return true;
}
}
// 验证方法
private boolean validate(){
String username = userEditText.getText().toString();
if(username.equals("")){
showDialog("用户名称是必填项!");
return false;
}
String pwd = pwdEditText.getText().toString();
if(pwd.equals("")){
showDialog("用户密码是必填项!");
return false;
}
return true;
}
private void showDialog(String msg){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(msg)
.setCancelable(false)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
}
});
AlertDialog alert = builder.create();
alert.show();
}
// 根据用户名称密码查询
private String query(String account,String password){
// 查询参数
//String queryString = "account="+account+"&password="+password;
// url
String url = HttpUtil.BASE_URL+"WebContent/doSignIn.action/";
// 查询返回结果
return HttpUtil.queryStringForPost(url);
}
}
HttpUtil:
public class HttpUtil {
// 基础URL
public static final String BASE_URL="http://192.168.6.28:8080/";
public static HttpPost getHttpPost(String url){
HttpPost request = new HttpPost(url);
return request;
}
public static HttpResponse getHttpResponse(HttpPost request) throws ClientProtocolException, IOException{
HttpResponse response = new DefaultHttpClient().execute(request);
return response;
}
// 发送Post请求,获得响应查询结果
public static String queryStringForPost(String url){
// 根据url获得HttpPost对象
HttpPost request = HttpUtil.getHttpPost(url);
/*
* Post运作传送变量必须用NameValuePair[]数组储存
*/
List <NameValuePair> params = new ArrayList <NameValuePair>();
params.add(new BasicNameValuePair("user.staffId", Activity_Login.encrypt_username));
params.add(new BasicNameValuePair("user.password", Activity_Login.encrypt_pwd));
String result = null;
try {
// 获得响应对象
HttpResponse response = HttpUtil.getHttpResponse(request);
// 判断是否请求成功
if(response.getStatusLine().getStatusCode()==200){
// 获得响应
result = EntityUtils.toString(response.getEntity());
return result;
}
} catch (ClientProtocolException e) {
e.printStackTrace();
result = "网络异常!";
return result;
} catch (IOException e) {
e.printStackTrace();
result = "网络异常!";
return result;
}
return null;
}
// 获得响应查询结果
public static String queryStringForPost(HttpPost request){
String result = null;
try {
// 获得响应对象
HttpResponse response = HttpUtil.getHttpResponse(request);
// 判断是否请求成功
if(response.getStatusLine().getStatusCode()==200){
// 获得响应
result = EntityUtils.toString(response.getEntity());
return result;
}
} catch (ClientProtocolException e) {
e.printStackTrace();
result = "网络异常!";
return result;
} catch (IOException e) {
e.printStackTrace();
result = "网络异常!";
return result;
}
return null;
}
}
真心求指导,谢谢
这是登录的Activity:
public class Activity_Login extends Activity {
// 声明登录、取消按钮
private Button registerBtn,loginBtn;
// 声明用户名、密码输入框
private static EditText userEditText;
private static EditText pwdEditText;
@Override
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); //声明使用自定义标题
setContentView(R.layout.activity_login);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_login);//自定义布局赋值
super.onCreate(savedInstanceState);
// 通过findViewById方法实例化组件
registerBtn = (Button)findViewById(R.id.registerButtton);
// 通过findViewById方法实例化组件
loginBtn = (Button)findViewById(R.id.loginButton);
// 通过findViewById方法实例化组件
userEditText = (EditText)findViewById(R.id.userEditText);
// 通过findViewById方法实例化组件
pwdEditText = (EditText)findViewById(R.id.pwdEditText);
registerBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Activity_Login.this,Activity_Register.class);
startActivity(intent);
Activity_Login.this.finish();
}
});
loginBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if(validate()){
if(login()){
Intent intent = new Intent(Activity_Login.this,Activity_Main.class);
startActivity(intent);
Activity_Login.this.finish();
}else{
showDialog("用户名称或者密码错误,请重新输入!");
}
}
}
});
}
// 登录方法
public static String key = "asdqwe";
public static String username = userEditText.getText().toString();
public static String pwd = pwdEditText.getText().toString();
public static String encrypt_username = DES.encryptDES(username,key);
public static String encrypt_pwd = DES.encryptDES(pwd,key);
private boolean login(){
String result=query(encrypt_username,encrypt_pwd);
System.out.println("result:"+result);
if(result!=null&&result.equals("0")){
return false;
}else{
return true;
}
}
// 验证方法
private boolean validate(){
String username = userEditText.getText().toString();
if(username.equals("")){
showDialog("用户名称是必填项!");
return false;
}
String pwd = pwdEditText.getText().toString();
if(pwd.equals("")){
showDialog("用户密码是必填项!");
return false;
}
return true;
}
private void showDialog(String msg){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(msg)
.setCancelable(false)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
}
});
AlertDialog alert = builder.create();
alert.show();
}
// 根据用户名称密码查询
private String query(String account,String password){
// 查询参数
//String queryString = "account="+account+"&password="+password;
// url
String url = HttpUtil.BASE_URL+"WebContent/doSignIn.action/";
// 查询返回结果
return HttpUtil.queryStringForPost(url);
}
}
HttpUtil:
public class HttpUtil {
// 基础URL
public static final String BASE_URL="http://192.168.6.28:8080/";
public static HttpPost getHttpPost(String url){
HttpPost request = new HttpPost(url);
return request;
}
public static HttpResponse getHttpResponse(HttpPost request) throws ClientProtocolException, IOException{
HttpResponse response = new DefaultHttpClient().execute(request);
return response;
}
// 发送Post请求,获得响应查询结果
public static String queryStringForPost(String url){
// 根据url获得HttpPost对象
HttpPost request = HttpUtil.getHttpPost(url);
/*
* Post运作传送变量必须用NameValuePair[]数组储存
*/
List <NameValuePair> params = new ArrayList <NameValuePair>();
params.add(new BasicNameValuePair("user.staffId", Activity_Login.encrypt_username));
params.add(new BasicNameValuePair("user.password", Activity_Login.encrypt_pwd));
String result = null;
try {
// 获得响应对象
HttpResponse response = HttpUtil.getHttpResponse(request);
// 判断是否请求成功
if(response.getStatusLine().getStatusCode()==200){
// 获得响应
result = EntityUtils.toString(response.getEntity());
return result;
}
} catch (ClientProtocolException e) {
e.printStackTrace();
result = "网络异常!";
return result;
} catch (IOException e) {
e.printStackTrace();
result = "网络异常!";
return result;
}
return null;
}
// 获得响应查询结果
public static String queryStringForPost(HttpPost request){
String result = null;
try {
// 获得响应对象
HttpResponse response = HttpUtil.getHttpResponse(request);
// 判断是否请求成功
if(response.getStatusLine().getStatusCode()==200){
// 获得响应
result = EntityUtils.toString(response.getEntity());
return result;
}
} catch (ClientProtocolException e) {
e.printStackTrace();
result = "网络异常!";
return result;
} catch (IOException e) {
e.printStackTrace();
result = "网络异常!";
return result;
}
return null;
}
}
真心求指导,谢谢
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货