【问题标题】:libgdx - determining which platform is runninglibgdx - 确定正在运行的平台
【发布时间】:2014-07-28 14:13:56
【问题描述】:

我有一个转换为 5 个不同平台的核心项目。我需要根据正在运行的平台更改一些参数。例如,如果它是 android 我需要将 ip 更改为模拟器 localhost 10.0.0.2 等等。

我尝试使用以下答案In Java, is it possible to know whether a class has already been loaded? 来确定这一点

但是任何(甚至不存在的)类的调用都返回了 true。

【问题讨论】:

    标签: java android reflection libgdx cross-platform


    【解决方案1】:

    Application.getType() 方法返回应用当前运行的平台:

    switch (Gdx.app.getType()) {
        case ApplicationType.Android:
            // android specific code
            break;
        case ApplicationType.Desktop:
            // desktop specific code
            break;
        case ApplicationType.WebGl:
            // HTML5 specific code
            break;
        case ApplicationType.iOS:
            //iOS specific code
            break;
         case ApplicationType.HeadlessDesktop:
            //Headless desktop specific code
            break;
         case ApplicationType.Applet:
            //Applet specific code
            break;
        default:
            // Other platforms specific code
    }
    

    在 Android 上,还可以查询应用当前运行的 Android 版本:

    int androidVersion = Gdx.app.getVersion();
    

    这是 Application#ApplicationType 枚举上的 official docs

    【讨论】:

    • iOS 模拟器什么也不返回。
    【解决方案2】:

    你可以使用

    Application#getType()
    

    它将返回以下输出之一:Android、Applet、桌面、iOS 或 WebGL。

    【讨论】:

      猜你喜欢
      • 2013-03-31
      • 2010-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-23
      • 2017-08-16
      • 1970-01-01
      相关资源
      最近更新 更多