【发布时间】:2014-12-28 22:23:39
【问题描述】:
我读到,你不应该使用构造函数。如何用 onCreate() 替换构造函数?
我需要 onCreate() 因为我喜欢用系统服务来实现振动
在 MainActivity 中
gameEngine = new GameEngine((SensorManager)getSystemService(Context.SENSOR_SERVICE),gameView,this,this);
GameEngine 中的构造函数
public GameEngine(SensorManager sensorManager, IGameView gameView, OnPlayerInHouseListener onPlayerInHouseListener, OnGameOverListener onGameOverListener) {
this.sensorManager = sensorManager;
this.gameView = gameView;
this.onPlayerInHouseListener = onPlayerInHouseListener;
this.onGameOverListener = onGameOverListener;
this.gameView.clearObstacles();
}
【问题讨论】:
-
我不明白你的问题。你能告诉我你在哪里读到你不能使用构造函数的参考吗? onCreate() 由系统在创建 Activity 时调用。您需要做的就是覆盖它并调用超类并在 onCreate() 中执行您想要执行的任何其他操作(如初始化、设置内容视图等)。希望对您有所帮助。
-
另外,您不需要将 sensorManager 作为参数发送给 GameEngine 构造函数。您可以通过应用程序上下文的 getSystemService() 调用来访问它。
标签: android constructor oncreate vibration