Alirezaaraby:
Eu tenho um projeto e, nesse projeto, eu deveria Parse Dois JSON Together. Devo Obter Url From First JSON Usando com.squareup.okhttp3:okhttp:4.4.0
E Primeiro JSON é Looks Like:
{
"Url": {
"Url":"https://example.com/Myjson.json"
}
}
E eu quiser obter o "URL" Key From First JSON e colocar esse URL Segundo JSON URL e segundo é Looks Like:
{
"Head":
{
"Version" : "",
"WebSite" : "",
"Instagram" : "",
"Telegram" : "",
},
"Banner" :
{
"Banner_Tittle":"",
"Banner_Description":""
},
"Version_Banner":
{
"Version_Banner_Tittle" : "",
"Version_Banner_Description" : "",
"Version_Banner_Link" : ""
},
"News": [
{
"Tittle" : "",
"Description" : "",
"Image" : "",
}
],
"Class": [
{
"Tittle" : "",
"Description" : "",
"Image" : "",
}
]
}
E meu JSON Parser Classe está abaixo:
private class GetVersion extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(final Void... arg0) {
JSONObject JsonMain = null;
HttpHandler Handler = new HttpHandler();
String jsonStr = Handler.makeServiceCall("MyFirstJSONURL");
if (jsonStr != null) {
try {
JSONObject jsonObj = new JSONObject(jsonStr);
JsonMain = jsonObj.getJSONObject("Url");
URL_2 = JsonMain.getString("Url");
}
}
}
}
E agora eu quero saber como fazer isso com o estúdio Android
A_Singh7:
Declarar duas classes que se estendem AsyncTask (um dos quais você já tenha declarado).
Depois disso, no método OnPostExecute da primeira (GetVersion), executar a segunda classe que leva a string URL e abre uma conexão para recuperar o arquivo JSON e analisá-lo lá.
Algo como :-
private class GetLocation......
{
@Override
protected void onPostCreate (Void v)
{
//Execute second class here
}
}