第三百六十五回

文章目录

  • 1. 概念介绍
  • 2. 方法与信息
    • 2.1 获取方法
    • 2.2 详细信息
  • 3. 示例代码
  • 4. 内容总结

我们在上一章回中介绍了"如何获取设备信息"相关的内容,本章回中将介绍如何获取App自身的信息.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 概念介绍

我们在本章回中获取的App自身信息主要指App的包名称,编译版本号等信息。如果是原生开发的话,使用官方提供的接口就可以实现,但是在Flutter开发中没有类似的
接口,怎么办呢?本章回中将给大家介绍如何去获取这些App自身信息。

2. 方法与信息

2.1 获取方法

我们想要获取的App自身信息可以通过package_info_plus这个三方包来实现。该包提供了相关的接口来获取App自身信息。详细的使用方法如下:

  • 添加包的信息到yaml配置文件中,然后通过get命令获取包;
  • 创建包中提供的App类型对象,并且通过包中提供的静态方法:fromPlatform()获取到该对象;
  • App相关的信息为类的成员属性,从对象的属性中获取App自身的信息;
    上面的方法看着简单,不过还有一些内容需要注意:获取App自身信息时需要使用异步操作,不然无法获取到App自身的信息。

2.2 详细信息

App自身的信息以类的成员属性存放在类的对象中,下面是类中的成员属性,请大家参考:

  /// The app name. `CFBundleDisplayName` on iOS, `application/label` on Android.final String appName;/// The package name. `bundleIdentifier` on iOS, `getPackageName` on Android.final String packageName;/// The package version. `CFBundleShortVersionString` on iOS, `versionName` on Android.final String version;/// The build number. `CFBundleVersion` on iOS, `versionCode` on Android./// Note, on iOS if an app has no buildNumber specified this property will return version/// Docs about CFBundleVersion: https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleversionfinal String buildNumber;/// The build signature. Empty string on iOS, signing key signature (hex) on Android.final String buildSignature;/// The installer store. Indicates through which store this application was installed.final String? installerStore;

3. 示例代码

  ///获取当前app的版本信息void getPackageInfo() async {var pkgInfo = await PackageInfo.fromPlatform();debugPrint("package info: ${pkgInfo.toString()}");}

上面的示例代码演示了如何获取App自身的信息,编译并且运行上面的程序可以得到下面的运行结果:

  ///打印出的信息如下:///appName: fluttercookbook, buildNumber: 1, packageName: com.cookbook.flutter.fluttercookbook, version: 1.0.0

4. 内容总结

最后,我们对本章回的内容做一个全面的总结:

  • Flutter没有提供获取App自身信息的接口,可以通过三方包实现;
  • 获取的App信息存放在类的成员属性中,可以通过类的对象获取到;
  • 获取App自身信息需要通过异步操作来实现;
    看官们,与"如何获取App自身的信息"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2807577.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【mysql】1000w数据量的分页查询SQL,如何优化提升性能?

文章目录 优化场景特别注意!!!有前提,谨慎使用 优化场景 当表数据量非常大时,需要进行分页查询如果慢的时候,可以考虑优化下。 假设一页展示10条,查询第10w条后面的数据时候变慢了… 优化思路&…

【Java程序设计】【C00284】基于Springboot的校园疫情防控管理系统(有论文)

