android获取版本号报错,Android开发:获取安卓App版本号的方法步骤

在Android开发过程中,想要开发一个完整功能的App,各个地方的内容都要涉及到,比如获取App的系统版本号就是必须要有的功能。Android的App版本号相关内容比iOS的App版本号内容要多,而且iOS版的App版本信息跟Android的还不一样。本篇文章就来介绍一下Android开发中获取App版本号的方法步骤,方便以后使用。获取App版本号常用的有两个方法,这两种方式都能获取到系统版本号,请根据实际需求或者偏好来选择任何一种方法即可。

方法一:

1、打开项目工程,找到左侧项目目录里面的app目录下的build.gradle文件,然后单击进入,然后找到defaultConfig文件里面的“versionName”选项,这个选项对应的就是系统版本号信息。

9ac0a0b8b939d269f90603d3e04ed6a6.png

2、在需要展示App系统版本号的xml文件里面进行布局,具体代码如下所示:

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:background="#2B2C2D"

tools:context="com.mvvm.activity.TeaMineVersionActivity">

app:layout_scrollFlags="scroll|enterAlways"

android:id="@+id/toobar"

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/version_i"

android:layout_marginTop="@dimen/dp50"

android:layout_width="140dp"

android:layout_height="140dp"

android:layout_centerHorizontal="true"

android:background="@color/white"

android:src="@drawable/mine_version"/>

android:id="@+id/showVersion"

android:layout_width="match_parent"

android:layout_height="40dp"

android:layout_centerHorizontal="true"

android:layout_below="@+id/version_i"

android:textSize="@dimen/dp16"

android:textAlignment="center"

android:textColor="@color/white"

android:layout_marginLeft="@dimen/dp20"

android:layout_marginTop="@dimen/dp20"/>

4b7f4c706c8995e1f0cd1dc0c4412601.png

3、在java文件里面进行对应获取App版本号的代码操作,具体代码如下所示:

private TextView showVersion = null;

showVersion = (TextView)findViewById(R.id.showVersion);

showVersion.setText("TE: "+getAppVersionName(getApplicationContext()));

public static String getAppVersionName(Context context) {

String versionName = "";

try {

PackageManager pm = context.getPackageManager();

PackageInfo pi = pm.getPackageInfo(context.getPackageName(),0);

versionName = pi.versionName;

if (versionName == null || versionName.length() <= 0) {

return "";

}

} catch (Exception e) {

Log.e("VersionInfo", "Exception", e);

}

return versionName;

}

69032059d777958cfaa6021d20549d98.png

方法二:

1、具体操作步骤同方法一的步骤1;

2、具体操作步骤同方法一的步骤2;

3、在java文件里面的具体操作代码如下所示:

private TextView showVersion = null;

showVersion = (TextView)findViewById(R.id.showVersion);

showVersion.setText("TE: "+getVersionName());

private String getVersionName() {

String version = "";

try {

//获取PackageManager实例

PackageManager packageManager = getPackageManager();

//getPackageName()是当前类的包名,0表示获取版本信息

PackageInfo packeInfo = packageManager.getPackageInfo(getPackageName(),0);

version = packeInfo.versionName;

} catch (Exception e) {

Log.e("VersionInfo","Exception",e);

}

return version;

}

b66c0df99e59856145ee0f9fd4cab30f.png

具体实现效果如下所示:

fe591511774adf71a86ef75b3f79df30.png

以上就是本章全部内容,欢迎关注三掌柜的微信公众号“iOS开发by三掌柜”,三掌柜的新浪微博“三掌柜666”,欢迎关注!

三掌柜的微信公众号

三掌柜的新浪微博

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

运营也用的起来的数据分析工具:Quick BI即席分析详解

简介&#xff1a; 数据部门是一个容易被投诉的“高危”部门&#xff0c;需求响应慢、数据准确性不高会影响业务的发展。 然而数据分析师每周动辄就有几十个需求在手&#xff0c;无限的加班也无法解决所有问题&#xff0c;到底怎样才能改变BI分析师的需求响应问题呢&#xff1f;…

