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

Android 在选项卡式应用程序中放置位置代码的位置?,android,android-fragments,android-tabs,android-location,Android,Android Fragments,Android Tabs,Android Location,我碰巧有一个三个选项卡的应用程序,其中每个选项卡都是一个片段。在其中一个片段中,我需要获取用户的位置,在除main之外的活动中,我还需要获取用户的位置 我的问题是:哪里是放置代码以获取用户位置的最佳位置 我在两个位置(片段和活动)剪切并粘贴了相同的代码,但这似乎效率极低。我想我会把代码放在主活动中,并使用静态值。。。如有任何建议/意见,将不胜感激 此外,“最佳实践”是否会规定,如果我使用的是一个选项卡式界面,我只保留一个活动,并对所有内容(如actionbar函数)使用片段 谢谢 最小=18 t

我碰巧有一个三个选项卡的应用程序,其中每个选项卡都是一个片段。在其中一个片段中,我需要获取用户的位置,在除main之外的活动中,我还需要获取用户的位置

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

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

此外,“最佳实践”是否会规定,如果我使用的是一个选项卡式界面,我只保留一个活动,并对所有内容(如actionbar函数)使用片段

谢谢

最小=18
target=19

我建议创建另一个类,将代码放入其中(静态方法),并从活动和片段中调用它们注意:将代码放在两个类中没有区别。比如:

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
    }

}
但是如果你不需要每次打开应用程序时都获取用户的当前位置(我不需要,起初我让他选择一个位置),我建议只获取一次位置并将其存储在
共享参考文件中,因为它使用的电池和电能更少

同样,如果希望定期获取位置,我建议使用
LocationManager.requestLocationUpdates()
。你可以在这里查一下

我不完全理解你的最后一个问题,但差别不大

友好的建议: 如果你不需要API 18中介绍的东西,请减少你的
minSdkVersion
,因为很多设备(如我的手机)都会错过你的应用程序

希望能有所帮助:)