Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Android studio SharedReferences中存储和检索JSONArray_Java_Android_Json_Sharedpreferences - Fatal编程技术网

Java 如何在Android studio SharedReferences中存储和检索JSONArray

Java 如何在Android studio SharedReferences中存储和检索JSONArray,java,android,json,sharedpreferences,Java,Android,Json,Sharedpreferences,我想在SharedReferences中的JSONArray下面存储。如何在SharedReferences中存储JSONArray以及如何检索存储的JSONArray StringRequest stringRequest = new StringRequest(Request.Method.POST, Constants.URL_ATTENDANCE, new Response.Listener<String>() {

我想在SharedReferences中的JSONArray下面存储。如何在SharedReferences中存储JSONArray以及如何检索存储的JSONArray

StringRequest stringRequest = new StringRequest(Request.Method.POST, Constants.URL_ATTENDANCE,
                    new Response.Listener<String>() {
                        @Override
                        public void onResponse(String response) {
                            try {
                                jsonArray = new JSONArray(response); (***)
                                

                            } catch (JSONException e) {


                                e.printStackTrace();
                            }
                        }
                    },
                    new Response.ErrorListener() {
                        @Override
                        public void onErrorResponse(VolleyError error) {


                        }
                    })


StringRequest StringRequest=新的StringRequest(Request.Method.POST,Constants.URL\u),
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
试一试{
jsonArray=新jsonArray(响应);(***)
}捕获(JSONException e){
e、 printStackTrace();
}
}
},
新的Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
}
})
您可以使用

这一条是:

JSONArray jArr = (new Gson()).fromJson(preferences.getString("YOURKEY"), JSONArray.class));

作为一个很好的选择,您可以使用库。这是一个安全、简单的android密钥值存储,使用支持对象存储和加密的共享首选项。

这是否回答了您的问题?在共享首选项中存储为字符串,而不是检索为字符串。您可以在任何需要的地方将字符串转换为JsonArray,比如JsonArray(string);
JSONArray jArr = (new Gson()).fromJson(preferences.getString("YOURKEY"), JSONArray.class));