1. 创建《王者荣耀》游戏玩家信息表gamer,包含列族personalInfo(个人信息)、recordInfo(战绩信息)、assetsInfo(资产信息)。
时间: 2024-06-11 21:09:16 浏览: 100
列族personalInfo包含列:昵称(nickname)、头像(avatar)、等级(level)、经验值(exp)、金币(coin)、钻石(gem)、胜率(winRate)。
列族recordInfo包含列:总场次(totalMatches)、胜场次(winMatches)、败场次(loseMatches)、逃跑次数(escapeMatches)、最高连胜(maxWinningStreak)、最佳英雄(bestHero)。
列族assetsInfo包含列:英雄列表(heroes)、皮肤列表(skins)、装备列表(equipments)、道具列表(items)、背包容量(backpackCapacity)。
相关问题
创建《王者荣耀》游戏玩家信息表gamer,包含列族personalInfo(个人信息)、recordInfo(战绩信息)、assetsInfo(资产信息)。hbase
表结构如下:
表名:gamer
列族:personalInfo
列名:name、age、gender、location、phone、email
列族:recordInfo
列名:winRate、playedGames、totalKills、totalAssists、totalDeaths、maxKillsInSingleGame、maxAssistsInSingleGame、maxGoldEarnedInSingleGame、maxDamageDealtInSingleGame
列族:assetsInfo
列名:coins、diamonds、skins、heroes、emotes、avatars
其中,每个列族下的列名和列值根据具体需求和数据类型进行设计。
gamesClient.getCurrentAccountName()返回的是Task<String>
是的,你说得对。在Google Play游戏服务API中,GamesClient的getCurrentAccountName()方法返回的是一个Task<String>对象,这是因为该方法需要在后台线程中执行,以避免阻塞应用程序的主线程。
因此,在调用getCurrentAccountName()方法时,你需要使用addOnSuccessListener()方法或addOnCompleteListener()方法来注册一个回调函数,以处理异步任务完成后返回的结果。
示例代码:
```
GamesClient gamesClient = Games.getGamesClient(context, GoogleSignIn.getLastSignedInAccount(context));
Task<String> task = gamesClient.getCurrentAccountName();
task.addOnSuccessListener(new OnSuccessListener<String>() {
@Override
public void onSuccess(String accountName) {
if (accountName != null) {
if (accountName.contains("gamer:")) {
// 当前用户使用的是Google Play游戏服务账号
} else {
// 当前用户使用的是Google帐户
}
}
}
});
```
在上面的示例代码中,我们首先获取了一个GamesClient实例,然后调用getCurrentAccountName()方法来获取当前用户的账户名,并使用addOnSuccessListener()方法注册一个回调函数来处理异步任务完成后返回的结果。在回调函数中,我们检查了账户名是否包含"gamer:",以确定当前用户使用的是哪种账号。