Mam problem z wyciągnięciem zmiennej z classy.
Posiadam dwa Acticity o nazwach FirstEkran.java i LoadingStringCity.java Ta druga wygląda następująco
public class LoadingStringCityy extends AsyncTask<Void,Void,String> {
String JSON_STRING_CITY;
String json_string;
String json_url;
@Override
protected void onPreExecute(){
json_url ="http://przewodnik.tk/Admire/json_get_data.php";
}
@Override
protected String doInBackground(Void... voids) {
try {
URL url = new URL(json_url);
HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
InputStream inputStream = null;
inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder stringBuilder = new StringBuilder();
while((JSON_STRING_CITY = bufferedReader.readLine()) !=null){
stringBuilder.append(JSON_STRING_CITY+"\n");
}
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
return stringBuilder.toString().trim();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onProgressUpdate(Void... values){
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(String result){
/////przypisuje resultat do json_string i go tutaj w konsoli dla przykładu żeby było widać że działa i nie jest pusty
json_string = result;
System.out.println(json_string);
}
public class FirstEkran extends Activity {
String json_string;
String json_string_city;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_first_ekran);
//// i tutaj wywołuję tamtą classę
LoadingStringCity loadingStringCity = new LoadingStringCity();
loadingStringCity.execute();
System.out.println("!!!!!!!!!!"+loadingStringCity.json_url_city); ///wyswietla url podany w tamtej clasie
System.out.println("!!!!!!!!!!!"+loadingStringCity.json_string_city); //wyświetla null
}
}
}
I gdy wywołuję drugą classe z poziomu pierwszej nie chce zwracać mi w wyniku tej zmiennej json_string. json_url natomiast bez problemu zwraca. Więc może macie jakieś pomysły jak tego dokonać
Edit: Więc podczas wywołania classy json_string zostaje wypełniony bo mi to wyświetla ale jak chcę aby zwróciło ten json_string to tamtej classy gdzie wywołuję to już pokazuje null.
Edit:
http://scr.hu/8dy8/9pmjl