`
xingyx
  • 浏览: 60723 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论
  • 52p9_xu: 感谢分享,本人最近闲来无事也想搭建一个 全注解的SSH框架。不 ...
    SSH注解框架

IONIC 自动更新APP版本

阅读更多

 

IONIC 自动更新APP版本

源自http://blog.csdn.net/dailuwen/article/details/49887607,非常感谢戴子的分享,为方便查阅,记录中自己的博客。

1、准备工作,添加插件

 

 

[java] view plain copy
 
 print?在CODE上查看代码片派生到我的代码片
  1. 如果cordova 未添加请先执行以下命令  
  2.     1、npm install bower -g //安装bower    
  3.     2、bower install ngCordova   //安装cordova  



 

1.1、添加获取APP版本信息插件

 

[java] view plain copy
 
 print?在CODE上查看代码片派生到我的代码片
  1. ionic plugin add cordova-plugin-app-version  


2.2、添加APP自动更新相关插件

 

 

[java] view plain copy
 
 print?在CODE上查看代码片派生到我的代码片
  1. ionic plugin add cordova-plugin-file    
  2. ionic plugin add cordova-plugin-file-transfer    
  3. ionic plugin add cordova-plugin-file-opener2  


2、在APP一运行的时候就进行检查版本信息(在run方法添加如下代码)

 

 

[java] view plain copy
 
 print?在CODE上查看代码片派生到我的代码片
  1. .run(function($ionicPlatform, $http, $rootScope, $ionicActionSheet, $timeout, $cordovaAppVersion,    
  2.         $ionicPopup, $ionicLoading, $cordovaFileTransfer, $cordovaFile, $cordovaFileOpener2) {    
  3.     $ionicPlatform.ready(function() {    
  4.         // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard    
  5.         // for form inputs)    
  6.         if (window.cordova && window.cordova.plugins.Keyboard) {    
  7.             cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);    
  8.         };    
  9.         if (window.StatusBar) {    
  10.             StatusBar.styleDefault();    
  11.         };    
  12.         //服务器上保存版本信息  
  13.         $http.get('http://localhost/app/ver.json')    
  14.         .then(function(data){    
  15.             var serverAppVersion = data.data.verInfo;//服务器 版本    
  16.             console.log("====>>服务器"+serverAppVersion);    
  17.             $cordovaAppVersion.getVersionNumber().then(function(version) {    
  18.                 console.log("version=====本机>>>"+version+"====>>服务器"+serverAppVersion);    
  19.                 if (version != serverAppVersion) {    
  20.                     $ionicLoading.show({    
  21.                         template: "已经下载:0%"    
  22.                     });    
  23.                     var url = "http://192.168.1.77:8080/app/android-debug.apk";     
  24.                     var targetPath = "file:///mnt/sdcard/Download/android-debug.apk";     
  25.                     var trustHosts = true    
  26.                     var options = {};    
  27.                     $cordovaFileTransfer.download(url, targetPath, options, trustHosts).then(function (result) {    
  28.                         $cordovaFileOpener2.open(targetPath, 'application/vnd.android.package-archive'    
  29.                         ).then(function () {    
  30.                             }, function (err) {    
  31.                             });    
  32.                         $ionicLoading.hide();    
  33.                     }, function (err) {    
  34.                         alert('下载失败');    
  35.                     }, function (progress) {                               
  36.                         $timeout(function () {    
  37.                             var downloadProgress = (progress.loaded / progress.total) * 100;    
  38.                             $ionicLoading.show({    
  39.                                 template: "已经下载:" + Math.floor(downloadProgress) + "%"    
  40.                             });    
  41.                             if (downloadProgress > 99) {    
  42.                                 $ionicLoading.hide();    
  43.                             }    
  44.                         })    
  45.                     });    
  46.                 }    
  47.             });    
  48.         });    
  49.             
  50.     });    
  51.         
  52. })  


3、在服务端webapp下添加以下两个文件

 

 

 

[java] view plain copy
 
 print?在CODE上查看代码片派生到我的代码片
  1. 1、ver.json  
  2. 2、Android-debug.apk  

 

分享到:
评论

相关推荐

    ionic-app-base-master.zip

    【标签】"ionic app base master" 进一步确认了这个压缩包的内容,"ionic" 表示是关于 Ionic 框架的,"app base" 指基础应用结构,"master" 往往意味着这是主分支或者是最稳定的版本,适合初学者或开发者作为起点。...

    ionicUpdate:ionic app 自动更新

    #updatedemo ionic app自动更新简单实例第一版:用到的插件cordova插件添加 cordova插件添加客户端主要代码说明: angular.module('starter',['ionic']) .run(function($($ ionicPlatform,$ ionicPopup,$ ...

    v5-schools-app-course_ionic_

    【标题】"v5-schools-app-course_ionic_" 指的是一个基于 Ionic 5 开发的学校应用项目源码。这个项目可能是为了教学或演示如何使用 Ionic 5 框架来构建移动应用程序,特别是与教育或学校管理相关的功能。 【描述】...

    ionic打包app视频教程3小讲

    通过观看"ionic打包app视频教程3小讲",你可以学习到整个打包流程的详细步骤。 首先,让我们了解 Ionic 应用的基本结构。一个基本的Ionic项目通常包含`src`目录,其中存放着应用的源代码,包括HTML、CSS和...

    ionic2 codepush热更新使用

    ### ionic2 codepush热更新使用 #### 一、概述 在移动开发中,热更新是一种非常实用的技术,它能够实现在不重新提交应用商店的情况下更新应用的部分代码或资源,从而极大缩短修复bug或更新功能的时间。本篇文档将...

    IONIC+PhoneGap项目源码

    2. "ionic-1.1.zip" - 这是IONIC 1.1版本的源码包,IONIC的版本迭代较快,每个版本都有其特定的新特性和改进。开发者可以通过研究这个版本的源码,了解早期IONIC的架构和实现方式,同时对比新版本,理解IONIC的发展...

    ionic 通过PouchDB + SQLite来实现app的本地存储demo

    IndexedDB或WebSQL均有存储空间的限制,如果想要在ionic mobile app中获得“无限制”存储,最好还是使用SQLite。如果安装了Cordova SQLite插件,那么PouchDB将会自动使用SQLite数据库。 注:SQLite的速度确实要比...

    ionic-best-practices.pdf_ionic_

    **标题解析:** "ionic-best-practices.pdf" 这个标题暗示了文件内容可能是关于Ionic框架的最佳实践指导,特别强调了“5”,这可能是指Ionic框架的第五个主要版本,即Ionic 5。最佳实践通常包括编码规范、设计模式、...

    IONIC 功能全演示

    - 1、日常sass编译: 当前目录执行`gulp` 即可,将自动编译scss目录下的ionic.app.scss文件,并持续监测该文件是否改动,如发生改动,则重新编译输出。详见上文。 - 2、开发构建:`gulp dev:pipeline` 对www目录进行...

    采用Ionic4开发的电影MoviesApp

    高级项目可能还会涉及到 CI/CD 流程,例如使用 Jenkins、Travis CI 或 GitHub Actions 实现自动化测试和部署。 通过学习和分析 MoviesApp,开发者不仅能掌握 Ionic 4 和 Angular 的核心概念,还能了解到如何构建一...

    ionic4官网demo_blank_angular

    Ionic4是Ionic框架的第四代版本,相比于之前的版本,它采用了Angular作为默认的前端框架,提升了性能并提供了更好的TypeScript支持。此外,它也引入了Stencil Web Component工具包,使得组件更加符合Web标准,提高了...

    ionic中文文档1_3

    最后,文档可能还会讲解如何将你的 Ionic 应用发布到 App Store、Google Play 或其他平台,以及如何进行持续集成和自动化测试。 由于 "ionic中文文档1_3" 是一个简略的翻译版,可能会存在一些细节或更新的内容未...

    2018 ionic start创建工程失败解决方案

    然而,随着技术的迭代更新,开发者可能会遇到一些问题,比如"2018 ionic start创建工程失败"。这个问题通常出现在Ionic 3到Ionic 4的升级过程中,由于官方API和工具的调整,导致旧有的命令行创建项目的方式不再适用...

    ionic 购物车商城模板

    `Ionic`框架能够自动适应不同移动设备的特性,如屏幕尺寸、操作系统等。但开发者仍需关注特定设备上的优化,如按钮大小、字体适配等。同时,针对iOS和Android平台的特性,如底部导航栏、状态栏处理,也需要进行定制...

    实现不更新apk来更新app

    当有更新时,只需要更新服务器上的这些静态资源,用户打开应用即可自动获取最新版本,而不需要重新下载整个apk。 在实现这个功能时,通常会用到以下关键技术和工具: 1. **WebView组件**:Android系统内置的...

    ionicframework官方例子

    8. **部署与发布**:Ionic 应用可以打包成原生应用,通过App Store或Google Play进行分发,也可以通过Hoodie或PWA技术实现Web App的离线访问。 9. **社区与生态系统**:Ionic 拥有庞大的开发者社区,提供了丰富的...

    ionic side menu侧滑效果

    "ionic side menu侧滑效果"指的是如何在Ionic应用中实现一个可以滑动显示或隐藏的菜单,通常用于放置应用的主要导航选项。 1. ** Ionic Framework 概述:** Ionic 是基于Angular框架构建的,它提供了一系列的UI...

    ionic 开发ide

    2. **代码自动完成与提示**:内置了对Ionic和Angular语法的支持,提供智能代码提示,提高编码效率。 3. **实时预览功能**:支持在浏览器或真实设备上进行实时预览,方便快速调整界面布局和样式。 4. **插件生态系统*...

    采用ionic开发的电子商务移动应用程序

    通过持续集成工具如Jenkins、GitLab CI/CD,可以自动化构建、测试和发布应用,确保代码质量并加快迭代速度。 总之,使用离子框架开发的电子商务移动应用,能够充分利用Web技术的优势,同时提供接近原生应用的性能和...

    ionicapp:基于离子的应用程序

    这个"ionicapp"项目显然是一个基于Ionic框架创建的应用程序实例。 标题中的"基于离子的应用程序"指的是使用Ionic框架构建的应用。Ionic提供了丰富的UI组件、动画效果和工具,旨在简化跨平台移动应用的开发。它的...

Global site tag (gtag.js) - Google Analytics