Fala pessoal!
Estou ajudando meu primo no TCC dele e cheguei num ponto que simplesmente não entendo. É um projeto para simulação de injeção de material em placas. Eu fiz um jsp que calcula uma matriz com os resultados.
Se vocês jogarem a url http://www.lifeloggin.com/otm.jsp?U=0_45_46_1152_0&F=0_0_-1_0 verão o resultado em 1 ou 2 minutos, que é o tempo razoável mesmo pra resposta.
O problema é que eu preciso rodar isso no android e pegar o resultado. Por ora estou abstraindo o android e testando só no netbeans mesmo. Eu instancio a URLConnection e peço o resultado e simplesmente me dá vazio. E vocês verão que se jogarmos a url direto no browser funciona perfeitamente.
Fiz um jeito de testar, podem dar uma olhada.
O main, só [code]
import java.io.IOException;
import java.net.MalformedURLException;
/**
*
-
@author Edu
*/
public class Main {
public static void main(String args[]) throws MalformedURLException, IOException{
String U;
String F;
F=“0_0_-1”;
U=“0_45_46_1152”;
Conecta con = new Conecta();
System.out.println(“conecta instanciado”);
System.out.print(con.Conecta(“www.lifeloggin.com/otm.jsp”, U, F));
}
}
[/code]
Agora a classe em si:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
/**
*
* @author Edu
Essa classe deve ser usada para acessar o servidor , solicitar o processamento e tratar a resposta.
Primeiro, sete as variáveis U e F com os métodos setU e set F. Elas devolverão Strings que devem ser
usadas na formação da URL.
Feito isso, use o método Conecta passando a URL e os parâmetros setads, U e F
A resposta desse métdo é uma String, mas isso pode ser tratado com o método getMatriz
*
*
* Conecta con = new Conecta();
* String U = con.setU(u); // u é um vetor double
* String F = con.setF(f); // f é um vetor double
* String url="www.lifeloggin.com/otm/index.jsp";
* result[][] =con.Conecta(url,U,F).getMatriz();
*/
public class Conecta {
public Conecta(){
}
String res="";
public String Conecta(String url,String U, String F) throws MalformedURLException, IOException {
//www.lifeloggin.com/otm/index.jsp
URL u = new URL("http://"+url+"?U="+U+"&F="+F);
System.out.println("acessando a url:"+"http://"+url+"?U="+U+"&F="+F);
URLConnection uc = u.openConnection();
uc.setDoOutput(true);
//uc.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
System.out.println("retornando");
InputStream a = uc.getInputStream();
System.out.println("foi a");
InputStreamReader b = new InputStreamReader(a);
System.out.print("foi b");
BufferedReader c = new BufferedReader(b);
System.out.println("foi c");
//BufferedReader in = new BufferedReader(
//new InputStreamReader(uc.getInputStream()));
System.out.println("lendo res");
res = c.readLine().toString();
System.out.println("foi res, fechando c e retornando");
c.close();
System.out.println("já fechou");
System.out.println("res:"+res);
return res;
}
public String setU(int[] U){
String rU="";
for(int i=0;i<U.length;i++){
rU= U.toString()+"_";
}
return rU;
}
public String setF(int[] F){
String rF="";
for(int j=0;j<F.length;j++){
rF= F.toString()+"_";
}
return rF;
}
public double[][] getMatriz(String resp){
double resposta[][];
resposta = new double[23][23];
//1.234*4.1256#1.234*4.1256#1.234*4.1256#1.234*4.1256#1.234*4.1256#1.234*4.1256#1.234*4.1256#
String[] colunas;
String[] linhas;
colunas = resp.split("_");
for(int k=0; k>< colunas.length;k++){
linhas = colunas[k].split("*");
for(int g=0;g<linhas.length;g++){
resposta[k][g]=Double.parseDouble(linhas[g]);
}
}
return resposta;
}
}
Agradeço qualquer ajuda, perdi a madrugada aqui e nada… acho que tá passando algum detalhe. Valeu!
>