W Android utworzę wątek dla połączenia URL. Wewnątrz wątku przechowuję komunikat odpowiedzi w ciągu znaków, który jest deklarowany globalnie. Kiedy uzyskam dostęp do metody method, zwróci ona wartość null.Jak zwrócić wartość z wątku w java?
public class Rate_fetch {
String total="";
public String rate(String dt)
{
new Thread(new Runnable(){
public void run(){
try {
URL url = new URL(tally_ipaddr+"/prorate.jsp?plist="+sss.toString().trim());
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
BufferedReader r = new BufferedReader(new InputStreamReader(in));
String x = "";
String total = "";
x = r.readLine();
int i=0;
while(x.length()>1)
{
total=total+x.toString().trim();
i++;
x = r.readLine();
}
}
catch(Exception e){
return e.toString();
}
}
}).start();
return total;
}
Po wywołaniu metody zwraca wartość null.
Rate_fetch rf=new Rate_fetch();
String amt= rf.rate(prodList);
AsyncTask byłby czystszym sposobem na zrobienie tego. – Swayam
Możesz śledzić pole o nazwie total ze zmienną lokalną o tej samej nazwie. – flup
Ram znalazłeś jakieś rozwiązanie dla powyższego pytania, utknąłem z tym samym problemem. –