2017-03-19 14 views
0

Firebase를 사용하여 안드로이드 클라이언트 애플리케이션을 만들었습니다. 제대로 작동합니다. 인정 신청을하고 싶지만 문제가 있습니다. 같은 문제가있는 스레드가있는 것처럼 보이지만 솔루션이 나에게 적합하지 않습니다.Firebase Admin Java SDK ValueEventListener가 작동하지 않음

나는 문서를 다음 해요 :

https://firebase.google.com/docs/admin/setup은 그 때 나는 새로운 프로젝트를 (이 프로젝트는 클라이언트 라이브러리를 가지고 있지 않으며 필요가 없습니다) 만들었습니다. 나는

Error:Conflict with dependency 'com.google.code.findbugs:jsr305'

을 발견, 내가 조사 후이 오류

Error:Conflict with dependency 'com.google.code.findbugs:jsr305' in project ':app'. Resolved versions for app (1.3.9) and test app (2.0.1) differ. See http://g.co/androidstudio/app-test-app-conflict for details. 

있어,

compile 'com.google.firebase:firebase-admin:4.1.3' 

먼저 덧붙였다.

이 솔루션은 그것은 작동하고

configurations.all { 
    resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9' 
} 

추가하는 것입니다,하지만 난 여전히 경고를 받았습니다.

Warning:WARNING: Dependency org.apache.httpcomponents:httpclient:4.0.1 is ignored for debug as it may be conflicting with the internal version provided by Android. 
Warning:WARNING: Dependency org.apache.httpcomponents:httpclient:4.0.1 is ignored for debug as it may be conflicting with the internal version provided by Android. 
Warning:WARNING: Dependency org.json:json:20160212 is ignored for debug as it may be conflicting with the internal version provided by Android. 
Warning:WARNING: Dependency org.apache.httpcomponents:httpclient:4.0.1 is ignored for release as it may be conflicting with the internal version provided by Android. 
Warning:WARNING: Dependency org.json:json:20160212 is ignored for release as it may be conflicting with the internal version provided by Android. 
Warning:WARNING: Dependency org.apache.httpcomponents:httpclient:4.0.1 is ignored for release as it may be conflicting with the internal version provided by Android. 
Warning:WARNING: Dependency org.json:json:20160212 is ignored for release as it may be conflicting with the internal version provided by Android. 

나는 그걸로 살 수있다, 그때 나는 계속된다.

내 관리자 키를 만들고 파일을 다운로드했습니다. doc 후, 그들은이 코드를 수행하도록 요청 :

FileInputStream serviceAccount = new FileInputStream("path/to/serviceAccountKey.json"); 

을하지만 (오른쪽 폴더 이름과 파일 이름으로 명백하게) 작동하도록 파일을 넣어 어디 발견되지 않았다. 일부 조사 후, 나는

res/raw/serviceAccountKey.json 

에 파일을 배치하고이

InputStream serviceAccount = getResources().openRawResource(R.raw.serviceAccountKey); 

완벽한 같은 FileInputStream에를 만들 수 있습니다 발견했다. 작동하는 것처럼 보입니다. 코드는 다음과 같습니다.

InputStream serviceAccount = getResources().openRawResource(R.raw.serviceAccountKey); 
    FirebaseOptions options = new FirebaseOptions.Builder() 
      .setCredential(FirebaseCredentials.fromCertificate(serviceAccount)) 
      .setDatabaseUrl("https://" + m_databaseName + ".firebaseio.com/") 
      .build(); 
    FirebaseApp.initializeApp(options); 

현재로서는 오류가 없습니다. 다음 단계를 수행합니다.

ref.addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      System.out.println("The read succeed"); 
     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 
      System.out.println("The read failed: " + databaseError.getCode()); 
     } 
    }); 

그러나 onDataChange 및 onCancelled는 절대로 호출되지 않습니다. 나는 어떤 오류도 보지 못했다.

조사 후, 나는 같은 문제

Firebase Admin Java SDK not doing any operation

다른 사람을 발견하지만,이 솔루션은 작동하지 않았다.

누구나 가지고 계신가요? 감사합니다

+1

중포 기지 엔지니어가에서 관리 SDK를 사용하여 무리를 줄 수 (이클립스에서 사용 튜토리얼)

는 중포 기지 튜토리얼

에서 중포 기지에 대한 중포 기지 튜토리얼을 다시 실행하고 지금은 마침내 onDataChange 내 중단 점에 도달하고 데이터 보인다 Android 앱 여기를 참고하십시오 : http://stackoverflow.com/a/42103063/4815718 –

+0

이 답변은 입니다. "Firebase Android 클라이언트 라이브러리와 함께 Android 앱에서 Firebase Admin SDK를 사용할 수 없습니다." 하지만 내 사건이 아닙니다. 저는 클라이언트 SDK에 Admin SDK를 추가하지 않습니다. 내가 인정하는 sdk만으로 새로운 앱을 만들고있다 – qqchose

+0

좋아, 이것 역시 발견했다 http://stackoverflow.com/questions/42163212/firebase-admin-sdk-causes-gradle-dependency-error?noredirect=1&lq = 1 당신이 옳은 것처럼 보이고 android에서 admin 앱을 할 수 없습니다. 좋아, 그럼 나는 이클립스가 관리 앱을 할려고하고있다. 하지만 난 아무 Build.Gradle 파일을 내 이클립스 프로젝트에 추가 할 수 없습니다. 'com.google.firebase : firebase-admin : 4.1.3' 을 컴파일하십시오. 내가 이클립스 프로젝트에서 이클립스 프로젝트에 추가해야하는데 내 안드로이드 프로젝트의 build.gradle 만보기 – qqchose

답변

0

일부 연구 후 문제를 발견했습니다. "qbix"주석과 마찬가지로 Firebase admin은 android에서 수행 할 수 없습니다.

저는 보통 C++에서 작동하고 java/gradle/android는 완전히 새로운 것입니다. 나는 "gradle"이 안드로이드 스튜디오의 파일이 아니라는 것을 몰랐습니다.

만약 당신이 나와 같고 당신이 안드로이드/파이어베이스/자바에서 새로 왔고 내가했던 것보다 똑같은 실수를했다면, 그것을 작동하게 만들 수 있습니다.

https://eclipse.org/downloads/eclipse-packages/

가 Gradle을 지원 http://www.vogella.com/tutorials/EclipseGradle/article.html

새 프로젝트를 생성 일식에 추가 자바 EE 개발자를위한 이클립스 IDE를 설치했습니다. 바로

관련 문제