Как обеспечить сохранение моих данных в Firebase? - PullRequest
0 голосов
/ 11 октября 2018

Я храню свои данные в базе данных Firebase в моем приложении для Android.Однако я не уверен, как проверить, сохранены ли мои данные в базе данных, и показать соответствующее сообщение.До сих пор я пытался проверить уникальный идентификатор, созданный push, и посмотреть, является ли он нулевым или нет.Но это не сработало для меня.Любое другое предложение?

private void createData(String name){
    SnapShotModel ssm = new SnapShotModel(name);
    myRef.push().setValue(ssm);
        AlertDialog.Builder builder;
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            builder = new AlertDialog.Builder(this, android.R.style.Theme_Material_Dialog_Alert);
        } else {
            builder = new AlertDialog.Builder(this);
        }
        builder.setTitle("ERROR!")
                .setMessage("Error in saving data. Please try again.")
                .setNegativeButton(android.R.string.ok, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {

                    }
                })
                .setIcon(android.R.drawable.ic_dialog_alert)
                .show();

}

Ответы [ 3 ]

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

Если вы хотите знать, когда ваши данные были зафиксированы, вы можете добавить прослушиватель завершения.Проверьте документацию

ref.setValue("I'm writing data", new Firebase.CompletionListener() {
    @Override
    public void onComplete(FirebaseError firebaseError, Firebase firebase) {
        if (firebaseError == null) {
            Show dialog
        }
    }
});
0 голосов
/ 11 октября 2018

Как обеспечить сохранение моих данных в Firebase?

Вы можете быть уверены, что добавите полный прослушиватель после вызова метода setValue(), например:

myRef.push().setValue(ssm).addOnCompleteListener(new OnCompleteListener<Void>() {
    @Override
    public void onComplete(@NonNull Task<Void> task) {
        if (task.isSuccessful()) {
            Log.d(TAG, "Object successfully added");
        } else {
            Log.d(TAG, "Error: " + task.getException().getMessage());
        }
    }
});
0 голосов
/ 11 октября 2018
FirebaseDatabase db;

onCreate
db = FirebaseDatabase.getInstance();

DatabaseReference readDb = db.getReference("Your Channel Name");
    readDb.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            String value = dataSnapshot.getValue().toString();
            Toast.makeText(context, value, Toast.LENGTH_SHORT).show();
       }
        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
        }
    });

Когда вы читаете этот способ в своем приложении, вы подключаетесь к своей базе данных.

DatabaseReference writeDb = db.getReference("Your Channel Name");
writeDb.setValue("Value");

так вы можете написать

Примечание: google-services.json donне забудьте добавить.

и build.grandle

implementation 'com.google.firebase:firebase-database:16.0.3'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...