Это все хорошо, но что я не понял, что происходит дальше?Мне нужны эти последние для дальнейшей обработки, как мне их получить после ИСПОЛНЕНИЯ (ссылка)?
хорошо, вы получите результат: JSONObject locationGeo
, используйте getDouble
для анализа как удвоенное значение, еслиэто правильный тип.На самом деле, глядя в конце этой длинной линии на ее широту, поэтому вам также нужно получить долготу.Дальнейшая обработка должна быть в onPostExecute (он вызывается в потоке пользовательского интерфейса).
пример:
Чтобы предоставить lat
своей деятельности, вы должны передать ссылку на нее в AsyncTask.:
public class GetLocationDownloadTask extends AsyncTask<String, Void,
String> {
MapsActivity act;
GetLocationDownloadTask(MapsActivity act) {
this.act = act;
}
Тогда в вас onPostExecute
вы используете act
следующим образом:
@ Переопределить защищенный void onPostExecute (String result) {super.onPostExecute (result);
if (result != null) {
try {
JSONObject locationObject = new JSONObject(result);
JSONObject locationGeo = locationObject.getJSONArray("results").getJSONObject(0).getJSONObject("geometry").getJSONObject("location").getJSONObject("lat");
act.passLat(locationGeo.getDouble("Longitude")); // not sure if this is correct
затем внутри вашей деятельности выполните правильный конструктор:
GetLocationDownloadTask getLocation = new GetLocationDownloadTask(this);
Я бы предложил использовать здесь WeakReference, чтобы сохранить ссылку на активность в AsyncTask - но это более продвинутое, и вы не после этого - я полагаю,.