将位置代码放在选项卡式应用程序中的位置?

时间:2014-07-03 01:44:48

标签: android android-fragments android-tabs android-location

我碰巧有一个三标签应用程序,其中每个标签都是一个片段。在其中一个片段中,我需要获取用户的位置,而不是主要的活动,我还需要抓住用户的位置。

我的问题是:放置代码以获取用户位置的最佳位置在哪里?

我已将相同的代码剪切并粘贴到两个位置(片段和活动),但这似乎效率极低。我认为我会将代码放在Main活动中并使用静态值......任何建议/意见都将不胜感激。

此外,“最佳实践”是否会规定如果我使用的是选项卡式界面,我只保留一个活动,并将片段用于操作栏功能等所有内容?

谢谢,

min = 18 target = 19

1 个答案:

答案 0 :(得分:0)

我建议创建另一个类并将代码放入其中(静态方法)并从活动和片段中调用它们。 注意:它与在两个类中放置代码没有什么不同。类似的东西:

public class LocationUtil {

    public static boolean isGpsEnabled(Context context) {
        // Relative code
    }

    public static boolean isNetworkEnabled(Context context) {
        // Relative code
    }

    public static Location getCurrentLocation(Context context) {
        // Relative Code
    }

}

但是如果你每次打开应用程序时都需要获取用户的当前位置(我不需要,起初我让他选择我建议只获取一次该位置并将其存储在SharedPreferences中,因为它耗电量更少。

如果您想定期获取该位置,我建议您使用LocationManager.requestLocationUpdates()。你可以在这里查看一下。

我没有完全理解你的最后一个问题,但它并没有太大差异。

友好建议: 如果您不需要API 18中引入的内容,请减少minSdkVersion,因为许多设备(例如我的手机)都会丢失您的应用。

希望有所帮助:)