1

我一直在从事一个涉及 Steam Condenser 的小项目,这是一个用 Java 编写的 Steam API,但我实际上无法用它做任何事情。

我会解释的。这是wiki告诉我的:

SteamId id = new SteamId("demomenz");

GameStats stats = id.getGameStats("tf2");

列出成就 = stats.getAchievements();

问题是,eclipse 显然不喜欢它,因为它会吐出这个错误:

构造函数 SteamId(String) 未定义

它让我可以选择将其更改为:

SteamId id = new SteamId("demomenz", false);

但此时出现了一个不同的错误:

构造函数 SteamId(Object, boolean) 不可见

所以,我假设这个函数是 API 内部的,不应该从外部调用。

如果有人对此很熟悉,或者知道我为什么会收到这个错误(我对 Java 开发相当陌生),那么将不胜感激。

更新:

构造函数 SteamId(String) 未定义

这是如果我使用 SteamId.create(ConvertedID); (ConvertedID 是一个包含 Steam64 ID 的字符串)。

在这一点上,我相信这个 API 写得不是很好,至少对于 java 来说是这样。还有什么想法吗?

4

2 回答 2

1

看起来构造函数是私有的。改用这个:

SteamId id = SteamId.create("demomenz");
于 2012-06-15T17:19:32.047 回答
1

尝试使用他们的静态方法来创建 StreamId:

我在他们的 API 中看到了以下方法

/**
 * Creates a new <code>SteamID</code> instance or gets an existing one
 * from the cache for the profile with the given ID
 *
 * @param id The 64bit SteamID of the player
 * @return The <code>SteamId</code> instance of the requested profile
 * @throws SteamCondenserException if the Steam ID data is not available,
 *         e.g. when it is private
 */
public static SteamId create(String id)
        throws SteamCondenserException {
    return SteamId.create((Object) id, true, false);
}

用法是:

SteamId streamId = SteamId.create("myId");
于 2012-06-15T17:20:14.480 回答