android 远程 各不一样的登陆?

xzs1913 发布于 2012/06/12 16:30
阅读 339
收藏 0

最近在研究android,大家都知道android源于java,本人一直都是搞java,看到android这么火爆也想参与到这股高潮,想在这里面取一瓢饮。。。哪想刚研究没多久就遇到了贼多的问题,现在把这个老少皆明的登陆问题和各位分享一下,望哪位大虾给点意见。。。

首先是服务器的代码。。

public void doLoging(HttpServletRequest request,HttpServletResponse response) throws IOException{
  String username=request.getParameter("username");
  String password=request.getParameter("password");
  System.out.println("用户名:"+username+ "密码:"+password);
  PrintWriter out=response.getWriter();
  String msg=null;
  if(username!=null&&username.equals("123")&&password!=null &&password.equals("123")){
   msg="登陆成功";
  }
  else
  {
   msg="登陆失败";
  }
  
  out.print(msg);
  out.flush();
  out.close();
 }

这个很简单没什么问题。。。接下来问题就来了

android客户端,不过我发现客户端登陆方式有很多种,不过效果是一样的,有时间把所有的登陆总结一下,整理出一个最简单的登陆。。。

客户端代码是这样的。。。

public class AndserverActivity extends Activity {
    /** Called when the activity is first created. */
 private HttpClient client=new DefaultHttpClient();
 
 public String login(String username,String password){
  try {
   HttpPost httpPost=new HttpPost("http://192.168.1.107:8080/aaa/test.do?method=login");
   NameValuePair  usernameValue=new BasicNameValuePair("username", username);
   NameValuePair passwordValue=new BasicNameValuePair("password", password);
   List<NameValuePair> list=new ArrayList<NameValuePair>();
   list.add(usernameValue);
   list.add(passwordValue);
   HttpEntity entity=new UrlEncodedFormEntity(list,"utf-8");
   
   HttpResponse response=client.execute(httpPost);
   String result=EntityUtils.toString(response.getEntity(),"utf-8");
   return result;
  } catch (Exception e) {
   e.printStackTrace();
   throw new RuntimeException(e.getMessage());
  }
 }
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        Button button=(Button) findViewById(R.id.btnlogin);
       
        button.setOnClickListener(new OnClickListener() {
   
   @Override
   public void onClick(View v) {
    EditText txtuser=(EditText) findViewById(R.id.txtusername);
    EditText txtpwd=(EditText) findViewById(R.id.txtpassword);
    String username=txtuser.getText().toString();
    String password=txtpwd.getText().toString();
    String result=login(username, password);
    
    Toast.makeText(AndserverActivity.this, result, 1).show();
   }
  });
}

这里不知道哪里有问题,不过登陆总是失败的提示???请哪位大虾赐教。。。

加载中
0
红薯
红薯
要找到问题所在很简单,你在服务器端把获取到的参数打印出来看看是否正确
xzs1913
xzs1913
@红薯 我也觉得没传过去?这个方法第一次用?
红薯
红薯
回复 @xzs1913 : 打印出来为空就说明你客户端没传参数过去,然后检查客户端代码
xzs1913
xzs1913
打印出来为空。。。可以解决?
0
红薯
红薯
还有啊,你的客户端的代码100%有问题, list 里的参数根本没有传给 post 对象,如何传参数呢?
0
红薯
红薯
post 有 setParams 方法,你要把参数传给 HttpPost 对象
0
xzs1913
xzs1913
httppost传的是服务器的ip?  详细点??
返回顶部
顶部