市场上的Android应用都能够自动提示升级更新,这里就完整的来实现一下AndroidAPP,实现自动升级的功能。
Demo地址:http://download.csdn.net/detail/ericfantastic/9250609
效果图:
具体如何实现,其实不难,先看看流程:
本地AndroidApp必须要先有一个版本号用于标识当前版本,再从服务器获取服务器最新版本,进行相比较。
实现流程:
1、Manifest.xml添加联网权限,读写SD卡权限,版本号versionCode和版本名versionName,其中versionCode用来比较版本使用的变量,versionName为用于显示在界面上的版本字符串。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.eric.androidupdatedemo"
android:versionCode="1"
android:versionName="01.00.01" >
<uses-permission android:name='android.permission.INTERNET'/> <!-- 联网权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <!-- 写入SD卡权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!-- 在SD卡中创建和删除文件的权限 -->
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="14" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_wid
文章浏览阅读2.1k次。pom.xml配置<!-- pagehelper --><!-- 版本使用参考MVNrepository --><dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>最新版本</version></dependency&g_分页查询page参数介绍
文章浏览阅读1.2w次,点赞40次,收藏77次。python安装步骤详细教程,看完不会来砍我,谢谢支持_python环境搭建
文章浏览阅读9.3k次。#!/bin/bashfor i in 01 02 03 04dogrep -r KEYWORD /home/201807$i/FILENAME > 201807$i.txtdone _grep几个文件夹下的所有文件
文章浏览阅读135次。1IOCTL的调用逻辑之所以要分析这个,是因为上层wpa_supplicant和WIFI驱动打交道的方式,多半是通过ioctl的方式进行的,所以看看它的调用逻辑(这里只列出其主要的调用逻辑): 上面便是用户ioctl调用的流程图,它最终分为两条线即有两种支持,选择那一条或两条都选(个人感觉最好选第2条线,因为它最后也..._wifi tx early mode
文章浏览阅读7.3k次,点赞6次,收藏11次。1.页面刷新时,判断URL地址与左边导航栏定位是否相符PS1:window.location.hash返回从井号#开始的地址,例如http://aaa.com/#/action/aboutUs,window.location.hash获取的是#/action/aboutUsPS2:Location对象属性2.刷新页面,定位到相当于的导航栏..._vue导航栏进入一个页面自动刷新
文章浏览阅读1w次。在css中,可以利用z-index属性来设置层级,该属性可以设置元素的堆叠顺序,拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面;语法格式“z-index:数值;”,允许使用负值。本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。在css中,可以利用z-index属性来设置层级。z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素..._css层级
文章浏览阅读642次。Radio Bearer (RB)是基站为UE分配空口不同层协议实体及配置的总称,包括PDCP协议实体、RLC协议实体、MAC协议实体和PHY分配的一系列资源等。它包含一组Qos和无线资源描述的参数。_基站配置drb
文章浏览阅读3.2k次。7、将当前摄像头以及扬声器通过DSHOW采集,使用H.264/AAC压缩后推送到RTMP服务器。4、将其中一个直播流中的视频改用H.264压缩,音频改用aac压缩,推送到另外一个直播服务器。3、将其中一个直播流中的视频改用H.264压缩,音频不变,推送到另外一个直播服务器。5、将其中一个直播流中的视频不变,音频改用aac压缩,推送到另外一个直播服务器。6、将一个高清流复制为几个不同清晰度的流重新发布,其中音频不变。10、将AAC文件转化为flv文件,编码格式采用AAC。1、将文件当作源推送到。_ffmpeg推流rtmp命令
文章浏览阅读3.1w次,点赞59次,收藏210次。文章目录如何在 Typora 中插入图片直接写 Markdown拖拽图片从剪贴板中粘贴图片插入图片时做的动作上传图片配置图片上传服务iPicuPicPicGo-Core(命令行应用)安装预编译好的 PicGo-Core 二进制程序通过 Node.js 包管理器安装 PicGo-Core配置 PicGo-Core插件使用PicGo.app(仅支持中文)Custom插入图片时自动上传全局设置针对每一个文件单独设置上传图片的使用上传指定的图片上传所有本地图片阅读本文的前置条件:掌握基本的 Markdown _typora插入图片
文章浏览阅读299次。Webbench是知名的网站压力测试工具,它是由Lionbridge公司(http://www.lionbridge.com)开发。Webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数和每秒钟传输数据量。webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,J..._webbench 实验
文章浏览阅读7k次,点赞18次,收藏105次。本文章详细介绍了外部中断的基础知识,以及有关外部中断的寄存器与固件库函数,实验内容也做了详细的讲解。_外部中断
文章浏览阅读351次。<转载>电话号码正则表达式 2009年10月21日 星期三 03:03 P.M. 电话号码正则表达式 (支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号) ((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-..._3.使用正则表达式测试从字符串中识别 a)邮编号码 b)区号-座机号码 c)手机号码