腾讯云连续四年排名中国音视频解决市场第一,头部厂商中RTC增速第一

1月11日&#xff0c;记者了解到&#xff0c;国际数据公司&#xff08;IDC&#xff09;发布的《中国视频云市场跟踪(2021上半年)》(下简称“报告”)显示&#xff0c;2021上半年中国视频云市场规模达到43.7亿美元&#xff0c;同比增长达到38.7%。其中&#xff0c;音视频解决方案市…

iphone版 天行skyline_SkyLine

1、创建私钥openssl dsaparam -out dsaparam.pem 2048; openssl gendsa-out privkey.pem dsaparam.pem​2、创建证书请求文件csr(根据提示填内容)openssl req -new -key privkey.pem -out cert.csr3、创建证书​openssl req -new -x509 -key privkey.pem -out cacert.pem-days …

【产品动态】解读Dataphin流批一体的实时研发

简介&#xff1a; Dataphin作为一款企业级智能数据构建与管理产品&#xff0c;具备全链路实时研发能力&#xff0c;从2019年开始就支撑可集团天猫双11的实时计算需求&#xff0c;文章将详细介绍Dataphin实时计算的能力。 背景 每当双11全球购物狂欢节钟声响起&#xff0c;上千…

android实现10ms定时器,Android三种实现定时器的方法

方法一、使用Handler和Thread(线程)实现定时器package com.xunfang.handerDemo;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.widget.TextView;public class HanderDemoActivity extends Activi…

springboot设置默认值_spring boot jpa存储数据的默认值为java的默认值

问题描述使用jpa的save方法保存数据后返回的实体类为java数据类型的默认值问题出现的环境背景及自己尝试过哪些方法环境背景: 用户新增功能,调用新增接口后根据返回对象的id去查询等级表的等级.尝试方法:最开始返回的是null,但是数据库的字段默认值设置的是1,后来实体类加上Dyn…

Aruba与中国电信国际有限公司达成战略合作 助力中国企业扬帆出海

2022年1月12日&#xff0c;慧与科技公司 (NYSE: HPE) 旗下Aruba日前宣布&#xff0c;与中国电信国际有限公司&#xff08;CTG&#xff09;签署MSP&#xff08;托管服务运营商&#xff09;战略合作伙伴协议&#xff0c;Aruba的产品将纳入中国电信国际有限公司的主营产品线。协议…

模仿Spring实现一个类管理容器

简介&#xff1a; 项目的初衷是独立作出一个成熟的有特色的IOC容器,但由于过程参考Spring太多,而且也无法作出太多改进,于是目的变为以此项目作为理解Spring的一个跳板,与网上的一些模仿Spring的框架不同,本项目主要是针对注解形式 概述 项目的初衷是独立作出一个成熟的有特色…

nginx python cgi_Python的CGIHTTPServer交互实现详解

介绍对于服务器后端开发者而言&#xff0c;有时候需要把自己的一些服务直接暴露给PM或者其他RD使用&#xff0c;这个时候需要搭建一套web服务可以和前端用户做简单交互&#xff0c;按照最常规的做法&#xff0c;一般是用Apache或者Nginx作为webserver后端使用cgi或者fcgi程序或…

湖仓一体化的路,很多人都只走了一半

2022已至&#xff0c;如果回看2021&#xff0c;这一年无疑是数据的价值进一步体现的一年。数据应用场景不断丰富&#xff0c;从工业、交通、金融到制造&#xff0c;几乎无处不在。当然&#xff0c;数据价值的迅速提升也给开发者和相关企业带来了新的问题。数据量的爆发让存储成…

学术顶会再突破!计算平台MaxCompute论文入选国际顶会VLDB 2021

简介&#xff1a; VLDB 2021上&#xff0c;阿里云计算平台MaxCompute参与的论文入选&#xff0c;核心分布式调度执行引擎Fangorn、基于TVR Cost模型的通用增量计算优化器框架Tempura等分别被Industry Track、Research Track录取。 一、顶会概览 VLDB 2021上&#xff0c;阿里云…

