मैंने समझने की कोशिश की है लेकिन यह देखने में सक्षम नहीं है कि लॉगिन के बाद मैं कितना और कहां संग्रहीत कर रहा हूं।फ़ायरबेस - प्रमाणीकरण के बाद प्रति उपयोगकर्ता डेटा लिखने/पढ़ने के लिए
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
पर उतरा हूँ। MainActivity
के onCreate
में अगला। मैं प्रारंभ 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
}
एक जोड़ें बटन है कि मैं 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"
}
}
}
}
मैं ऐसे https://xyz.firebaseio.com/xxxxxx-xxxxx-xxxx-xxxxx-xxxxxxxxxxxx के रूप में यूआरएल खोलने की कोशिश की, लेकिन यह कोई डेटा प्रदर्शित नहीं होगा।
मैं पर कुछ जानकारी है करना चाहते हैं:
प्रमाणीकरण के बाद उपयोगकर्ता विशिष्ट डेटा कैसे जोड़ें। क्या यह निर्बाध नहीं हो सकता है जब हमारे पास उपयोगकर्ता आधार पर पढ़ने/लिखने पर कोई प्रतिबंध नहीं है, क्योंकि मैं डेटा को आसानी से पढ़/लिख सकता हूं।
क्या कोई
Firebase
डेटाबेस देखने या जेएसओएन डेटा देखने के लिए वेब दृश्य है, जहां मैं एंड्रॉइड डिवाइस से डेटा को देख/संशोधित कर सकता हूं?
परंपरागत रूप से आपके पास फ़ायरबेस में एक उपयोगकर्ता नोड होगा जहां उपयोगकर्ता डेटा संग्रहीत किया जाएगा। यदि यह एक नया उपयोगकर्ता है, तो आप अपने यूआईडी को उपयोगकर्ता नोड में कुंजी के रूप में जोड़ते हैं और बच्चे कुंजी होंगे: आपके द्वारा स्टोर किए जाने वाले डेटा के मूल्य जोड़े; नाम: "बॉब" स्थान: "फ्लोरिडा" आदि। यदि उपयोगकर्ता प्रमाणीकरण और अस्तित्व में है, तो आप उनके यूआईडी को जानेंगे ताकि आप अपने नोड में/उपयोगकर्ताओं से पढ़ सकें।आपके डेटा के लिए एक फायरबेस वेब दृश्य है, इसे फायरबेस डैशबोर्ड कहा जाता है और फ़ायरबेस वेबसाइट पर आपके खाते में लॉग इन करने के बाद इसे एक्सेस किया जा सकता है। – Jay
मेरे पास एक ही प्रश्न था और इसे हल किया गया: http://stackoverflow.com/questions/35820836/how-to-make-sure-a-user-can-only-see-and-access-their-own-data -इन-फायरबेस –