使用 Android Volley 发布和获取 Json 数据

米西奥克斯

我正在尝试使用 Android Volley 发布数据并接收 Json 响应。我有下面的代码,我似乎看不到错误在哪里,因为我在网上找到的所有代码都与此类似。我附上了 android 给出的消息的截图。

public String rBody = null;//Is Initialized also tried (String)null

  public void loadSharedPreferencesData(){
    SharedPreferences sharedPre = getSharedPreferences("userinfo", Context.MODE_PRIVATE);
    final String loggedStatus = sharedPre.getString("isLogged", "0");
    final String loggedUserId = sharedPre.getString("userId", "0");

    String loginUrl         = "http://dataUrl[![enter image description here][1]][1]/startvapp-ci/appdata/getsession/";

    JsonObjectRequest  jsonObjectRequest  = new JsonObjectRequest(Request.Method.POST, loginUrl, rBody ,
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response){
                    //returnResponse = response.toString();
                    //Toast.makeText(getApplicationContext(), returnResponse , Toast.LENGTH_LONG).show();
                    System.out.println(response);
                    //Toast.makeText(getApplicationContext(), "Error in Response" , Toast.LENGTH_LONG).show();
                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    //Save this to some global variable
                    Toast.makeText(getApplicationContext(), "Error in Response" , Toast.LENGTH_LONG).show();
                }
            }
    ){
        @Override
        protected Map<String,String> getParams(){
            Map<String,String> params = new HashMap<String, String>();
            params.put(KEY_SESS_USERID,loggedUserId);
            params.put(KEY_SESS_STATUS,loggedStatus);
            return params;
        }
    };
    MySingleton.getInstance(this.getApplicationContext()).addToRequestQueue(jsonObjectRequest);
}

Android Studio 错误

布莱恩

该错误消息指出该jsonRequest参数的类型错误。它需要 a JSONObject,但您提供的是 a StringrBody变量)。

如果rBody字符串是有效的 JSON 字符串,那么您可以简单地将该字符串传递给JSONObject构造函数。然后将 this 传递JSONObjectJsonObjectRequest构造函数而不是rBody.

JSONObject jsonRequest = new JSONObject(rBody);

JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(
        Request.Method.POST, loginUrl, jsonRequest,
        new Response.Listener<JSONObject>() {
            // Response Listener code here
        },
        new Response.ErrorListener() {
            // Error Listener code here
        });

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Volley库发布JSON数据?

Android Volley将json数据发布到服务器

无法使用android-volley从JSON数组获取数据到自定义listview

Android Studio-使用Volley从服务器获取JSON数据

我无法使用JSON和Volley将请求中的数据共享给其他android活动

无法在Android中[使用Volley Library]提取JSON数据

如何使用Android Volley将数据发布到mysql中

使用Volley PHP发布数据

使用 volley 从 json 文件中获取新数据

Android Volley onResponse获取数据

使用Volley进行Android Studio JSON解析:获取NullPointerException

在Android Studio中使用GET方法和Volley解析JSON

Android Kotlin Volley 如何发送 JSON 数据

使用Volley从JSON获取密钥

如何使用Volley解析JSON数据

在Android Volley中将参数作为json发布

在Android中使用Volley提取数据

如何在Android中使用Volley在Json Object中发布Json数组

Android Volley无法获取数据作为响应

Json数据已发布到服务器,但始终获取“ com.android.volley.ParseError:org.json.JSONException:输入的字符0的结尾”

提取JSON数据时如何在Volley中使用Android分页

使用Volley进行Android JSON解析

使用 volley 在 android 中检索 Json 对象

使用Volley Android将发布数据发送到服务器

通过Android-Volley获取JSON对象

如何使用Volley通过JSON通过mysql从mysql获取多行数据

花费太多时间使用php volley库从服务器获取大型json数据

使用 Volley 进行任务时未从 JSON 文件中获取数据

如何使用 volley 获取多级 JSON?