Skip to content
Georgiana Chelu edited this page Jul 3, 2014 · 18 revisions
  • Descarcati biblioteca Android Asynchronous Http Client

  • Copiati fisierul .jar in folderul libs din proiectul vostru.

  • Click dreapta pe proiect -> Properties -> Java Build Path -> Libraries -> Add External Jar -> Selectati fisierul .jar din workspace -> ProiectulMeu -> libs, adaugat anterior.

  • Puneti permisiune la internet in manifest.

<uses-permission android:name="android.permission.INTERNET" /> 
  • Vrem sa verificam daca putem face un request catre un server. Copiati in onCreate codul urmator:
       RequestParams params = new RequestParams();
		params.put("api_auth", "VECeKU2puHatudreb7A3");
		params.put("trigger", "user_profile");
		params.put("id_user", "35");
		params.put("session", "61ff95571aa3db550df827f0cae10c938cd31fd2");
		
		AsyncHttpClient client = new AsyncHttpClient();
		client.post("https://worty.ro/api/", params, new JsonHttpResponseHandler() {

		    @Override
		    public void onStart() {
		        // called before request is started
		    }

		    @Override
		    public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
		        // called when response HTTP status is "200 OK"
		    	System.out.println(response.toString());
		    }

		    @Override
		    public void onFailure(int statusCode, Header[] headers, java.lang.Throwable throwable, JSONObject errorResponse) {
		        // called when response HTTP status is "4XX" (eg. 401, 403, 404)
		    	System.out.println(errorResponse.toString());
		    }

		    @Override
		    public void onRetry(int retryNo) {
		        // called when request is retried
			}
		});
	}

Cautati in LogCat tag-ul System.out.println. Raspusul este valid daca arata de forma: {"status": "success","user": {"id": "35","email": "[email protected]"...}}

  • In acelasi fel vom face request-uri la serverul implmentat in python pentru magazinul virtual. Va rog sa aveti in fata implementarea in python pentru a nu gresi URL-urile sau parametri. Sa aveti in vedere urmatoarele aspecte:
    • URL-urile voastre vor arata de forma "http://10.0.2.2:5000/api/..."
    • Folosim RequestParams pentru a atasa parametrii de tip key:value request-ului.
    • Pentru a face GET la server vom apela client.get(URL, JsonHttpResponseHandler), adica exact la fel ca la POST, dar fara argumentul params.
    • Daca vrem sa luam o lista de elemente (ca in cazul listei cu id-urile produselor) vom folosi JSONArray in loc de JSONObject.
    • Importati JSONAarray si JSONObject astfel:
    import org.json.JSONArray;
    import org.json.JSONObject;
Clone this wiki locally