在Android上检测温度刻度的首选方法是什么?

因此,选项包括:使用基于语言的检测或使用基于位置的检测.

>基于语言的检测应该很好,除非您不是
像我这样的英语母语人士,使用en_US但习惯了摄氏温度
在美国以外的地方扩展生活.
>基于位置的检测应为
除非您是欧洲人前往美国或
反之,在这种情况下,您的体重随行进而改变.

有系统范围的设置吗?似乎所有天气小部件都为您提供了在F / C之间切换的选项,但最好的方法是提前检测设置值.

解决方法:

What is the preferred way of detecting temperature scale on Android?

您通过询问用户她想要什么来“检测”它.

如果您希望使用其他方案之一作为默认答案,则可以最大程度地减少用户更改设置的需求.但是,没有什么可以替代给用户控制权的.

So options are: use language based detection or use location based detection

在这两种语言中,基于语言的检测的主要好处是不需要许可.

第三种选择是尝试根据SIM卡的移动国家/地区代码使用某些内容.那也不能保证是用户想要的,这就是为什么应用程序需要让用户更改您的默认设置的原因.

就我个人而言,我会选择语言,因为它的默认值不可能比其他语言严重得多,并且设置起来最容易.将res / values / bools.xml文件的use_celsius_default值设置为true.拥有一个将use_celsius_default设置为false的res / values-en-rUS / bools.xml.同样适用于rest / values-es-rUS / bools.xml.在代码中,getResources().getBoolean(R.id.use_celsius_default)将返回是否使用摄氏温度作为默认温度单位.

当然,我这门物理专业的学生想使用开尔文…

上一篇:在Xshell中文件内容显示乱码


下一篇:java-当“ inLocale”设置为土耳其语(JDK 1.6.0_29)时可用的语言环境显示国家?