我有一个GPSActivity类,它基本上计算每次更新位置时的总行进距离。我的问题是我希望能够在另一个活动中显示屏幕上行进的距离,并在距离改变时将显示更新到新的距离。我环顾四周但找不到有用的答案。感谢您的帮助。
答案 0 :(得分:-1)
您尚未表明当时此“其他活动”是否有效。如果不是,你需要重新思考如何处理事情。
听起来您的GPSActivity类应该是服务,而不是活动。此服务可以通过多种方式启动,以便它可以收集其数据。您的活动(仅应在需要UI时使用)可以在您希望获得更新时附加到您的服务。如果您希望服务能够推动更新,那么您的服务可以在有更新时进行广播,您的活动可以创建一个广播监听器来接收它们。
对广播和服务的研究将使人们更容易了解这些Android概念。
答案 1 :(得分:-1)
你应该像这样将Share变量存储在SharePreference中。
在所有活动中拉出距离。
SharedPreferences settings = getSharedPreferences("distance", 0);
int distance = settings.getInt("distance", 0); //or String settings.getString();
要将距离放在共享首选项内,这就是..
SharedPreferences settings = getSharedPreferences("distance", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("distance", distance); // or editor.putString()
希望这有帮助!