Array
(
)

Informações não são recebidas do webservice.

Cleyton Caetano
   - 23 jun 2016

Bom pessoal, estou trabalhando em um aplicativo e estou tentando recuperar algumas informações em json do meu servidor local ou de algum da internet, não ocorre nenhum erro mas os resultados não são exibidos também, segue meu código!
#Códigopackage com.marratecnologia.doctor;
import android.os.AsyncTask;
import android.util.Log;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.HttpURLConnection;
import java.net.URL;
/**
* Created by Cleyton Caetano on 22/06/2016.
*/
public class Webservice extends AsyncTask<Void, Void, String> {
private ConsultaListiner listiner;
private static final String URL_STRING = "http://127.0.0.1/";
public Webservice(ConsultaListiner listiner){
this.listiner = listiner;
}
@Override
protected String doInBackground(Void... voids) {
try {
String resultado = consultarServidor();
return interpretaResultado(resultado);
} catch (IOException e) {
e.printStackTrace();
return null;
} catch (JSONException e) {
e.printStackTrace();
return null;
}
}
private String interpretaResultado(String resultado) throws JSONException {
JSONObject object = new JSONObject(resultado);
JSONArray jsonArray = object.getJSONArray("primeiro");
JSONObject jsonObjectResultado = jsonArray.getJSONObject(0);
String nome = jsonObjectResultado.getString("nome");
String sobrenome = jsonObjectResultado.getString("sobrenome");
Log.d("Nome: ",""+nome);
Log.d("Sobrenome: ",sobrenome);
return nome+" "+sobrenome;
}
public String consultarServidor() throws IOException {
InputStream is = null;
try {
URL url = new URL(URL_STRING);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.connect();
conn.getResponseCode();
is = conn.getInputStream();
Reader reader = null;
reader = new InputStreamReader(is);
char[] buffer = new char[2048];
reader.read(buffer);
return new String(buffer);
}finally {
if (is!=null){
is.close();
}
}
}
@Override
public void onPostExecute(String result){
listiner.onConsultaConcluida(result);
}
public interface ConsultaListiner {
void onConsultaConcluida(String resultado);
}
}


Agora o MainActivity
#Código
protected void onCreate(Bundle savedInstanceState) {
new Webservice(this).execute();
}

@Override
public void onConsultaConcluida(String resultado) {
TextView text = (TextView) findViewById(R.id.hello_world);
text.setText(resultado);
}


Meu json
#Código{"primeiro":{"nome":"Cleyton","sobrenome":"Caetano","email":"meuemail@gmail.com","idade":"20","cidade":"Imperatriz"}}

Só pra constar meu app já está com permissão para internet no manifests!

Cleyton Caetano
   - 23 jun 2016

Alguém pro aê?

Weslei Patrick
|
MVP
Pontos: 200
    24 jun 2016

Boa noite,

Qual o erro que retorna ??

Cleyton Caetano
   - 24 jun 2016


Citação:
Boa noite,

Qual o erro que retorna ??


Boa noite Weslei Patrick, como já informei não retorna erro algum, quando a aplicação vai trocar o texto do TextView simplesmente fica vazio, como se não tivesse recebido nada do webservice.

Jothaz
   - 24 jun 2016

Com a informação que você postou fica praticamente impossível ajudá-lo, a não ser que a pessoa seja versada nas artes divinatórias.

O única caminho que vejo e debugar usando as Ferramentas do desenvolvedor, você consegue monitorar as transações e verificar o retorno no WebService ou erro que retornou e não foi capturado.