qq_27665781
qq_27665781
2015-08-14 01:00
采纳率: 53.9%
浏览 1.5k

Android登入往服务器传递不到数据

图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • dcxy0
    Q544471255 2015-08-14 02:26
    已采纳

    public class IllegalArgumentException

    抛出的异常表明向方法传递了一个不合法或不正确的参数。

    参数不对。你好像就是把参数拼接在url后面的啊。。。

    点赞 评论
  • qq_27665781
    qq_27665781 2015-08-14 01:02

    public void userloginLoda() {
    myapp = (MyApplication)this.getApplication();
    cid =myapp.getInstance().getCid();
    Toast.makeText(login.this, "CID:"+myapp.cid, Toast.LENGTH_SHORT).show();
    //实例化httpCilent
    JSONArray jsonarray = new JSONArray();//json数组
    httpCilent = new DefaultHttpClient();
    try {
    //设置请求的路径
    httpPost = new HttpPost(url+"/JSONServlet");
    //创建一个用户,用于向服务端发送数据时,存放的实体
    // JSONObject json = new JSONObject();
    JSONObject commonJson = new JSONObject();
    try {
    //将用户填写的账号和密码存放到JSONObject中
    PhoneState phoneState = new PhoneState();
    commonJson.put("loginId",phoneState.getLoginId() );
    commonJson.put("loginKey",phoneState.getLoginKey() );
    // commonJson.put("deviceId",phoneState.getTelephonyManager());
    commonJson.put("deviceId",phoneState.getDeviceId());
    commonJson.put("version",phoneState.getVersion());
    commonJson.put("deviceType",phoneState.getDeviceType() );
    //组装共有参数
    //url = url + "&commonParams=" + commonJson.toString();
    Toast.makeText(login.this, "拼接共有参数:" + url, Toast.LENGTH_LONG).show();
    //组装业务参数
    commonJson.put("cid", cid);
    commonJson.put("phoneNumber", login_accountid.getText().toString());
    commonJson.put("password", login_password.getText().toString());

                //              json.put("params", paramJson.toString());
                url = url + "&params=" + commonJson.toString();
                Toast.makeText(login.this, "拼接业务参数:" + url, Toast.LENGTH_LONG).show();
            } catch (JSONException e1) {
                e1.printStackTrace();
            }
            //设置请求体
            httpPost.setEntity(new StringEntity(commonJson.toString()));
            //执行请求获取响应
            response = httpCilent.execute(httpPost);
            //如果响应的状态码为200时,表示请求响应成功
            if(response.getStatusLine().getStatusCode() == 200){
                //获取响应的实体数据
                entity = response.getEntity();
                StringBuffer sb = new StringBuffer();
                // 通过reader读取实体对象包含的数据
                BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent()));
                //循环读取实体里面的数据
                String s = null;
                while((s = reader.readLine()) != null){
                    sb.append(s);
                }
                //创建一个JSONObject对象存放从服务端获取到的JSONObject数据
                JSONObject datas = new JSONObject(sb.toString());
                //创建一个boolean变量用于存放服务端的处理结果状态
                boolean result = datas.getBoolean("result");
                System.out.println(datas.toString());
                if(result== true){
                    //创建一个intent用于页面之间的跳转
                    Intent intent = new Intent(this, MainActivity.class);
                    //开启跳转
                    startActivity(intent);
                }else{//如果服务端的处理结果状态为false时
                    Toast.makeText(this, "用户不存在或密码错误", Toast.LENGTH_SHORT).show();
                }
            }
        } catch (Exception e) {
        }
    }  直接进catch exception里面了
    
    点赞 评论
  • dcxy0
    Q544471255 2015-08-14 01:05

    你用POST方式请求试试,不要用GET方式

    点赞 评论
  • qq_27665781
    qq_27665781 2015-08-14 01:50

    图片说明// URL里有数据 没传过去

    点赞 评论
  • qq_27665781
    qq_27665781 2015-08-14 01:54

    图片说明 好像报错了

    点赞 评论
  • qq_27665781
    qq_27665781 2015-08-14 02:38

    图片说明 缓过来了 不过这一直是空的 然后就跳转到Exception里面了

    点赞 评论
  • qq_27665781
    qq_27665781 2015-08-14 05:16

    图片说明

    点赞 评论

相关推荐