本文是一篇关于接口实现的帖子
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
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面显著位置给出原文连接,否则保留查究法律责任的权利。
支撑: 新浪微博 腾讯微博
文章结束给大家分享下程序员的一些笑话语录: 那是习惯决定的,一直保持一个习惯是不好的!IE6的用户不习惯多标签,但是最终肯定还是得转到多标签的浏览器。历史(软件UI)的进步(改善)不是以个人意志(习惯)为转移的!