Android Open Source - WhatsUp Geo Locations Retrieve






From Project

Back to project page WhatsUp.

License

The source code is released under:

GNU General Public License

If you think the Android project WhatsUp listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package nu.placebo.whatsup.network;
// ww  w. ja va  2  s . co  m
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import nu.placebo.whatsup.constants.Constants;
import nu.placebo.whatsup.model.GeoLocation;

import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.ResponseHandler;
import org.apache.http.impl.client.BasicResponseHandler;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

/**
 * Retrieves GeoLocations within the specified range from the server.
 */

public class GeoLocationsRetrieve extends
    AbstractNetworkOperation<List<GeoLocation>> {

  private double latitudeA;
  private double longitudeA;
  private double latitudeB;
  private double longitudeB;
  private boolean hasErrors;

  public GeoLocationsRetrieve(double latitudeA, double longitudeA,
      double latitudeB, double longitudeB) {
    this.latitudeA = latitudeA;
    this.longitudeA = longitudeA;
    this.latitudeB = latitudeB;
    this.longitudeB = longitudeB;
  }

  public GeoLocationsRetrieve(double[] area) {
    this.latitudeA = area[0];
    this.longitudeA = area[1];
    this.latitudeB = area[2];
    this.longitudeB = area[3];
  }

  public OperationResult<List<GeoLocation>> execute() {
    this.hasErrors = true;
    HttpResponse response = NetworkCalls
        .performGetRequest(Constants.API_URL + "nearby/"
            + this.latitudeA + "," + this.longitudeA + ","
            + this.latitudeB + "," + this.longitudeB + ".json");
    ResponseHandler<String> handler = new BasicResponseHandler();
    String result = null;
    try {
      result = handler.handleResponse(response);
    } catch (ClientProtocolException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
    List<GeoLocation> geoLocations = this.parse(result);

    if (response != null) {
      if(hasErrors) {
        geoLocations = null;
      }
      return new OperationResult<List<GeoLocation>>(
          this.hasErrors, response.getStatusLine().getStatusCode(),
          response.getStatusLine().getReasonPhrase(), geoLocations);
    } else {
      return new OperationResult<List<GeoLocation>>(
          hasErrors, 0, "Problems with the network", null);
    }

  }

  private List<GeoLocation> parse(String result) {
    List<GeoLocation> geoLocations = new ArrayList<GeoLocation>();
    if (result != null) {
      try {
        JSONArray json = new JSONArray(result);
        for (int i = 0; i < json.length(); i++) {
          JSONObject j = json.getJSONObject(i);
          geoLocations.add(new GeoLocation(j));
        }
        this.hasErrors = false;
      } catch (JSONException e) {
        e.printStackTrace();
      }
    }
    return geoLocations;
  }
}




Java Source Code List

nu.placebo.whatsup.activity.AnnotationActivity.java
nu.placebo.whatsup.activity.CreateAnnotationActivity.java
nu.placebo.whatsup.activity.CreateCommentActivity.java
nu.placebo.whatsup.activity.ListViewActivity.java
nu.placebo.whatsup.activity.LogInActivity.java
nu.placebo.whatsup.activity.LoginRegTabActivity.java
nu.placebo.whatsup.activity.MapViewActivity.java
nu.placebo.whatsup.activity.Marker.java
nu.placebo.whatsup.activity.MenuHelper.java
nu.placebo.whatsup.activity.PositionPickerActivity.java
nu.placebo.whatsup.activity.RefPointActivity.java
nu.placebo.whatsup.activity.RegisterActivity.java
nu.placebo.whatsup.android.os.AsyncTask.java
nu.placebo.whatsup.balloon.BalloonItemizedOverlay.java
nu.placebo.whatsup.balloon.BalloonOverlayView.java
nu.placebo.whatsup.constants.Constants.java
nu.placebo.whatsup.ctrl.SessionHandler.java
nu.placebo.whatsup.datahandling.DataProvider.java
nu.placebo.whatsup.datahandling.DataReturnListener.java
nu.placebo.whatsup.datahandling.DataReturn.java
nu.placebo.whatsup.datahandling.DatabaseConnectionLayer.java
nu.placebo.whatsup.datahandling.DatabaseHelper.java
nu.placebo.whatsup.model.Annotation.java
nu.placebo.whatsup.model.Comment.java
nu.placebo.whatsup.model.ExtendedOverlayItem.java
nu.placebo.whatsup.model.GeoLocation.java
nu.placebo.whatsup.model.ListMarker.java
nu.placebo.whatsup.model.ReferencePoint.java
nu.placebo.whatsup.model.SessionInfo.java
nu.placebo.whatsup.network.AbstractNetworkOperation.java
nu.placebo.whatsup.network.Action.java
nu.placebo.whatsup.network.AnnotationCreate.java
nu.placebo.whatsup.network.AnnotationRetrieve.java
nu.placebo.whatsup.network.CommentCreate.java
nu.placebo.whatsup.network.GeoLocationsRetrieve.java
nu.placebo.whatsup.network.Login.java
nu.placebo.whatsup.network.NetworkCalls.java
nu.placebo.whatsup.network.NetworkOperationListener.java
nu.placebo.whatsup.network.NetworkOperation.java
nu.placebo.whatsup.network.NetworkTask.java
nu.placebo.whatsup.network.OperationResult.java
nu.placebo.whatsup.network.RegisterOperation.java
nu.placebo.whatsup.network.SessionTest.java
nu.placebo.whatsup.util.GeoPointUtil.java
nu.placebo.whatsup.util.Geodetics.java
nu.placebo.whatsup.util.ValidationUtil.java
nu.placebo.whatsuptest.TestStarter.java
nu.placebo.whatsuptest.activitytest.AnnotationActivityTest.java
nu.placebo.whatsuptest.activitytest.ListViewActivityTest.java
nu.placebo.whatsuptest.activitytest.MapViewActivityTest.java
nu.placebo.whatsuptest.networktest.NetworkTest.java
nu.placebo.whatsuptest.utiltest.GeoPointUtilTest.java
nu.placebo.whatsuptest.utiltest.GeodeticsTest.java
nu.placebo.whatsuptest.utiltest.ValidationTest.java