Android JSONArray只返回数据库的最后一项
如何确保数据不重复Android JSONArray只返回数据库的最后一项,android,arrays,Android,Arrays,如何确保数据不重复 JSONObject parasTransDispatch = new JSONObject(); JSONArray jArrayTransDispatch = new JSONArray(); final List<String> dispControlNoArray = new ArrayList<>(); final List<String> dispTripNoArray = ne
JSONObject parasTransDispatch = new JSONObject();
JSONArray jArrayTransDispatch = new JSONArray();
final List<String> dispControlNoArray = new ArrayList<>();
final List<String> dispTripNoArray = new ArrayList<>();
while (!cursorDispatch.isAfterLast()) {
trans_dispatch_returnID = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_ID_RETURN));
trans_dispatch_eodID = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_EOD_ID));
trans_dispatch_routeID = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_ROUTE_ID));
trans_dispatch_controlNo = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_CONTROL_NO));
trans_dispatch_busNo = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_BUS_NO));
trans_dispatch_tripNo = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_TRIP_NO));
trans_dispatch_bound_trip = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_BOUND));
trans_dispatch_route = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_ROUTE));
trans_dispatch_trip_type = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_TRIP_TYPE));
trans_dispatch_passCount = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_PASSENGER_COUNT));
trans_dispatch_dispId = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_DISPATCHER_ID));
trans_dispatch_conId = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_CONDUCTOR_ID));
trans_dispatch_driId = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_DRIVER_ID));
trans_dispatch_dri2Id = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_DRIVER2_ID));
trans_dispatch_datetimeStamp = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_DATETIMESTAMP));
trans_dispatch_long = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_LONG));
trans_dispatch__lat = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_LAT));
dispControlNoArray.add("'" + trans_dispatch_controlNo + "'");
dispTripNoArray.add("'" + trans_dispatch_tripNo + "'");
try {
parasTransDispatch.put("id", trans_dispatch_returnID);
parasTransDispatch.put("eod_id", trans_dispatch_eodID);
parasTransDispatch.put("route_id", trans_dispatch_routeID);
parasTransDispatch.put("company_id", company_id);
parasTransDispatch.put("subcompany_id", subCompanyID);
parasTransDispatch.put("route_id", trans_dispatch_routeID);
parasTransDispatch.put("control_no", trans_dispatch_controlNo);
parasTransDispatch.put("bus_no", trans_dispatch_busNo);
parasTransDispatch.put("trip_no", trans_dispatch_tripNo);
parasTransDispatch.put("bound", trans_dispatch_bound_trip);
parasTransDispatch.put("route", trans_dispatch_route);
parasTransDispatch.put("trip_type", trans_dispatch_trip_type);
parasTransDispatch.put("passenger_count", trans_dispatch_passCount);
parasTransDispatch.put("dispatcher_id", trans_dispatch_dispId);
parasTransDispatch.put("conductor_id", trans_dispatch_conId);
parasTransDispatch.put("driver_id", trans_dispatch_driId);
parasTransDispatch.put("driver2_id", trans_dispatch_dri2Id);
parasTransDispatch.put("datetimestamp", trans_dispatch_datetimeStamp);
parasTransDispatch.put("long", trans_dispatch_long);
parasTransDispatch.put("lat", trans_dispatch__lat);
cursorDispatch.moveToNext();
jArrayTransDispatch.put(parasTransDispatch);
} catch (JSONException e) {
e.printStackTrace();
}
Log.e("jArrayTransDispatch", String.valueOf(jArrayTransDispatch));
必须在循环的每次迭代中实例化。您应该在迭代循环中实例化新对象,如@Blackbelt said和之前所述,同时您应该编写这一行
cursorDispatch.moveToNext();
然后,您的输出将是1,2,3,4假设我有4个数据。结果是1,1,2,3,4
JSONObject parasTransDispatch = new JSONObject();
cursorDispatch.moveToNext();