Я попытался понять, но не смог понять, как и где могут быть данные, которые я храню после входа в систему.
public static final String BASE_URL = "https://xyz.firebaseio.com";
Firebase ref = new Firebase(FirebaseUtils.BASE_URL);
ref.authWithPassword("[email protected]", "some_password", new Firebase.AuthResultHandler() {
@Override
public void onAuthenticated(AuthData authData) {
Toast.makeText(LoginActivity.this, "Login Successful", Toast.LENGTH_SHORT).show();
startActivity(new Intent(LoginActivity.this, MainActivity.class));
}
@Override
public void onAuthenticationError(FirebaseError firebaseError) {
}
}
На этом этапе я успешно прошел аутентификацию и приземлился на MainActivity
. Далее в onCreate
of MainActivity
. Я инициализирую Firebase
firebase = new Firebase(FirebaseUtils.BASE_URL).child("box");
// adapter below is an ArrayAdapter feeding ListView
firebase.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
if (dataSnapshot.getValue(Box.class) instanceof Box)
adapter.add(dataSnapshot.getValue(Box.class).getName());
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
adapter.remove(dataSnapshot.getValue(Box.class).getName());
}
// other callbacks
}
Есть кнопка добавления, которую я использовал для вывода новых записей с Android на Firebase
.
final Button button = (Button) findViewById(R.id.addButton);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Box box = new Box("Box " + System.currentTimeMillis(), "Location " + System.currentTimeMillis());
Firebase fbBox = firebase.child("" + System.currentTimeMillis());
fbBox.setValue(box);
}
});
Но выше код не добавляет никакой записи (очевидно, из ListView
, которая не обновляется) или, по крайней мере, я не знаю, где искать данные. Я проверил открытие Firebase
в браузере, но я не уверен, как проверить конкретные данные пользователя?
Я изменил свой Firebase Rules
как
{
"rules": {
"users": {
"$uid": {
".write": "auth != null && auth.uid == $uid",
".read": "auth != null && auth.uid == $uid"
}
}
}
}
Я попытался открыть URL-адреса, такие как https://xyz.firebaseio.com/xxxxxx-xxxxx-xxxx-xxxxx-xxxxxxxxxxxx, но он не покажет никаких данных.
Я хотел бы получить некоторую информацию о:
-
Как добавить данные пользователя после аутентификации. Нельзя ли это быть бесшовным, например, когда у нас нет ограничений на чтение/запись на основе пользователя, потому что я мог легко читать/записывать данные.
-
Есть ли веб-представление
Firebase
для визуализации базы данных или просмотра данных JSON, где я могу видеть/изменять данные на/с устройства Android?