linux从新手到高手,1.3 养成良好的Linux操作习惯免费阅读_循序渐进Linux(第2版) 基础知识 服务器搭建 系统管理 性能调优 虚拟化与集群应用免费全文_百度阅读...

看出点玄机了吗&#xff1f;在上例中&#xff0c;其实“/etc/*”就代表了/etc目录下的所有文件以及子目录&#xff0c;而这刚好是zip命令“-r”选项完成的功能。5)将/opt/etc.zip压缩文件全部解压到/etc目录下&#xff0c;除了etc/inittab文件之外&#xff0c;并且在解压过程中…

技术干货 | 应用性能提升 70%,探究 mPaaS 全链路压测的实现原理和实施路径

简介&#xff1a; 全链路压测方案下&#xff0c;非加密场景下至少有 70% 的性能提升&#xff0c;加密场景下 10%的性能提升&#xff0c;并在 MGS 扩容完成后可实现大幅的性能提升&#xff0c;调优的结果远超预期。 业务背景 随着移动开发行业的步入存量时代&#xff0c;App 整…

python二叉树去重_python二叉树学习分享

介绍&#xff1a;树形结构是应用相当广泛的一种非线性结构&#xff0c;建立与应用大多使用链表来处理&#xff0c;当然也可用连续的列表来实现常见概念&#xff1a;满二叉树&#xff1a;如果树高位H&#xff0c;树的结点总数为2*H-1&#xff0c;H>0,称为满二叉树完全二叉树&…

投稿指南 | 云计算领域最前沿资讯、技术,期待您的专业解读!

我们是谁&#xff1f;CSDN云计算是CSDN旗下官方账号&#xff0c;提供云计算、大数据、虚拟化、数据中心、OpenStack、CloudStack、机器学习、智能算法等相关云计算观点、云计算技术、云计算平台、云计算实践、云计算产业咨询等服务。内容平台方面&#xff0c;我们的目标读者主要…

DataWorks 功能实践速览03期 — 生产开发环境隔离

简介&#xff1a; DataWorks功能实践系列&#xff0c;帮助您解析业务实现过程中的痛点&#xff0c;提高业务功能使用效率&#xff01; 往期回顾&#xff1a; DataWorks 功能实践速览01期——数据同步解决方案&#xff1a;为您介绍不同场景下可选的数据同步方案。DataWorks 功…

鸿蒙手表esim,鸿蒙手表终于来了!或将支持 eSIM,实现独立通话

原标题&#xff1a;鸿蒙手表终于来了&#xff01;或将支持 eSIM&#xff0c;实现独立通话根据此前的爆料消息&#xff0c;华为将于 6 月份带来与鸿蒙相关的产品发布会&#xff0c;备受瞩目的平板、手表等新品也将亮相。临近产品发布&#xff0c;华为官方也开始了新品的预热。今…

Pull or Push?监控系统如何选型

简介&#xff1a; 对于建设一套公司内部使用的监控系统平台&#xff0c;相对来说可选的方案还是非常多的&#xff0c;无论是用开源方案自建还是使用商业的SaaS化产品&#xff0c;都有比较多的可选项。但无论是开源方案还是商业的SaaS产品&#xff0c;真正实施起来都需要考虑如何…

k8s 集群居然可以图形化安装了?

作者 | 小碗汤来源 | 我的小碗汤今天分享一个可以图形化搭建k8s集群的项目&#xff0c;不妨试一试~本项目是基于 Kubespray 提供图形化的 K8S 集群离线安装、维护工具。Kubespray&#xff1a;https://github.com/kubernetes-sigs/kubesprayKuboard-SprayKuboard-Spray 是一款可…

poi excel导入 判断合并单元格_Excel合并单元格,你需要知道的那些事

合并单元格&#xff0c;是我们经常使用的一个功能。借助合并单元格功能&#xff0c;我们可以制作跨列表头&#xff0c;可以对数据进行显示上的分类&#xff0c;使数据看起来更加清晰明了&#xff0c;让我们的Excel表格看起来更加专业。找到菜单栏的合并单元格功能&#xff0c;我…