Obtenir Firebase pour travailler avec java, pas Android
Im essayant d'obtenir un libgdx projet et en cours d'exécution et je veux firebase pour les connexions de l'utilisateur. Je trouve que le SimleLogin classe est selon Android.jar. Est-il un moyen de contourner cela que je voudrais avoir un desktop java application en cours d'exécution ainsi qu'android.
Voici le code qui est à l'origine du problème:
SimpleLogin authClient = new SimpleLogin(myRef);;
authClient.createUser("[email protected]", "much wow",
new SimpleLoginAuthenticatedHandler() {
@Override
public void authenticated(FirebaseSimpleLoginError error,
FirebaseSimpleLoginUser user) {
if (error != null) {
System.out.println(error);
} else {
System.out.println(user);
}
}
});
Et ce thowing ce au moment de l'exécution:
Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: java.lang.NoClassDefFoundError: android/net/Uri
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:120)
Caused by: java.lang.NoClassDefFoundError: android/net/Uri
at com.firebase.simplelogin.SimpleLogin.makeRequest(SimpleLogin.java:634)
at com.firebase.simplelogin.SimpleLogin.createUser(SimpleLogin.java:417)
at com.mygdx.game.MyGdxGame.create(MyGdxGame.java:63)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:136)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114)
Caused by: java.lang.ClassNotFoundException: android.net.Uri
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 5 more
Vais-je à ce sujet ou est la plate-forme Java ils prétendent soutenir vraiment juste android?
- Je ne sais pas si ça a changé récemment, mais cette page (firebase.com/docs/android) montre Android. Donc, je doute en effet qu'il fonctionne (non modifié) sur la non-Android plates-formes Java. Une analyse rapide de Débordement de Pile questions semble insinuer que la non-Android Java les utilisateurs accèdent à Firebase à l'aide de son API REST. Voir stackoverflow.com/questions/22252636/...
- Le Firebase Java SDK supporte à la fois Android et la plaine de Java, cependant la Firebase Simple Login heure actuelle, la bibliothèque prend en charge uniquement Android. La plupart des gens utilisent de connexion personnalisée quand ils ne sont pas en cours d'exécution sur un appareil mobile. Pouvez-vous élaborer sur ce que vous voulez accomplir?
Vous devez vous connecter pour publier un commentaire.
Il y a deux parties à Firebase Java de placement, chacun avec différentes dépendances:
Firebase client Java bibliothèque - Utiliser pour accéder à la Firebase en temps réel de la base de données.
Les docs maigre un peu vers Android, mais il fonctionne très bien en Java et les langages qui peuvent faire appel à Java (par exemple, Groovy)
Firebase Simple Connexion de la bibliothèque - Ce qui rend la auth plus facile, mais vous pouvez le manipuler auth-vous si vous préférez.
Cette bibliothèque est Android. En général, l'authentification se termine généralement avec un tas de plate-forme spécifique astuces. Cette bibliothèque met l'accent sur l'Android ensemble de ces trucs.
Il semble que vous voulez auth dans libgdx. Pouvez-vous développez votre question pour comprendre un peu plus sur votre cas d'utilisation?
(copié à partir de @Ossama du commentaire ci-dessus)
Firebase client est disponible en 2 saveurs. On est avec Android et l'autre est pour la JVM. Malheureusement, par défaut, vous obtiendrez la version Android uniquement.
Vous trouverez JVM version du journal des modifications.
Sep 24, 2015 - Version 2.4.0 (Android) (JVM)
Je pense que l'utilisation de la JVM pot va résoudre ce problème.
Vieux commentaires:
Veuillez utiliser à la suite de jar pour Java SDK https://cdn.firebase.com/java/firebase-client-jvm-2.4.0.jar
J'ai eu le lien ci-dessus https://www.firebase.com/docs/android/changelog.html