I am trying to send JSON string {"latitude":53.86897577,"longitude":10.66560449,"formatted":"24.04.2015 16:26:35","route":4} to the server every 60 seconds but I am always getting the same data. How can I manage it to  get always new data in the JSON string. I tried to set timer but without success. I can see the data in the xml file how they are changing but how to realize that with serliziation ?
MainActivity class:
    public class MainActivity extends ActionBarActivity {
        int route_number;
        double pLong;
        double pLat;
        String formatted;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
            LocationListener ll = new myLocationListener();
            lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, ll);
            enableGPS(lm);
          PostData sender = new PostData();
        }   
     class myLocationListener implements LocationListener {
    @Override
    public void onLocationChanged(Location location) {
        if (location != null) {
            pLong = location.getLongitude();
            pLat = location.getLatitude();
            SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss",
                    java.util.Locale.getDefault());
            formatted = sdf.format(location.getTime());
        }
                 String jSONString=  convertToJSON(pLong, pLat, formatted);
                 sender.timer(jSONString);
    }
    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
        // TODO Auto-generated method stub
    }
    @Override
    public void onProviderEnabled(String provider) {
        // TODO Auto-generated method stub
    }
    @Override
    public void onProviderDisabled(String provider) {
        // TODO Auto-generated method stub
    }
}
    private String convertToJSON(double pLong, double pLat, String formatted) {
        //envelop the data in JSON format.                  
        Data d = new Data(pLat, pLong, formatted,route_number);
        Gson gson = new GsonBuilder().registerTypeAdapter(Data.class, new DataSerializer()).create();
         //return gson.toJson(d);
         String a = gson.toJson(d);
        // System.out.println(a);
         return a;
    }
    }
PostData class:
public class PostData {
    String jSONString;
    Handler handler = new Handler();
    public PostData() {
        super();
    }
    public String getjSONString() {
        return jSONString;
    }
    public void setjSONString(String jSONString) {
        this.jSONString = jSONString;
    }
    public void timer(String jSONString) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                boolean run = true;
                while (run) {
                   handler.postDelayed(new Runnable() {
                       @Override
                       public void run() {
                           new MyAsyncTask().execute(jSONString);
                       }
                   }, 30000);
                }
            }
        }).start();
    }
    class MyAsyncTask extends AsyncTask<String, Integer, Void> {
        @Override
        protected Void doInBackground(String... params) {
            // TODO Auto-generated method stub
                System.out.println("The output of : doInBackground " +jSONString);
            return null;
        }
    }
}
}
Passed JSON String with fourth key which I am getting from the inner class BroadcastReceiver in my MainActivity:
{
  "latitude":53.86897577,
  "longitude":10.66560449,
  "formatted":"24.04.2015 16:26:35",
  "route":4
}
 
     
    