让Firebase使用java,而不是Android
我正在尝试启动并运行一个libgdx项目,我想使用firebase进行用户登录。我发现SimleLogin类依赖于Android.jar。有没有办法解决这个问题,因为我想让桌面java应用程序和android一样运行 以下是导致问题的代码:让Firebase使用java,而不是Android,java,libgdx,firebase,Java,Libgdx,Firebase,我正在尝试启动并运行一个libgdx项目,我想使用firebase进行用户登录。我发现SimleLogin类依赖于Android.jar。有没有办法解决这个问题,因为我想让桌面java应用程序和android一样运行 以下是导致问题的代码: SimpleLogin authClient = new SimpleLogin(myRef);; authClient.createUser("myuser@gmail.com", "much wow", new SimpleLoginA
SimpleLogin authClient = new SimpleLogin(myRef);;
authClient.createUser("myuser@gmail.com", "much wow",
new SimpleLoginAuthenticatedHandler() {
@Override
public void authenticated(FirebaseSimpleLoginError error,
FirebaseSimpleLoginUser user) {
if (error != null) {
System.out.println(error);
} else {
System.out.println(user);
}
}
});
这是在运行时进行的:
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
我是要这么做,还是他们声称支持的Java平台真的只是android?Firebase的Java产品有两个部分,每个部分都有不同的依赖性: -使用此选项访问Firebase实时数据库 文档有点倾向于Android,但它在Java和可以调用Java的语言(例如Groovy)中工作得非常好 -这使身份验证更容易,但如果愿意,您可以自己处理身份验证 此库仅适用于Android。一般来说,身份验证通常以一系列特定于平台的技巧结束。这个库主要关注Android的一系列技巧 听起来您需要在libgdx中使用auth。你能把你的问题扩展到更多关于预期用例的内容吗
(摘自上面@Ossama的评论)Firebase客户端有两种风格。一个是Android,另一个是JVM。不幸的是,默认情况下,您只能获得Android版本 您将从更改日志中找到JVM版本 2015年9月24日-版本2.4.0()() 我认为使用jvmjar可以解决这个问题 旧评论: 请使用以下jar for Java SDK
我得到了上面的链接我不确定它最近是否改变了,但是这个页面()只显示了Android。因此,我确实怀疑它在非Android Java平台上是否有效(未经修改)。对堆栈溢出问题的快速扫描似乎暗示非Android Java用户正在使用其RESTAPI访问Firebase。请参阅Firebase Java SDK支持Android和普通Java,但是Firebase简单登录库目前仅支持Android。大多数人在不在移动设备上运行时使用自定义登录。你能详细说明一下你想要完成什么吗?你能更新你的答案并添加一个代码,让它在java(而不是Android)上使用新的firebase.google.com工作吗?因为有一些google-services.json文件