Adding string to firebase url
I need to get the phone number registered in the uid. I tried the code below, however I got a null pointer exception. Is it possible to add a string dynamically to a firebase link? Please suggest me if there are other ways to do this. How can I dynamically retrieve data based on logged in user
ref7= new Firebase("https://boiling-torch-4946.firebaseio.com/Registered"+authData.getUid());
ref7.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
snapshot.getValue();
Map<String, Object> newPost = (Map<String, Object>) snapshot.getValue();
String name1 = String.valueOf(newPost.get("phonenum"));
System.out.println("number:" + newPost.get("phonenum"));
System.out.println("New Post"+name1);
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
{
"Registered" : {
"12344" : {
"ID" : "simplelogin:54",
"name" : "jwn"
},
"801414" : {
"ID" : "simplelogin:55",
"name" : "jqn"
},
"0987654321" : {
"ID" : "simplelogin:53",
"name" : "jun"
},
"1234567890" : {
"ID" : "simplelogin:52",
"name" : "jan"
},
"9879879879" : {
"ID" : "simplelogin:51",
"name" : "jon"
},
"authenticated" : {
"simplelogin:53" : {
"-JdW-m-ZackXw9gtBGkS" : {
"name" : "jun",
"number" : "0987654321",
"provider" : "password"
},
"-JdW6wic1ZblwhP2EQ-m" : {
"provider" : "password"
},
"-JdWAR1jupQh3MbkycR3" : {
"provider" : "password"
},
"-JdWBDl0aoMb7gGe-Vnc" : {
"provider" : "password"
}
},
"simplelogin:54" : {
"-JdW0DPWeiCL2OS8dwnU" : {
"name" : "jun",
"number" : "0987654321",
"provider" : "password"
},
"-JdW0DexvoO3twRbtkVk" : {
"name" : "jwn",
"number" : "12344",
"provider" : "password"
}
},
"simplelogin:55" : {
"-JdW0jWmdbarKNRTWobf" : {
"name" : "jun",
"number" : "0987654321",
"provider" : "password"
},
"-JdW0jXMfeapowvMhW_b" : {
"name" : "jwn",
"number" : "12344",
"provider" : "password"
},
"-JdW0klH2kHsjIxi90aR" : {
"name" : "jqn",
"number" : "801414",
"provider" : "password"
}
}
},
"simplelogin:53" : {
"name" : "jun",
"phonenum" : "0987654321"
},
"simplelogin:54" : {
"name" : "jwn",
"phonenum" : "12344"
},
"simplelogin:55" : {
"name" : "jqn",
"phonenum" : "801414"
}
},
}
And Log cat
12-19 06:14:57.925 1819-1819/com.praveen.registersample.app E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
at com.praveen.registersample.app.login$2$1.onDataChange(login.java:245)
at com.firebase.client.core.ValueEventRegistration$1.run(ValueEventRegistration.java:48)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
+3
source to share
1 answer
I found a solution. It was very simple, I had to store auth.getuid () in a string variable
The line userid = auth.getuid ();
" https://boiling-torch-4946.firebaseio.com/Registered " / + userid ());
+2
source to share