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

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
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 
支持: 新浪微博 腾讯微博

 

 

 

 

原文地址:https://www.cnblogs.com/javawebsoa/p/3074144.html