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

 

 

 

 

 

你可能感兴趣的:(libgdx)