在选项卡式应用程序中的何处放置位置代码?
Posted
技术标签:
【中文标题】在选项卡式应用程序中的何处放置位置代码?【英文标题】:Where to place the location code in a tabbed application? 【发布时间】:2014-08-23 23:41:38 【问题描述】:我碰巧有一个包含三个选项卡的应用程序,其中每个选项卡都是一个片段。在其中一个片段中,我需要获取用户的位置,而在除主片段之外的活动中,我还需要获取用户的位置。
我的问题是:放置代码以获取用户位置的最佳位置在哪里?
我已将相同的代码剪切并粘贴到两个位置(片段和活动),但这似乎效率极低。我认为我会将代码放在主要活动中并使用静态值...任何建议/cmets 将不胜感激。
此外,“最佳实践”是否会规定,如果我使用选项卡式界面,我只保留一个活动并使用片段来完成所有操作,例如操作栏功能?
谢谢,
分钟 = 18 目标 = 19
【问题讨论】:
【参考方案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
,因为很多设备(例如我的手机)会错过您的应用。
希望对您有所帮助:)
【讨论】:
以上是关于在选项卡式应用程序中的何处放置位置代码?的主要内容,如果未能解决你的问题,请参考以下文章
为啥这段代码在运行时会崩溃?它只是选项卡式视图中 SwiftUI 中的选择器