2016-09-07 4 views
2

Ich habe ein Programm gemacht, um 'Element', 'Menge', 'Rate' jetzt habe ich sie alle drei in einem String-Array, aber ich brauche sie in MYSQL aber hochladen Werte wiederholen sich mehrmals in der Datenbank.Wie drei Strings für Schleife übergeben werden

Hier ist mein Code:

String items[] = itemsF.split("\n"); 
    String qtys[] = qtyV.split("\n") 
    String rates[] = rateF.split("\n"); 
    for (final String r : rates) { 

     for (final String it : items) { 
      Toast.makeText(BillGenerating.this, it, Toast.LENGTH_SHORT).show(); 

      for (final String qt : qtys) { 
       Toast.makeText(BillGenerating.this, qt, Toast.LENGTH_SHORT).show(); 

       class AddBillDetails extends AsyncTask<Void, Void, String> { 

        ProgressDialog loading; 

        @Override 
        protected void onPreExecute() { 
         super.onPreExecute(); 
         loading = ProgressDialog.show(BillGenerating.this, "Adding...", "Wait...", false, false); 
        } 

        @Override 
        protected void onPostExecute(String s) { 
         super.onPostExecute(s); 
         loading.dismiss(); 
         Toast.makeText(BillGenerating.this, s, Toast.LENGTH_LONG).show(); 
        } 

        @Override 
        protected String doInBackground(Void... v) { 
         HashMap<String, String> params = new HashMap<>(); 
         params.put(KEY_BILL_ITEMS, it); 
         params.put(KEY_BILL_QTY, qt); 
         params.put(KEY_BILL_RATE, r); 

         RequestHandler rh = new RequestHandler(); 
         String res = rh.sendPostRequest(Config.BILL_DETAILS_LOCAL_JOB, params); 
         return res; 
        } 


       } 
       AddBillDetails ae = new AddBillDetails(); 
       ae.execute(); 
      } 
     } 
      } 



     return sum; 
    } 

Ich habe pls in dem Schleifenprozess jemand aus Versehen mir helfen.

Antwort

2

Unter der Annahme, dass items, qtys und rates gleiche length haben.

String[] items = itemsF.split("\n"); 
String[] qtys = qtyV.split("\n"); 
String[] rates = rateF.split("\n"); 

for(int i = 0; i < items.length; i++){ 
    AddBillDetails ae = new AddBillDetails(); 
    ae.execute(items[i], qtys[i], rates[i]); 
} 

AddBillDetails.class

class AddBillDetails extends AsyncTask<String, String, String> { 

    ProgressDialog loading; 

    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 
     loading = ProgressDialog.show(BillGenerating.this, "Adding...", "Wait...", false, false); 
    } 

    @Override 
    protected void onPostExecute(String s) { 
     super.onPostExecute(s); 
     loading.dismiss(); 
     Toast.makeText(BillGenerating.this, s, Toast.LENGTH_LONG).show(); 
    } 

    @Override 
    protected String doInBackground(String... v) { 
     HashMap<String, String> params = new HashMap<>(); 
     params.put(KEY_BILL_ITEMS, v[0]); 
     params.put(KEY_BILL_QTY, v[1]); 
     params.put(KEY_BILL_RATE, v[2]); 

     RequestHandler rh = new RequestHandler(); 
     return rh.sendPostRequest(Config.BILL_DETAILS_LOCAL_JOB, params); 
    } 
} 
Verwandte Themen