概述
React Native是目前移动端跨平台开发的选择之一,另一种是Flutter,目前安卓平台还是以Android原生开发和java为主,IOS端以Object-c和Swift为主,ReactNative作为一种新的跨平台开发方式,目前可使用的包还不多,但是我认为对于个人开发者还是比较方便的,所以这里把我实现的方式(因为真的很烦)
最重要的事
一定要翻墙 !一定要翻墙!一定要翻墙!
因为配置的工具比较多,各软件版本一定要对!各软件版本一定要对!各软件版本一定要对!
重要的事情说三遍!重要的事情说三遍!重要的事情说三遍!(所以这句话为什么要说三遍?因为很重要!因为很重要!因为很重要!(禁止套娃))
不然你就会像我一样,装了删,删了重装,关键你还不知道到底是五个工具哪个有问题(往事不要再提)
开始安装
Node
Python 2.7
python是免费的
Java JDK 1.8
https://www.oracle.com/java/technologies/javase-jdk8-downloads.html
Android Studio 最新版
配置环境变量
Android Studio SDK配置
ReactNative命令行
1 | npm install -g react-native-cli |
测试连接设备
1 | adb devices |
启动
1 | react-native init [文件名] |
第二种安装方式
(如果你看到这里了,无论你看到上面多么复杂,难受,可以忽略了)
目前官方推荐使用第二种
使用Expo方式安装和使用
1 | npm install -g create-react-native-app |
创建项目
1 | create-react-native-app appName |
启动项目
1 | npm start |
启动项目后会生成二维码
手机端下载安装App,打开App扫描二维码,等待加载完成,即可热刷新
注意:
Expo App只能在Google Play中下载,国内的应用商店没有,可以在下方链接下载安装
手机和电脑应处于同一WIFI环境下,不需要额外连线
导航器
使用官方
1 | npm install @react-navigation/native |
底部导航栏
导入包
1 | yarn add @react-navigation/bottom-tabs |
顶部信息
栈内导航
1 | yarn add @react-navigation/stack |
1 | <Stack.Screen |
导入部分加入
1 |
程序主部分
侧边栏
安装包
1 | yarn add @react-navigation/drawer |
导入包
1 | import { |
内容
获取网络数据
三种方法:fetch、 axios、async await
这里用axios
安装包
Scrollview(滚动视图)
轮播图
安装包
1 | npm i react-native-swiper –save |
导入包
1 | import Swiper from ‘react-native-swiper’; |
github源地址
https://github.com/leecade/react-native-swiper
1 | <View style={styles.swiper}> |
九宫格
摄像头模块
安装包
1 | yarn add react-native-image-picker |
导入包
1 | import ImagePicker from 'react-native-image-picker'; |
使用
Git hub源地址:https://github.com/react-native-community/react-native-image-picker
滚轮
https://github.com/lesliesam/react-native-wheel-picker
定时器
安装包
1 | npm i react-timer-mixin --save |
打包Apk
Expo
1 | npm install -g exp |
Reactnative 原生项目打包
原生打包有两种方式,一是React Native内打包,二是Android Studio打包,这里采用React Native打包,Android Studio打包以后更新(我看了好几篇博客,听说AS打包很慢,而且会常常出错。
1.生成Android签名证书
进入JDK/bin目录,在目录下打开cmd窗口执行命令:
1 | keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000 |
执行后设置密钥库密码以及发布信息,记住密码,my-release-key是生成apk的名字。
密钥库里应该已经生成了一个单独的密钥,有效期为10000
天
2.设置Gradle变量
在/android/gradle.properties
文件末尾加入代码
1 | MYAPP_RELEASE_STORE_FILE=your keystore filename |
等号右边的部分用自己的项目替换
3.修改Gradle配置文件
在/android/app/build.gradle
下添加以下代码
4.签名打包APK
在项目的android
目录下启动终端,运行命令
./gradlew assembleRelease
自动进行打包
5.将APK发送到手机上执行
打包成功的APK文件默认安装在/[项目名]/android/app/build/outputs/apk/
下,后缀为.apk,
打包博客链接