0

I am new to Java & Android and I am doing an android app for Google maps.

I want to get the values of latitude & longitude from onPostExecute to activity from outside Asynctask. I've tried do methods and the result comes with nothing.

Code:

@Override
        public void onPostExecute(String result) {
            super.onPostExecute(result);
            List m = new ArrayList<String>();
            Log.w("res", result.toString());
            StringBuilder sb = new StringBuilder(result);
            StringBuilder sb2 = sb.deleteCharAt(sb.indexOf("}"));
            System.out.println("after delete }" + sb2.toString());
            StringBuilder sb3 = sb2.deleteCharAt(sb2.indexOf("{"));
            System.out.println("after delete {" + sb3.toString());

            String[] lol = sb3.toString().split(",");
            for (int i = 0; i < lol.length; i++) {
                System.out.println("lol  ??" + lol[i]);
                System.out.println("size of lol" + lol.length);
                String lol2[] = lol[i].split(":");
                System.out.println("size of lol2" + lol2.length);
                m.add(lol2[1]);

            }
            System.out.println("lol2  ??" + m.get(0) + "lon" + m.get(1));
            StringBuilder lat_sb = new StringBuilder(m.get(0).toString());
            StringBuilder latsbb = lat_sb
                    .deleteCharAt(lat_sb.indexOf("\""));
            StringBuilder lats = latsbb.deleteCharAt(latsbb.indexOf("\""));
            System.out.println("lats " + lats);
            StringBuilder lon_sb = new StringBuilder(m.get(1).toString());
            StringBuilder lonsbb = lon_sb
                    .deleteCharAt(lon_sb.indexOf("\""));
            StringBuilder lons = lonsbb.deleteCharAt(lonsbb.indexOf("\""));
            System.out.println("lons " + lons);
            double lat = Double.parseDouble(lats.toString().trim());
            System.out.println("lat " + lat);
            double lon = Double.parseDouble(lons.toString().trim());
            System.out.println("lon " + lon);

        }

Map Activity:

public class Maps extends FragmentActivity  {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mapview);


        GoogleMap map = 
            ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.mapview))
                .getMap();
        map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
        map.setMyLocationEnabled(true);
        map.addMarker(new MarkerOptions().position(new LatLng(???,???)).title("Marker"));

        GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext());
    }
}

Please help me with code.

David Aleu
  • 3,922
  • 3
  • 27
  • 48
nnank12
  • 35
  • 5
  • 1
    Have a look at interfaces, they are the answer to your problems! – dave Aug 04 '14 at 15:53
  • please give me an sample on my code.. iam new to java & android – nnank12 Aug 04 '14 at 16:02
  • We are not here to write code for you, why dont you take a look at this question http://stackoverflow.com/questions/12575068/how-to-get-the-result-of-onpostexecute-to-main-activity-because-asynctask-is-a – dave Aug 04 '14 at 16:17

1 Answers1

1

You can use nested classes (put your async task inside your activity and use a global variable) or also you can use statics variables.

cheko506
  • 358
  • 1
  • 11