基于Springboot的校园疫情防控管理系统(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的校园疫情防控系统 本系统分为系统功能模块、管理员功能模块以及学生功能模块。 系统功能模块:在系统首页可以查…

【Unity】双击C#脚本文件以单个文件打开(Visual Studio)、父类找不到、引用找不到、无法跳转等问题

问题:新安装一个Unity后,突然发现在工程里双击C#脚本,会一个一个打开,虽然也是用VS软件打开了,但是它无法被正确识别为Unity工程的C#脚本,也就是说所有命名空间无效,因为没关联上整个工程的解决…

【蓝牙协议栈】常见蓝牙分析工具介绍

目录 1. HCI 录制工具 2. Air log 工具 3. Vendor chip 工具 本文主要介绍调试蓝牙协议栈,定位蓝牙问题的工具,而不是常用的编译烧录工具等,也不是开发蓝牙芯片的工具!本小节计划通过几个方面以及场景来介绍调试蓝牙的工具&…

【Vue3】‘vite‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

问题 今天拿到别人项目的时候,我平时比较习惯用pnpm,我就使用pnpm i先下载依赖包,下载完成后,启动项目,就开始报以下错误! 但是当我执行pnpm i的时候,vite不应该就已经被我下载下来了吗 研究了…

【数据结构和算法初阶(C语言)】时间复杂度(衡量算法快慢的高端玩家,搭配例题详细剖析)

目录 1.算法效率 1.1如何衡量一个算法的好坏 1.2 算法的复杂度 2.主菜-时间复杂度 2.1 时间复杂度的概念 2.2 大O的渐进表示法 2.2.1算法的最好,最坏和平均的情况 3.经典时间复杂度计算举例 3.1计算冒泡排序的时间复杂度 3.2计算折半查找的时间复杂度 3.…

LLM权重量化

LLM权重量化 浮点表示的背景知识Nave 8位量化使用LLM.int8() 进行8位量化结论References 大型语言模型(llm)以其广泛的计算需求而闻名。通常,模型的大小是通过将**参数的数量(大小)乘以这些值的精度(数据类型)**来计算的。为了节省内存,可以通过称为量化…

Windows中的Git Bash运行conda命令:未找到命令的错误(已解决)

在windows中的Gitbash中 打开激活conda环境,并运行(前提是你先安装好git(自己去官网下载))。 要能够在Gitbash上运行Conda, 临时配置 如果你只是临时用一下,就是临时爽一把,那就按…

【Linux】docker构建环境编译运行linux内核

文章目录 1. 使用docker构建linux内核编译运行环境1.1. 为普通用户安装docker并验证是否安装成功1.1.1. 安装docker稳定版1.1.2. 启动docker1.1.3. 将当前用户加入docker用户组1.1.4. 验证docker是否安装成功 1.2. docker基本使用1.2.1. 列出所有镜像1.2.2. 查看当前所有容器的…

C#之WPF学习之路(1)

目录 WPF的起源 C的qt和C#的wpf对比 winform 和 wpf有什么区别 安装 Visual Studio2022 创建 HelloWorld 程序 App.xaml与Application类 Application的生命周期 Window窗体的生命周期 WPF的起源 WPF(Windows Presentation Foundation)是一种用于…

基于SpringBoot的停车场管理系统

基于SpringBootVue的停车场管理系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringBootMyBatis工具:IDEA/Ecilpse、Navicat、Maven 系统展示 前台首页 停车位 个人中心 管理员界面 摘要 摘要:随着城市化进程的…

ubantu设置mysql开机启动

阅读本文之前请参阅----MySQL 数据库安装教程详解(linux系统和windows系统) 在Ubuntu系统中设置MySQL开机启动,通常有以下几种方法: 1. **使用systemctl命令**: Ubuntu 16.04及更高版本使用systemd作为…

图像压缩感知的MATLAB实现(OMP)

前面实现了 压缩感知的图像仿真(MATLAB源代码) 效果还不错,缺点是速度慢如牛。 下面我们采用OMP对其进行优化,提升速度。具体代码如下: 仿真 构建了一个MATLAB文件,所有代码都在一个源文件里面&#xf…

【鸿蒙开发】第十四章 Stage模型应用组件-任务Mission

1 任务(Mission)管理场景 任务(Mission)管理相关的基本概念如下: AbilityRecord:系统服务侧管理一个UIAbility实例的最小单元,对应一个应用侧的UIAbility组件实例。系统服务侧管理UIAbility实例数量上限为512个。 Mi…

#FPGA(IRDA)

1.IDE:Quartus II 2.设备:Cyclone II EP2C8Q208C8N 3.实验:IRDA(仿真接收一个来自0x57地址的数据0x22 (十进制34)) 4.时序图: 5.步骤 6.代码: irda_receive.v module irda_receive ( input wire…

Llama2模型的优化版本:Llama-2-Onnx

Llama2模型的优化版本:Llama-2-Onnx。 Llama-2-Onnx是Llama2模型的优化版本。Llama2模型由一堆解码器层组成。每个解码器层(或变换器块)由一个自注意层和一个前馈多层感知器构成。与经典的变换器相比,Llama模型在前馈层中使用了不…

MySQL sql注意点

本文列取了常用但是容易遗漏的一些知识点。另外关键词一般大写,为了便于阅读所以很多小写。也为了给自己查缺补漏。 distinct(去重) 也许你经常对单个字段去重,并且知道不建议用distinct,而是group by,因为…

FL Studio21中文版功能、特点、使用场景及适用人群详解

一、功能介绍 FL Studio21中文版作为一款功能全面的数字音频工作站(DAW),提供了从音乐创作到后期混音所需的完整工具集。以下是其主要功能: FL Studio 21.2.3 Win-安装包下载如下: https://wm.makeding.com/iclk/?zoneid55981 …

Vue3_基础使用_3_Hooks模块化

今天主要学习的是hooks, vue3的使用比vue2方便很多了,但是呢各个功能块的逻辑有时候还是会缠绕在一起,这个时候使用hooks进行模块化管理开发,说白了就是将每个单独的业务放到自己的.ts中去写,以后修改就找到这个ts 不用到处去翻…

VsCode的leetcode插件无法登录

前提 想使用VsCode的leetcode插件进行刷题,然后按照网上的教程进行安装下载,但是到了登录这一步,死活也登录不了,然后查看log一直报的错误是invalid password。 解决方法 首先确定在插件中设置的站点是Leetcode中国&#xff0c…