第五章(6)Libgdx应用框架之接口

简介: Android游戏开发群:290051794Libgdx游戏开发框架交流群:261954621    有时访问特定平台的API很有必要举例(http://swarmconnect.com/)。

Android游戏开发群:290051794
Libgdx游戏开发框架交流群:261954621 

 

有时访问特定平台的API很有必要举例(http://swarmconnect.com/)。

下面这些例子纯属虚构,假设我们想使用一个只在Android上有的简单的leaderboard API,对其他平台只是简单日志或者模拟返回值。

Android API看起来像这样:

 

 

 

 

 

/** Let's assume this is the API provided by Swarm **/

public class LeaderboardServiceApi {

   public void submitScore(String user, int score) { ... }

}


 

 

 

 

 

第一步是创建一个抽象的API接口。

将接口放到Main项目中:

 

 

 

 

 

public interface Leaderboard {

   public void submitScore(String user, int score);

}


 

 

 

 

 

接下来为Android实现这些项目:

 

 

 

 

 

/** Android implementation, can access LeaderboardServiceApi directly **/

public class AndroidLeaderboard implements Leaderboard {

   private final LeaderboardServiceApi service;

 

   public AndroidLeaderboard() {

      // Assuming we can instantiate it like this

      service = new LeaderboardServiceApi();

   }

 

   public void submitScore(String user, int score) {

      service.submitScore(user, score);

   }

}


 

 

 

 

 

接下来,ApplicationListener获取一个构造函数实现leaderboard

 

 

 

 

 

public class MyGame implements ApplicationListener {

   private final Leaderboard leaderboard;

 

   public MyGame(Leaderboard leaderboard) {

      this.leaderboard = leaderboard;

   }

 

   // rest omitted for clarity

}


 

 

 

 

 

在启动类里创建MyGame示例,通过相应的leaderboard作为参数。

 

 作者:宋志辉 
出处:http://blog.csdn.net/song19891121
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 
支持: 新浪微博 腾讯微博

 

 

 

 

目录
相关文章
|
Java 测试技术 开发者
初学者入门:掌握单元测试的基础与实践
【10月更文挑战第14天】单元测试是一种软件测试方法,它验证软件中的最小可测试单元——通常是单独的函数或类——是否按预期工作。单元测试的目标是确保每个模块在其自身范围内正确无误地运行。这些测试应该独立于其他模块,并且应该能够反复执行而不受外部环境的影响。
318 2
|
5G 网络架构
已解决:树莓派外接硬盘 usb 或者sata 导致wifi无法链接 无线网卡无法使用问题
已解决:树莓派外接硬盘 usb 或者sata 导致wifi无法链接 无线网卡无法使用问题
427 4
|
8月前
|
数据采集 传感器 算法
从数据中挖掘洞见:初探数据挖掘的艺术与科学
从数据中挖掘洞见:初探数据挖掘的艺术与科学
200 11
|
11月前
|
运维 物联网 数据处理
TDengine vs InfluxDB:谁的“流式计算”功能是真的?
随着物联网、车联网、工业物联网等领域的快速发展,时序数据的处理需求也在不断增加。为了满足这一需求,时序数据库应运而生,为高频数据写入和实时分析提供了强有力的支持。在这一领域,TDengine 和 InfluxDB 是两大领先的解决方案。尽管两者都具有强大的时序数据处理能力,但在流式计算方面,二者存在显著差异。
260 5
|
机器学习/深度学习 算法 关系型数据库
【文献学习】DeepReceiver: A Deep Learning-Based Intelligent Receiver for Wireless Communications in the Ph
文章介绍了一种名为DeepReceiver的基于深度学习的无线通信智能接收机模型,它通过输入IQ信号并输出恢复的信息比特流,能够适应不同的调制和编码方式,在噪声、射频损伤、信道衰落等非理想条件下进行性能验证。
319 0
|
存储 机器学习/深度学习 数据采集
深入解析大数据核心概念:数据平台、数据中台、数据湖与数据仓库的异同与应用
深入解析大数据核心概念:数据平台、数据中台、数据湖与数据仓库的异同与应用
|
Ubuntu Linux
【问题复盘】在Ubuntu 20.04下安装OFED驱动 复盘:在Ubuntu 20.04下安装OFED驱动
整个问题主要是由于不同的内核版本导致文件路径不同,进而导致安装过程中某些库无法按预期安装而出现问题。 为什么使用最新的OFED驱动解决了问题呢?推测是最新驱动补充了之前缺失的某些文件,因此后续安装过程能够正常进行。 例如,在OFED 5.4中,某个安装所需的文件F位于A处,但安装程序却在B处查找该文件,导致报错。而在OFED 5.8中,该安装所需的文件F被移回到B处,此时不管去哪里查找都能找到文件F,因此安装可以正常进行。
1104 0
|
供应链 JavaScript
企业数字化转型会用到哪些系统?
企业在实施数字化转型过程中,会使用多个系统来支持不同的业务需求和功能。
362 0
|
新零售 供应链 大数据
良久团购项目系统开发|方案设计|详情模式
新零售是在互联网技术深刻影响了人们的生产和生活之后,基于行业上下游现状衍生出来的全新模式
|
数据可视化 数据挖掘 关系型数据库
招聘信息数据分析及可视化|以51JOB为例进行
招聘信息数据分析及可视化|以51JOB为例进行
714 0