Как я могу обменять старый сервисный сайт, который хранит информацию с базой данных Firebase? - PullRequest
0 голосов
/ 25 января 2020

Я провел несколько дней в поисках и попытке изменить методы хранения информации в базе данных 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) {
        }


    }

...