2016-08-20 2 views
2

Android 스튜디오에서 설치할 때 내 앱이 잘 작동하지만 디버그 APK 버전을 사용하는 경우 Firebase이 어떤 이유로 실시간 데이터베이스의 모든 값을 다운로드하지 않습니다. . APK 버전에서만 왜 그런 일이 일어날 지 모르겠습니다. 다음과 같이 Firebase 실시간 데이터베이스가 Android에서 모든 값을 반환하지 않습니다. 디버그 APK 버전

작동하지 않는 것을의 아이디어를 얻으려면, 나는 청취자가 :

ValueEventListener questionListener = new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     GenericTypeIndicator<List<Question>> t = new GenericTypeIndicator<List<Question>>() {}; 
      mQuestions = (ArrayList<Question>) dataSnapshot.getValue(t); 

    ... 

mDatabase.child("surveys").child("surveyName").child("questions").addValueEventListener(questionListener); 

문제는 질문 안에 질문 옵션이 있다는 것입니다 각 옵션은 여러 매개 변수가 있습니다. Android Studio를 통해 앱을 설치하면 모든 매개 변수가 수신되고 정상적으로 작동합니다. 그러나 디버그 APK를 빌드하고 설치하면 모든 질문에 대해 매개 변수 중 하나가 누락됩니다. 심지어 더 이상한 것은 그것이 한 분야에서만 일어나는 것처럼 보인다는 것입니다. 그 필드는 부울로 사용되었지만 어떤 차이가 있는지보기 위해 문자열로 변경했습니다. 슬프게도 여전히 같은 문제가 있습니다.

왜 이런 일이 일어날 지 또는 내가 볼 수있는 곳을 알 수있는 사람이 있습니까?

데이터베이스의 모든 질문 옵션에는이 필드가 설정되어 있습니다. APK 버전을 사용할 때 왜 다운로드하지 않습니까? 그게 버그 야?

감사합니다.

+0

'디버그 APK'와 'Android Studio에서 설치 한 버전'의 차이점은 분명하지 않습니다. AS에서 설치하여 실행할 때 "디버그 APK"와 다른 릴리스 버전이나 빌드 맛이 있습니까? –

+0

나는 AS에서 디버그 생성 변종을 실행 중입니다. 출시 버전이 없습니다. 나는 인증을 위해 디버그 키를 사용하고있다. –

+0

@michael 정확히 당신의 상황에 집착했고, 정말 이상합니다. 다른 사람들은 그들이 직면 할 때까지 이해하지 못합니다. – Mani

답변

1

글쎄, 내 자신의 질문을 해결 한 것 같습니다. 나는 문서 페이지 https://firebase.google.com/docs/database/android/retrieve-data에 대한 언급을 보지 못했지만 실제로는 무엇인가를 말해야한다.

"get < 매개 변수 이름>"의 철자가 정확한 각 매개 변수에 대해 getter가 필요합니다. "public Boolean HasExtraInput"과 같은 것이 있으면 작동하지 않습니다.

"get < 매개 변수 이름>"및 "goingToGet < 매개 변수 이름>"을 테스트했습니다. 첫 번째는 작동하고 두 번째 것은 실패합니다. 그리고이 방법은 Android Studio에 따라 사용되지도 않으므로 Firebase 만 사용할 수 있습니다.

흥미롭게도 Android Studio에서 실행해도 상관 없지만 APK를 사용하면 다른 철자로 구분됩니다. 왜 그런지는 모르겠지만 적어도 작동하게하는 방법은 알고 있습니다.

관련 문제