(React-Native 学习之九) React-native-device-info 的使用:

前言:顾名思义 React-native-device-info 本第三方就是为了 获取设备信息。

实际上react-native有很多类似第三方,并且使用方式和本例大体相同。作为示例记录下,供有需要的同学学习:

1,初始化项目:

初始化一个 react-Native项目:命令:

win+R // 进入命令行

cd desktop //进入桌面

react-Native  init deviceInfoDemo // 初始化  react-native 项目:

cd deviceInfoDemo //进入项目 根目录

yarn install // 或者 npm install 

项目初始化 完成。

2, 打开模拟器。

使用如下 emulator命令(前提已经配置好 环境变量):


emulator -list-avds // 该命令用于查看  当前计算机下存在的安卓模拟器 

emulator -avd vm_name //修改 vm_name 为你当前计算机 中模拟器名称  打开模拟器。

或者 打开 AndroidStudio 工具 ,打开sdk manager 打开模拟器。

启动模拟器后你可以运行 react-native run-android 命令。模拟器会出现我们初始化的项目界面:

这里写图片描述

3, 安装 和链接 device-Info:

进入项目 根目录 执行命令

安装 react-native-device-info
//Using npm:
npm install --save react-native-device-info

//or using yarn:
yarn add react-native-device-info

别忘了检查是否安装成功。

自动链接:

执行命令:

//shell
react-native link react-native-device-info


//(or using [`rnpm`](https://github.com/rnpm/rnpm) for versions of React Native < 0.27) 
rnpm link react-native-device-info
手动链接:


Android 手动链接

  • 打开 android/build.gradle:
...
  ext {
    // dependency versions
    googlePlayServicesVersion = "<Your Services Version>"
  }
...
  • 进入 android/app/build.gradle: 添加 device-info 依赖
dependencies {
    ...
    compile "com.facebook.react:react-native:+"  // From node_modules
+   compile project(':react-native-device-info')
}
  • 进入 android/settings.gradle: 指定 device-info 目录
...
include ':app'
+ include ':react-native-device-info'
+ project(':react-native-device-info').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-device-info/android')
对于 React Native 0.29+ 还需:
  • 进入 MainApplication.java:
+ import com.learnium.RNDeviceInfo.RNDeviceInfo;

  public class MainApplication extends Application implements ReactApplication {
    //......

    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
+         new RNDeviceInfo(),  //添加 此行
          new MainReactPackage()
      );
    }

    ......
  }
对于低版本 React Native:
  • 进入 MainActivity.java: 主界面
+ import com.learnium.RNDeviceInfo.RNDeviceInfo;

  public class MainActivity extends ReactActivity {
    ......

    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
+       new RNDeviceInfo(),  //添加  moudle
        new MainReactPackage()
      );
    }
  }

其他 平台不在赘述。 读者可参考 文末官方地址链接。

贴上 device-info的 部分API方法:

API

方法返回值类型iOSAndroidWindowsSince
getAPILevel() //获取应用程序api版本number0.12.0
getApplicationName() //获取 应用名称string0.14.0
getBrand() // 获取厂家string0.9.3
getBuildNumber() // 获取 应用编译版本号string?
getBundleId() //获取应用程序包标识符string?
getCarrier() // 获取运行商名称string0.13.0
getDeviceCountry() // 根据区域设置信息获取设备国家。string0.9.0
getDeviceId() // 获取设备 idstring0.5.0
getDeviceLocale() //获取设备的地区string0.7.0
getDeviceName() //获取设备名称string?
getFirstInstallTime() //获取应用程序第一次安装的时间,以毫秒为单位。number0.12.0
getFontScale() //获取设备字体大小。number0.15.0
getFreeDiskStorage()//获取可用存储大小,以字节为单位。number0.15.0
getIPAddress() //获取设备 当前网络地址Promise<string>0.12.0
getInstanceID() //获取应用程序实例ID。string?
getLastUpdateTime() //获取应用程序上次更新的时间,以毫秒为单位。number0.12.0
getMACAddress() //获取网络适配器MAC地址。Promise<string>0.12.0
getManufacturer() //获取设备制造商。string?
getMaxMemory() //返回JVM试图使用的最大内存量,以字节为单位。number0.14.0
getModel() // 获取设备模式string?
getPhoneNumber() //获取电话号码string0.12.0
getReadableVersion()//取应用程序可读的版本。string?
getSerialNumber() //获取序列号string0.12.0
getSystemName() //获取系统名称string?
getSystemVersion() //获取系统版本string?
getTimezone() // 获取时区string?
getTotalDiskCapacity()//获取完整磁盘存储大小,以字节为单位。number0.15.0
getTotalMemory() //获取设备总内存,以字节为单位。number0.14.0
getUniqueID() //获取设备唯一的IDstring?
getUserAgent() //获取设备用户代理string0.7.0
getVersion() // 获取 版本string?
is24Hour() //告诉用户偏好是否设置为24小时格式boolean0.13.0
isEmulator() //告诉应用程序是否运行在模拟器中boolean?
isPinOrFingerprintSet()//告知设备是否设置了PIN号码或指纹(callback)boolean0.10.1
isTablet() //告知设备是否是平板电脑boolean?
以下 为博主虚拟机 获取到的信息 硬件信息:

这里写图片描述

代码地址:GitHub:https://github.com/zqHero/deviceInfoDemo

官方地址请看:
https://www.npmjs.com/package/react-native-device-info

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值