前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ArkTS-Environment设备环境查询

ArkTS-Environment设备环境查询

作者头像
酒楼
发布2023-07-05 16:17:43
2340
发布2023-07-05 16:17:43
举报
文章被收录于专栏:酒楼酒楼

Environment设备环境查询

开发者如果需要应用程序运行的设备的环境参数,以此来做出不同的场景判断,比如多语言,暗黑模式等,需要用到Environment设备环境查询。

Environment是ArkUI框架在应用程序启动时创建的单例对象。它为AppStorage提供了一系列描述应用程序运行状态的属性。

Environment是所有属性都是不可变的(即应用不可写入),所有的属性都是简单类型。

使用场景

从UI中访问Environment参数

使用Environment.EnvProp将设备运行的环境变量存入AppStorage中:

代码语言:javascript
复制
//将设备的语言code存入AppStorage,默认值为en
//后续设备的预览设置切换,都将同步到AppStorage中
Environment.EnvProp('languageCode','en');

可以使用@StorageProp链接到Component中。Component会根据设备运行环境的变化而更新:

代码语言:javascript
复制
@StorageProp('languageCode') lang : string = 'en';

设备环境到Component的更新链: Environment –> AppStorage –> Component.

代码语言:javascript
复制
//将设备languageCode存入AppStorage中
Environment.EnvProp('languageCode','en');
let enable = AppStorage.Get('languageCode');

@Entry
@Component
struct Index{
    @StorageProp('languageCode') languageCode: string = 'en';
    
    build(){
        Row(){
            Column(){
                //输出当前设备的languageCode
                Text(this.languageCode)
            }
        }
    }
}

应用逻辑使用Environment

代码语言:javascript
复制
//使用Environment.EnvProp将设备运行languageCode存入AppStorage中;
Environment.EnvProp('languageCode','en');
//从AppStorage获取单向绑定的languageCode的变量
const lang: SubscribeAbstractProperty<string> = AppStorage.Prop('languageCode');

if(lang.get() === 'zh'){
    console.info('你好');
}else{
    console.info('Hello!')
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Environment设备环境查询
    • 使用场景
      • 从UI中访问Environment参数
    • 应用逻辑使用Environment
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档