React Native的版本升级插件(仅是android), react-native版本需要0.17.0及以上

如何安装

1.首先安装npm包

npm install react-native-upgrade-android --save

2.link

自动link方法~ npm requires node version 4.1 or higher

npm link

link成功命令行会提示

npm info Linking react-native-upgrade-android android dependency

手动link~(如果不能够自动link)

#####Android

// file: android/settings.gradle
... include ':react-native-upgrade-android'
project(':react-native-upgrade-android').projectDir = new File(settingsDir, '../node_modules/react-native-upgrade-android/android')
// file: android/app/build.gradle
... dependencies {
...
compile project(':react-native-upgrade-android')
}

android/app/src/main/java/<你的包名>/MainActivity.java中,public class MainActivity之前增加:

import com.lenny.modules.upgrade.UpgradeModule;

如果react-native-版本 <0.18.0 .addPackage(new MainReactPackage())之后增加:

.addPackage(new UpgradPackage())

如果react-native-版本 >=0.18.0 在new MainReactPackage()之后增加

,new UpgradePackage()

如何使用

引入包

import Upgrade from 'react-native-upgrade-android';

API

Upgrade.init()

// 使用前必须初始化

类似如下:

componentDidMount() {
const {
isSet,
} = this.props;
if (Platform.OS !== 'ios') {
Upgrade.init();
}
}

WeiboAPI.startDownLoad(downloadUrl, version, fileName)

开始下载

// 参数信息
downloadUrl: 下载apk地址(绝对地址)String
version: 要下载的版本号 (防止重复下载)String
fileName: 保存的文件名 String

添加监听

类似如下:

componentDidMount() {
const {
isSet,
} = this.props;
if (Platform.OS !== 'ios') {
Upgrade.init();
DeviceEventEmitter.addListener('progress', (e) => {
if (e.code === '0000') { // 开始下载
this.setState({
isLoading: true,
});
} else if (e.code === '0001') { // 下载中,更新进度条
this.setState({
fileSize: e.fileSize,
downSize: e.downSize,
});
} else if (e.code === '0002') { // 下载完成
this.setState({
fileSize: e.fileSize,
downSize: e.downSize,
});
}
});
}
} Github地址:https://github.com/lennyup/react-native-upgrade-android

react-native-upgrade-android的更多相关文章

  1. React Native For Android 架构初探

    版权声明:本文由王少鸣原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/171 来源:腾云阁 https://www.qclo ...

  2. React native 之android的图标和启动图片

    哎哎呀呀,上篇说到了react native的IOS的图标和启动图片的设置,其实最主要的是尺寸!相应的尺寸设定好了以后就不会报错了! ok~这篇说的是React native的android的图标和启 ...

  3. 【React Native开发】React Native For Android环境配置以及第一个实例(1)

    年9月15日也公布了ReactNative for Android,尽管Android版本号的项目公布比較迟,可是也没有阻挡了广大开发人员的热情.能够这样讲在2015年移动平台市场上有两个方向技术研究 ...

  4. React Native for Android 学习

    前言 Facebook 在2015.9.15发布了 React Native for Android,把 JavaScript 开发技术扩展到了移动Android平台.基于React的React Na ...

  5. React Native for android 项目驱动教程

    第一节 搭建开发环境 第二节 显示页面标题 第三节 实现页面布局 # React native是什么? React Native,是颠覆性的移动开发技术.它使用js开发,又是原生应用,不同于Hybri ...

  6. React Native for Android应用名及图标修改

    应用开发完了,总不能顶着MyProject和小机器人图标就发布了吧?在发布之前,有多处需要修改的地方.今天我们来全面的看一下 应用ID 俗称PackageName,或APP ID.注意,在gradle ...

  7. react native 之 Android物理返回键

    基本用法 根据文档,安卓back键的处理主要就是一个事件监听: BackAndroid.addEventListener('hardwareBackPress', this.onBackPressed ...

  8. React Native for Android 热部署图片自己定义方案

    情景 热部署时,我们期望升级包中包括js代码与图片资源. bundle的热部署网上已经有两种方案了,一种是用反射,一种是利用RN自带函数.将bundle初始化时直接放到指定文件夹下,之后通过替换bun ...

  9. 混合开发的大趋势之一React Native与Android联调

    转载请注明出处:王亟亟的大牛之路 先安利,有空我都会更,看到的好东西都会放进来:https://github.com/ddwhan0123/Useful-Open-Source-Android 公司某 ...

  10. React Native for Android on Windows 配置开发安装总结

    配置开发安装总结(由于当前react-native更新较快,目前是针对2015年11月底时的reacti-native android for windows版本,有些内容可能过时) 官方的安装指导在 ...

随机推荐

  1. AngularJS指令基础(一)

    AngularJS指令基础(一) 1.什么是指令:粗暴的理解就是,自定义HTML标签.专业理解是指,angularJS扩展具有自定义功能的HTML元素的途径. 2.什么时候用到指令:需求是变化的.多样 ...

  2. js数据结构与算法——集合

    <script> function Set(){ var items = {};//使用对象表示集合,因为js对象不允许一个键指向两个不同的值,保证集合里面的匀速唯一性 this.add ...

  3. MySQL(三)

    一.创建库 1.创建一个库: create database 数据库名;create database 库名 character set 编码; mysql> create database m ...

  4. Font Awesome,一套绝佳的图标字体库和CSS框架

    http://fontawesome.dashgame.com/ http://www.runoob.com/font-awesome/fontawesome-tutorial.html Font A ...

  5. KVM 热迁移

    最终我们迁移的目的就是: ·简化系统维护管理 ·高系统负载均衡 ·增强系统错误容忍度 ·优化系统电源管理 热迁移 又叫动态迁移,实时迁移,即虚拟机保存( save )/恢复( restore ):将整 ...

  6. 04-HTTP协议和静态Web服务器

    一.HTTP协议(HyperText Transfer Protocol)     超文本传输协议,超文本是超级文本的缩写,是指超越文本限制或者超链接,比如:图片.音乐.视频.超链接等等都属于超文本. ...

  7. Java 关于类的构造方法的一点认识

    2019年4月21日 星期天 在ORACLE官网上提供的The Java™ Tutorials中,有一节课Providing Constructors for Your Classes(为你的类提供构 ...

  8. SQL @@Rowcount

    @@Rowcount主要是返回上次sql语句所影响的数据行数 SELECT * FROM dbo.Region AS R SELECT @@rowcount SELECT @@rowcount --我 ...

  9. 使用Nexus搭建私有Nuget仓库

    前言 Nuget是ASP .NET Gallery的一员,是免费.开源的包管理工具,专注于在.Net / .Net Core应用开发过程中第三方组件库的管理,相对于传统单纯的dll引用要方便.科学得多 ...

  10. Web API之基于H5客户端分段上传大文件

    http://www.cnblogs.com/OneDirection/articles/7285739.html 查询很多资料没有遇到合适的,对于MultipartFormDataStreamPro ...