连接到App42API的后端用户API - Libgdx& Android的

时间:2015-05-16 02:35:54

标签: java android libgdx appwarp app42

我目前正在为Android和桌面开发一个2d侧卷轴,使用android,libgdx,平铺地图和AppWarp的多人游戏API。我正在尝试实现App42API的用户系统,我可以将其api连接到我的游戏,启用多人游戏功能。我编写了一个注册脚本,应该注册用户帐户并将其发送到AppWarp的Cloud DB,但事实并非如此。当我运行游戏时,在文本字段(用于创建帐户的输入)中放入所需的文本后,我收到以下错误:

rf = RF(n_estimators=n_trees,max_features=max_features,verbose =verbose, n_jobs =n_jobs)
rf.fit( x_train, y_train )

我猜它没有正确连接到AppWarp的api,但我不确定如何修复它。下面是我的android启动器类和我的寄存器类的代码。

**我读到你必须通过在你的程序中调用它来初始化app42api sdk。 **

Android启动器:

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: java.lang.NoClassDefFoundError: org/json/JSONException
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:127)
Caused by: java.lang.NoClassDefFoundError: org/json/JSONException
    at com.mygdx.game.network.Register.registerAccount(Register.java:160)
    at com.mygdx.game.network.Register$1.clicked(Register.java:122)
    at com.badlogic.gdx.scenes.scene2d.utils.ClickListener.touchUp(ClickListener.java:89)
    at com.badlogic.gdx.scenes.scene2d.InputListener.handle(InputListener.java:57)
    at com.badlogic.gdx.scenes.scene2d.Stage.touchUp(Stage.java:348)
    at com.badlogic.gdx.backends.lwjgl.LwjglInput.processEvents(LwjglInput.java:306)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:207)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:120)
Caused by: java.lang.ClassNotFoundException: org.json.JSONException
    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)
    ... 8 more

Register.java:

package com.mygdx.game.android;

import android.os.Bundle;

import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
import com.mygdx.game.MainGameLoop;
import com.mygdx.game.network.App42Handler; 
import com.shephertz.app42.gaming.multiplayer.client.WarpClient;
import com.shephertz.app42.paas.sdk.android.App42API;

@SuppressWarnings("unused")
public class AndroidLauncher extends AndroidApplication 
{


    @Override
    protected void onCreate (Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
        // initialize multiplayer api taking in my api key and secret key
        App42API.initialize(App42API.appContext, App42Handler.apiKey, App42Handler.secretKey); 
        initialize(new MainGameLoop(), config);
    }
}

所以我希望我能很好地解释这一点。我只是想创建一个帐户并将其发送到App42API的云。如果有人能帮助我,或者指出我正确的方向,那将是伟大的。关于这方面没有足够的文档,尽管它从我到目前为止看到的非常强大。

谢谢, 德文

2 个答案:

答案 0 :(得分:0)

在查看您共享的日志后,我发现存在异常

  

引起:java.lang.ClassNotFoundException:org.json.JSONException

所以我建议你在你的应用程序中添加JSON jar库。

答案 1 :(得分:0)

App42 jar依赖于一些外部jar,如commons-logging-1.1.1,commons-logging-api-1.1.1,httpclient-4.1,httpcore-4.1,json-org。这些jar可以在下载的JAVA SDK zip的lib文件夹下找到。请在项目参考中添加所有这些jar文件。它将解决这个问题。

如果有帮助,请告诉我们。