Ниже приведен код для вставки данных в мою базу данных Firebase. После выполнения он продолжает вставлять данные. Я пытался остановить его, ограничивая l oop <2
, а также пытался с логическим значением mprocess
, принимая mprocess=true
в начале и после успешной вставки данных mprocess=false
, но он продолжает вставлять данные в бесконечном l oop. Как это остановить
private boolean mprocess=false;
try {
JSONArray arr = new JSONArray(result);
String[] stocks = new String[arr.length()];
for(int i=0;i<2;i++) {
JSONObject obj = arr.getJSONObject(i);
mDatabase = FirebaseDatabase.getInstance().getReference().child(context.getResources().getText(R.string.bid_request).toString().trim());
Map<String, Object> userValues = new HashMap<>();
DatabaseReference newBid = mDatabase.push();
userValues.put("uid", obj.getString("user_id"));
userValues.put("uNme", obj.getString("first_name") + " " + obj.getString("last_name"));
userValues.put("uMoble", obj.getString("user_mobile"));
userValues.put("uAvtr", obj.getString("src"));
userValues.put("uRat", obj.getString("user_ratings"));
userValues.put("pck", obj.getString("pickup_location"));
userValues.put("drp", obj.getString("drop_location"));
String data = obj.getString("driver_mobile");
String[] items = data.split(",");
for (String item : items) {
userValues.put(item, "true");
}
userValues.put("tdist", obj.getString("tripdistance"));
DateFormat date = new SimpleDateFormat("yyyy/mm/dd hh:mm:ss aa");
String dateFormatted = date.format(Calendar.getInstance().getTime());
userValues.put("p_date", dateFormatted);
mprocess=true;
if(mprocess) {
newBid.setValue(userValues, new DatabaseReference.CompletionListener() {
@Override
public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
if (databaseError != null) {
Toast.makeText(context, "Oops! Connection Problem.Pls try again", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(context, PlaceSearchActivity.class);
context.startActivity(intent);
} else {
mprocess=false;
((Activity)context).finish();
Toast.makeText(context, "success!", Toast.LENGTH_SHORT).show();
}
}
});
}
}
} catch (JSONException e) {
// Log.e(TAG, "onPostExecute: " + e);
}