Как сохранить сложные данные в Firebase из Android Studio? - PullRequest
0 голосов
/ 01 октября 2018

маршрут - один набор данных.Маршрут содержит строковые значения и списки массивов.Я хочу сохранить его в базе данных Firebase.Как я могу это сделать?

Вот так выглядит моя база данных: database

1 Ответ

0 голосов
/ 02 октября 2018

Вы можете использовать Карту и установить все свои данные, а затем просто отправить их в свою базу данных.

Пример

 Map<String, Object> routeUp = new HashMap<>();
        routeUp.put("description", "EXAMPLE");
        routeUp.put("haultName", "NAME");
        routeUp.put("latitude","idontknowwhyyoustoreitwithastring");
        //... and so on
        mDatabase.child("route").child(routeUp).updateChildren(routeUp).addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {

                Toast.makeText(mContext, "Success", Toast.LENGTH_SHORT).show();

            }
        }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                progressDialog.dismiss();
                Toast.makeText(mContext, "Error saving the values " + e.getMessage(), Toast.LENGTH_SHORT).show();
            }
        });

Затем вы можете объединить более одного HashMap и использовать putAll чтобы окончательно отправить всю структуру в один клик

Пример

map3 = new HashMap<>();
//...
map3.putAll(map1);
map3.putAll(map2);

Затем просто нажмите только карту, содержащую всю структуру

Примечание: имейте в виду, что отправка такмногие данные, подобные этому, могут вызвать более одного NPE (NullPointerException), если одно или несколько значений пустые, вы должны обработать какое-то исключение,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...