2013-08-29 2 views
0

Bonjour M en utilisant JSON analyse dans mon application android. M en utilisant php pour les services web. M obtenir des valeurs dans spinner à partir du serveur. maintenant je veux renvoyer l'id spinner particulier au serveur comment l'envoyer s'il vous plaît aidez-moi. ThnaksComment envoyer spinner id au serveur en utilisant les services Web JSON dans android

Mon code

class GetProviderName extends AsyncTask<String, Void, Boolean> 
{ 


    protected void onPreExecute() 
    { 
     // TODO Auto-generated method stub 
     super.onPreExecute(); 

     pd2=ProgressDialog.show(NewSales.this, "Loading", "Please wait"); 
    } 


    @Override 
    protected Boolean doInBackground(String... params) { 
     // TODO Auto-generated method stub 





      try 
      { 
       HttpClient httpclient = new DefaultHttpClient(); 

       HttpGet httppost = new HttpGet(params[0]); 
       HttpResponse response = httpclient.execute(httppost); 
       HttpEntity entity = response.getEntity(); 
       view_rates = EntityUtils.toString(entity, HTTP.UTF_8); 
       System.out.println(view_rates); 





       JSONArray jarray=new JSONArray(view_rates); 
       System.out.println("Jarray Length:"+jarray.length()); 

     if(jarray.length()==0) 
     { 
      norecord=true; 
     } 
     else 
     { 
      for(int i=0;i<jarray.length();i++) 
      { 
       JSONObject jbnew=jarray.getJSONObject(i); 

       int provider_id=Integer.valueOf(jbnew.getString("voucher_provider_id")); 

       String voucher_provider_name=jbnew.getString("voucher_provider_name"); 
       Provider_structuer provider_dt=new Provider_structuer(); 
       provider_dt.setProvider_id(provider_id); 
       provider_dt.setProvider_name(voucher_provider_name); 
       all_provider_val.add(provider_dt); 
       provider_names.add(voucher_provider_name); 


       //jbnew.put("voucher_provider_id", provider_shop_names.getSelectedItem().toString()); 

      } 
     } 
     System.out.println("provider names" +provider_names.size()); 
     System.out.println("provider nshpos" +all_provider_val.size()); 



     return true; 
    } 
    catch(Exception e) 
    { 
     e.printStackTrace(); 
     return false; 
    } 
} 



    @Override 
    protected void onPostExecute(Boolean result) 
    { 
     // TODO Auto-generated method stub 
     super.onPostExecute(result); 
     pd2.dismiss(); 
     if(result) 
     { 
      ArrayAdapter<String>myadapter=new ArrayAdapter<String>(NewSales.this,android.R.layout.simple_spinner_dropdown_item,provider_names); 
      provider_shop_names.setAdapter(myadapter); 
     } 
     else 
     { 
      provider_shop_names.setAdapter(null); 
      Toast.makeText(NewSales.this,"Sorry problem with connection.",Toast.LENGTH_LONG).show(); 
     } 

    } 
} 

Répondre

0

Si provider_names noms et les cales all_provider_val valeurs correspondantes, vous pouvez utiliser setOnItemSelectedListener sur votre spinner. Vous pouvez obtenir la position de l'article sélectionné. Utilisez ensuite cette position pour obtenir la valeur de la liste all_provider_val. Quelque chose comme ça:

ArrayAdapter<String>myadapter=new ArrayAdapter<String>(NewSales.this,android.R.layout.simple_spinner_dropdown_item,provider_names); 
provider_shop_names.setAdapter(myadapter); 

provider_shop_names.setOnItemSelectedListener(new OnItemSelectedListener() { 
    @Override 
    public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id){ 
     String selectedValue = all_provider_val.get(position); 
     //then return selectedValue to the web service 
    } 

    @Override 
    public void onNothingSelected(AdapterView<?> parentView) {} 
}); 
0

Obtenez votre code d'article spinner cliqué du gestionnaire d'événements OnItemSelectedListener & le renvoyer au serveur. Pour l'envoi, vous pouvez utiliser HTTP POST. Voici un exemple de code d'envoyer des données au serveur via HTTP POST:

// http post 
     try { 
      HttpClient httpclient = new DefaultHttpClient(); 
      HttpPost httppost = new HttpPost(urlStr); 
      httppost.setEntity(new UrlEncodedFormEntity(orderJson)); 
      HttpResponse response = httpclient.execute(httppost); 
      HttpEntity entity = response.getEntity(); 
      is = entity.getContent(); 

     } catch (Exception e) { 
     } 

     // convert response to string 
     try { 
      BufferedReader reader = new BufferedReader(
        new InputStreamReader(is, "iso-8859-1"), 8); 
      sb = new StringBuilder(); 
      sb.append(reader.readLine() + "\n"); 
      String line = "0"; 
      while ((line = reader.readLine()) != null) { 
       sb.append(line + "\n"); 
      } 
      is.close(); 
      // response 
      result = sb.toString(); 
     } catch (Exception e) { 
      Toast.makeText(getApplicationContext(), "Order not submitted!", 
        Toast.LENGTH_SHORT).show(); 
     } 
+0

ce qui est orderJson dans le code ur plz help me – user2306201

+0

« orderJson » est ce que je veux envoyer au serveur. 'Liste orderJson = nouvelle ArrayList (); \t \t \t orderJson.add (nouveau BasicNameValuePair ("order", json)); ' remplacer" json "avec votre id spinner. –

Questions connexes