E ai galera beleza,
Gostaria de poder contar com a ajuda de vocês, tenho um WebService Rest desenvolvido em Java o mesmo já está funcionando, a minha dúvida está na parte do Android na hora de consumir os dados do banco.
Tenho as seguintes classes:
- UsuarioREST
public class UsuarioREST {
private static final String URL_WS = “http://10.1.1.103:8084/ServidorWS/webresources/Usuario/Usuario/get/”;
public Usuario getUsuario(int id) throws Exception {
String[] resposta = new Webservice().get(URL_WS+id);
if (resposta[0].equals("200")) {
Gson gson = new Gson();
Usuario usuario = gson.fromJson(resposta[1], Usuario.class);
return usuario;
} else {
throw new Exception(resposta[1]);
}
}
}
- HttpClient
private static final int JSON_CONNECTION_TIMEOUT = 3000;
private static final int JSON_SOCKET_TIMEOUT = 5000;
private static HttpClient instance;
private HttpParams httpParameters ;
private DefaultHttpClient httpclient;
private void setTimeOut(HttpParams params){
HttpConnectionParams.setConnectionTimeout(params, JSON_CONNECTION_TIMEOUT);
HttpConnectionParams.setSoTimeout(params, JSON_SOCKET_TIMEOUT);
}
private HttpClient() {
httpParameters = new BasicHttpParams();
setTimeOut(httpParameters);
httpclient = new DefaultHttpClient(httpParameters);
}
public static DefaultHttpClient getHttpClientInstace(){
if(instance==null)
instance = new HttpClient();
return instance.httpclient;
}
- Webservice
public final String[] get(String url) {
String[] result = new String[2];
try {
HttpGet httpget = new HttpGet(url);
HttpResponse response;
response = HttpClient.getHttpClientInstace().execute(httpget);
entity = response.getEntity();
if (entity != null) {
result[0] = String.valueOf(response.getStatusLine().getStatusCode());
InputStream instream = entity.getContent();
result[1] = toString(instream);
instream.close();
Log.i("get", "Result from post JsonPost : " + result[0] + " : " + result[1]);
}
} catch (Exception e) {
Log.e("NGVL", "Falha ao acessar Web service", e);
result[0] = "0";
result[1] = "Falha de rede!";
}
return result;
}
- MainActivity
buscarIdBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
id = idEdt.getText().toString();
UsuarioREST rest = new UsuarioREST();
try {
Usuario usuario = rest.getUsuario(Integer.parseInt(id));
txtView.setText(usuario.toString());
} catch (NumberFormatException e) {
e.printStackTrace();
gerarToast("Digite um ID válido!");
} catch (Exception e) {
e.printStackTrace();
gerarToast(e.getMessage());
}
}
});
Essas são minhas classes no cliente android.
Gostaria de executar um GET e pegar dados de uma tabela que estão no banco, o erro que está aparecendo está na classe “Webservice”. segue o erro: “Falha ao acessar Web service”.
O que vocês acham que pode ser.