2016-06-10 10 views
0

Ich versuche, eine Registrierungsseite für meine Anwendung zu erstellen und haben alle gespeicherten Werte in einemPosting Werte an den Server in Android mit HttpURLConnection

List<Pair<String,String>> 

ich dies durch meiner Klasse für die Verbindung bestanden haben zum Server über eine ASyncTask, aber nach dem Erstellen einer HttpUrlConnection, ich bin mir nicht sicher, wie diese Parameter zu meiner URL-Verbindung hinzufügen. Jedes, das ich angeschaut habe, verwendet NamePairValues, aber von den Forschungen, die ich durchgeführt habe, ist dies veraltet.

@Override 
     protected Void doInBackground(String... params) { 


      String username = params[0]; 
      String firstName = params[1]; 
      String lastName = params[2]; 
      String email = params[3]; 
      String password = params[4]; 

      ConnectionHandler connection = new ConnectionHandler(ctx); 

      List<Pair<String, String>> args = new ArrayList<>(); 
      args.add(new Pair<>("username", username)); 
      args.add(new Pair<>("first_name", firstName)); 
      args.add(new Pair<>("last_name", lastName)); 
      args.add(new Pair<>("email", email)); 
      args.add(new Pair<>("password", password)); 


      connection.makeConnection(REGISTER_URL, args); 
      return null; 
     } 

Das ist mein derzeitiger doInBackground.

Gibt es eine leichtere Methode als mit List<Pair<String,String>>?

EDIT: Ich endete tatsächlich mit Volley, die dies viel einfacher zu tun machte.

+0

Verwenden Sie stattdessen Volley oder Retrofit. HttpUrlConnection ist veraltet. – SripadRaj

Antwort

0

Für jeden, der dies später fand, endete ich mit Volley, was den Prozess so viel einfacher machte.

0

Sie können es als Beispiel tun:

 HttpParams httpParameters = new BasicHttpParams(); 
     int timeoutConnection = 3000; 
     HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection); 
     int timeoutSocket = 5000; 
     HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket); 


     DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters); 
     HttpPost post = new HttpPost("http://youurl.com.br"); 
     List<NameValuePair> pairs = new ArrayList<>(); 
     String id= "" + 1 
     String value = "value" 
     pairs.add(new BasicNameValuePair("id", id)); 
     pairs.add(new BasicNameValuePair("value", value); 
     post.setEntity(new UrlEncodedFormEntity(pairs)); // add the pairs to post request 
     HttpResponse response = httpClient.execute(post); // execute the request 

natürlich die Logik in den entsprechenden try/catch-Blöcke wickeln.

Hoffe, es hilft

0

ich die Httpconnection entfernt und verändert es Volley zu verwenden, machte einen JSONRequest an den Server meine Benutzerdaten zu senden und den Erfolg oder Misserfolg der Abfrage zurück. Danke für alle, die geantwortet haben,

Verwandte Themen