나는 안드로이드와 파이어베이스에 아주 익숙하다. 내가 블루투스를 통해 장치와 연결하는 응용 프로그램을 만들고 나서, 페어링 후에 사용자가 장치를 공유 할 수 있습니다. 이제는 Firebase에서 데이터를 가져 오기 전까지는 문제가 없습니다. 가 여기 내 데이터베이스 구조입니다 : Database Structurefirebase에 액세스하는 방법 값이없는 키
공유 장치는 사용자가 다른 사람과 공유 할 수있는 것들입니다. 사용자 장치는 사용자가 저장하는 장치입니다. "meh"는 장치의 이름입니다. ,
public class RecievedKeys extends AppCompatActivity {
String key;
TextView mName;
TextView mDevice;
String name;
String MAC;
User user = new User();
DatabaseReference mDatabaseRef;
String decPass;
String password;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recieved_keys);
mDatabaseRef = FirebaseDatabase.getInstance().getReference().child("Shared_With").child(User.getUid());
mName = (TextView)findViewById(R.id.name);
mDevice = (TextView)findViewById(R.id.MAC);
mDatabaseRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
name = dataSnapshot.child("Name").getValue().toString();
MAC = dataSnapshot.child("MAC").getValue().toString();
password = dataSnapshot.child("password").getValue().toString();
System.out.println(name);
mName.setText(name);
mDevice.setText(MAC);
decPassword(password);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
난 아무것도 얻을 수 없습니다 생각 대신에, 나는 예외가 던져 : 여기 내가 데이터에 액세스하려고하는 방법이다. 모든 지침을 부탁드립니다.
05-12 06:10:25.608 5268-5268/habibqureshi.simplegui.simplegui E/UncaughtException: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
at habibqureshi.simplegui.SmartLock.RecievedKeys$1.onDataChange(RecievedKeys.java:38)
at com.google.android.gms.internal.zzbmz.zza(Unknown Source)
at com.google.android.gms.internal.zzbnz.zzYj(Unknown Source)
at com.google.android.gms.internal.zzboc$1.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5910)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)
05-12 06:10:25.608 5268-5426/habibqureshi.simplegui.simplegui D/FA: Logging event (FE): _ae, Bundle[{_o=crash, _sc=RecievedKeys, _si=4592305897079779979, timestamp=1494551425619, fatal=1}]
05-12 06:10:25.939 5268-5268/habibqureshi.simplegui.simplegui E/AndroidRuntime: FATAL EXCEPTION: main
Process: habibqureshi.simplegui.simplegui, PID: 5268
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
at habibqureshi.simplegui.SmartLock.RecievedKeys$1.onDataChange(RecievedKeys.java:38)
at com.google.android.gms.internal.zzbmz.zza(Unknown Source)
at com.google.android.gms.internal.zzbnz.zzYj(Unknown Source)
at com.google.android.gms.internal.zzboc$1.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5910)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)
는 내가 뭘해야 할 것은 Shared_With-> UID-> 이메일 -> 이름 -> 어린이의 값에 액세스 할 수 있습니다 :
여기, NullPointer 발생되는 예외입니다.
예외가 던져지는 곳을 보여주는 logcat을 업로드하십시오. - 여기에있는 사람들이 잘못된 것을 식별하는 데 도움이됩니다. – scb998
logcat을 Addes합니다. –