zoukankan      html  css  js  c++  java
  • react-native-upgrade-android

    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
  • 相关阅读:
    krpano--控制热点跳转到场景的指定视角
    bzoj 4237: 稻草人 -- CDQ分治
    bzoj 4176: Lucas的数论 -- 杜教筛,莫比乌斯反演
    bzoj 3545/3551: [ONTAK2010]Peaks -- 主席树,最小生成树,倍增
    bzoj 4627: [BeiJing2016]回转寿司 -- 权值线段树
    bzoj 1901: Zju2112 Dynamic Rankings -- 主席树,树状数组,哈希
    bzoj 3252: 攻略 -- 长链剖分+贪心
    bzoj 5055: 膜法师 -- 树状数组
    bzoj 1006: [HNOI2008]神奇的国度 -- 弦图(最大势算法)
    bzoj 1176: [Balkan2007]Mokia&&2683: 简单题 -- cdq分治
  • 原文地址:https://www.cnblogs.com/yiweiaimeng/p/8335772.html
Copyright © 2011-2022 走看看