簡體   English   中英

將值保存到 firebase android

[英]Save value to firebase android

我有一種方法可以進行計算以獲得旅行的價格

我想恢復“calculate_item_price”的值以將其保存在 Firebase 數據庫中

我該怎么做呢?

謝謝你

private void estimatePriceRead(){


                String requestUrl=null;
                try {
                    requestUrl = "https://maps.googleapis.com/maps/api/directions/json?"+
                            "mode=driving&"
                            +"transit_routing_preference=less_driving&"
                            +"origin="+(mCurrentRide.getPickup().getName())+"&"
                            +"destination="+(mCurrentRide.getDestination().getName())+"&"
                            +"key="+getResources().getString(R.string.google_maps_key);
                    Log.e("LINK",requestUrl);
                    mService.getPath(requestUrl).enqueue(new Callback<String>() {
                        @Override
                        public void onResponse(Call<String> call, Response<String> response) {
                            try {
                                JSONObject jsonObject = new JSONObject(response.body().toString());
                                JSONArray routes = jsonObject.getJSONArray("routes");

                                JSONObject object = routes.getJSONObject(0);
                                JSONArray legs = object.getJSONArray("legs");

                                JSONObject legsObject = legs.getJSONObject(0);

                                //Get distance
                                JSONObject distance = legsObject.getJSONObject("distance");
                                String distance_text = distance.getString("text");
                                //use regex to extract double from string
                                //This regex will remove all text not digit
                                Double distance_value= Double.parseDouble(distance_text.replaceAll("[^0-9\\\\.]+",""));

                                //Get Time
                                JSONObject time = legsObject.getJSONObject("duration");
                                String time_text = time.getString("text");
                                Integer time_value = Integer.parseInt(time_text.replaceAll("\\D+",""));

                                calculate_item_price = String.format("%.2f €",
                                        TypeObject.getPrice(distance_value,time_value));

嘗試制作一個 model class 以及您希望添加到 Firebase 數據庫的所有變量,然后在“ride_info”參考下推送。 像這樣的東西

 public class Ride{
    String customerId;
    String calculate_item_price;
    
    public Ride(){
    //empty constructor for firebase
    }
}

然后 push 添加數據並推送到 firebase

 public void postRideInfo(){
    rideRef = FirebaseDatabase.getInstance().getReference().child("ride_info");

    id =  rideRef.push().getKey();
    String customerId = FirebaseAuth.getInstance().getCurrentUser().getUid();
    Ride ride = new Ride(customerId,calculate_item_price);
    rideRef.child(id).setValue(ride);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM