Я провел несколько дней в поисках и попытке изменить методы хранения информации в базе данных Firebase, но я не мог найти способ обновить код. Потому что я не знаю, должен ли я использовать jsonObject
или jsonArray
с базой данных Firebase или нет. Поэтому мне нужно хранить всю новую информацию в базе данных Firebase.
Это модель класса, которая содержит все типы информации:
public class FamilyCart {
public double Distance = 0.0d;
public String ItemName;
public String ItemUID;
public String PlaceName;
public String RequestedDate;
public String RequestedPhoneUID;
public String ShippedDate;
public String ShippedPhoneUID;
public int StatusID;
public Location location;
public FamilyCart(String RequestedPhoneUID2, String ItemUID2, String ItemName2, String RequestedDate2, String ShippedPhoneUID2, String ShippedDate2, int StatusID2, double PlaceLatitude, double Placelongitude, String PlaceName2) {
this.RequestedPhoneUID = RequestedPhoneUID2;
this.ItemUID = ItemUID2;
this.ItemName = ItemName2;
this.RequestedDate = RequestedDate2;
this.ShippedPhoneUID = ShippedPhoneUID2;
this.ShippedDate = ShippedDate2;
this.StatusID = StatusID2;
this.RequestedDate = RequestedDate2;
this.ShippedPhoneUID = ShippedPhoneUID2;
this.StatusID = StatusID2;
this.PlaceName = PlaceName2;
this.location = new Location(ItemName2);
this.location.setLongitude(Placelongitude);
this.location.setLatitude(PlaceLatitude);
}
public double getDistance() {
return this.Distance;
}
}
public class ItemStatus {
public ArrayList<String> Status = new ArrayList<>();
public ArrayList<Integer> StatusID = new ArrayList<>();
ItemStatus() {
this.Status.add("Pending");
this.Status.add("Shipped");
this.Status.add("Canceled");
this.Status.add("Deleted");
this.StatusID.add(1);
this.StatusID.add(2);
this.StatusID.add(3);
this.StatusID.add(4);
}
}
, и вот методы, которые я пытаюсь обновить:
public static String WebURL = "http://mylocations.star.net/";
public static String UserUID = null;
public void UpdateCarts() {
String url = WebURL + "cart.asmx/OrderList?UserUID=" + UserUID + "&StatusID=" + new ItemStatus().StatusID.get(0);
new AsyTaskReloadTool().execute(url);
}
public class AsyTaskReloadTool extends AsyncTask<String, String, String> {
HttpURLConnection urlConnection;
public AsyTaskReloadTool() {
}
@Override
public void onPreExecute() {
}
@Override
public String doInBackground(String... params) {
try {
urlConnection = (HttpURLConnection) new URL(params[0]).openConnection();
String result = Operations.ConvertInputToStringNoChange(new BufferedInputStream(urlConnection.getInputStream()));
urlConnection.disconnect();
publishProgress(result);
} catch (Exception e) {
} catch (Throwable th) {
urlConnection.disconnect();
throw th;
}
return null;
}
@Override
public void onProgressUpdate(String... progress) {
try {
JSONObject jSONObject = new JSONObject(progress[0]);
String ErrorID = jSONObject.getString("ErrorID");
GlobalClass.familyCarts.clear();
if (ErrorID.equals(ErrorNumbers.NoError)) {
JSONArray UsersPhonesInfo = jSONObject.getJSONArray("UsersPhonesInfo");
for (int i = 0; i < UsersPhonesInfo.length(); i++) {
JSONObject user = UsersPhonesInfo.getJSONObject(i);
ArrayList<FamilyCart> arrayList = GlobalClass.familyCarts;
arrayList.add(new FamilyCart(user.getString("RequestedPhoneUID"), user.getString("ItemUID"), user.getString("ItemName"), user.getString("RequestedDate"), user.getString("ShippedPhoneUID"), user.getString("ShippedDate"), user.getInt("StatusID"), user.getDouble("PlaceLatitude"), user.getDouble("Placelongitude"), user.getString("PlaceName")));
}
return;
}
GlobalClass.familyCarts.add(0, new FamilyCart("No_new_data", null, null, null, null, null, 0, 0.0d, 0.0d, null));
} catch (Exception e) {
}
}
@Override
public void onPostExecute(String result) {
}
}