【问题标题】:Where to place the location code in a tabbed application?在选项卡式应用程序中的何处放置位置代码?
【发布时间】:2014-08-23 23:41:38
【问题描述】:

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

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

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

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

谢谢,

分钟 = 18 目标 = 19

【问题讨论】:

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


    【解决方案1】:

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

    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,因为很多设备(例如我的手机)会错过您的应用。

    希望对您有所帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多