【问题标题】:Passing values to web service - Android将值传递给 Web 服务 - Android
【发布时间】:2016-01-19 08:01:13
【问题描述】:

我正在尝试在我们的应用中传递注册详细信息 服务结构是

   FirstName: '',
        MiddleName: '',
        LastName: '',
        EmailAddress: '',
        ReceiveUpdates: false,
        Login: {
            UserName: '',
            Password: '',
        }

我的注册按钮后面的代码是

     AsyncHttpClient client = new AsyncHttpClient();
               RequestParams params = new RequestParams();
                params.put("FirstName", "ALi");
                params.put("MiddleName", "Farhan");
                params.put("LastName", "Ali");
                params.put("EmailAddress", "far67890@gmail.com");
                params.put("ReceiveUpdates", "false");
                params.put("UserName", "farhan6");
                params.put("Password", "cricket");

                        client.post("http://urb-app.com/Buyer/Register", params, new AsyncHttpResponseHandler() {

                            @Override
                            public void onSuccess(String s) {
                                super.onSuccess(s);
                                Toast.makeText(getApplicationContext(), "Success :" + s, Toast.LENGTH_LONG).show();
                                //  tv.append("service_ReloadSqlDB" + "    " + s);
                            }

                            @Override
                            public void onFailure(Throwable throwable) {
                                super.onFailure(throwable);
                                Toast.makeText(getApplicationContext(), "Server Response for onFailure ", Toast.LENGTH_LONG).show();
                            }
                        });

我正在使用 AsyncHttpClient 发布请求,问题是我如何在登录正文中传递用户名和密码

 Login: {
            UserName: '',
            Password: '',
        },

【问题讨论】:

    标签: java android web-services http-post


    【解决方案1】:

    尝试在 HashMap 中创建您的请求参数。你可以做类似HashMap<String, Object> params = new HashMap<>(); 在里面你可以放另一个 HashMap 和你的登录信息。

    HashMap<String, String> login = new HashMap<>();
    login.put("username", "farhan6");
    login.put("password", "cricket");
    

    现在你可以把它放在第一个参数中

    params.put("Login",login);
    

    由此您可以创建一个 RequestParams 对象,如

    RequestParams params = new RequestParams(paramMap);
    

    您可以看到更多帮助here

    【讨论】:

    • 非常感谢,它似乎应该可以工作,但有一个问题,我无法将 hashmap 传递给 RequestParams。它说不能将哈希图转换为字符串。
    • 对不起,错误已解决,我错过了哈希映射初始化中的类型。谢谢:)
    • 非常感谢,但有一个小问题我无法将 hashmap 字符串对象传递给 requestparams。
    • @farhan678 您现在面临的问题是什么?用错误更新您的问题。
    • 我想通了。我的 HTTP 请求有问题。异步 HTTP 有问题,我现在使用 HTTPurlconnection。它现在完美地工作。感谢您的帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-05
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    相关资源
    最近更新 更多