私は Android アプリを作成しています。JSONObjectRequest を作成して、github リポジトリlogo
からパラメーター ( )を取得する必要があります。package.json
これは、JSON リクエストを行うメソッドです
public void askLogoPath(String url) {
JsonObjectRequest req = new JsonObjectRequest(url,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
if (response.has("logo"))
Global.getInstance().setLogo(response.getString("logo"));
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
});
// Adding request to request queue
QueueController.getInstance().addToRequestQueue(req);
}
シングルトン パターンに従うクラスで変数 ( logo
)を定義したGlobal
ので、プログラムのどこからでもアクセスできます。このリクエストを行った後、logo の値を変数に設定したいと思います。
これは、前の関数を呼び出すコードの一部です。
if (full_name != null) {
String url = "https://raw.githubusercontent.com/" + full_name + "/master/";
this.askLogoPath(url + "package.json");
this.setLogoPath(Global.getInstance().getLogo());
}
onResponse
その部分が実行される最後の部分であることに気付いたので、setLogoPath(Global.getInstance.getLogo())
ロゴを実行するとまだnullであるためlogoPath
、前の行に設定できません。これが実行されるまで待ちたいので、nullにはなりません。
これを行うことができるように同期させる方法はありますか?
どうもありがとうございました