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

    

 

 

 

 

文章结束给大家分享下程序员的一些笑话语录: 那是习惯决定的,一直保持一个习惯是不好的!IE6的用户不习惯多标签,但是最终肯定还是得转到多标签的浏览器。历史(软件UI)的进步(改善)不是以个人意志(习惯)为转移的!

你可能感兴趣的:(libgdx)