gpt4 book ai didi

java - 无法存储响应数据公共(public)以在android中外部访问

转载 作者:行者123 更新时间:2023-12-01 17:17:55 24 4
gpt4 key购买 nike

我的项目中可能会遇到非常奇怪的问题。我可以通过互联网获得 Volley 的响应,在 reposne 之后,我想将其存储在共享首选项中,但问题是,当我获得响应并出现在响应函数中时,它会显示正确的数据,但是当我过去将其保存在外部时响应函数sharedpref给出了0。我将字符串声明为公共(public)的并且是类的顶部,但没有运气。我很奇怪这是什么问题。

SharedPreferences savelogin = getSharedPreferences("login",MODE_PRIVATE);
final SharedPreferences.Editor slogin = savelogin.edit();


String url = "https://datafinderdatabase.xyz/dfapi/FetchId.php?username="+fuser;
StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
userid = response.toString();

}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toasty.error(getApplicationContext(), "Network Issue", Toast.LENGTH_SHORT).show();
}
});

RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
requestQueue.add(stringRequest);

slogin.putString("username",fuser);
slogin.putString("password",fpass);
slogin.putString("userid",userid);
slogin.commit();

最佳答案

这是因为您对 API 的调用是异步的。因此,您返回的结果可能会在该函数完成后进行处理。为了解决这个问题,您可以采用接口(interface)方法,此处针对类似问题进行了解释: wait until firebase retrieves data

或者:您需要将变量保存到 onResponse 函数内的共享首选项。

关于java - 无法存储响应数据公共(public)以在android中外部访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61349706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com