React Native安卓项目初始化

配置Node、安卓开发环境

这里不赘述,可以根据官网,根据自己的开发设备环境进行配置。

搭建开发环境 · React Native 中文网

将恼人的.android文件夹移出c盘

我的c盘空间真的时捉襟见肘了,然而android studio avd虚拟设备的安装地址.android竟然在c盘,这里可以把它迁移出去,c盘很大的可以跳过这一步。

1、配置环境变量

在系统环境变量中新增ANDROID_SDK_HOME 变量,地址为你想要将.android放入的文件夹内,例如我的地址就是D:\ANDROID_SDK_HOME 。

(PS:配置完成后,需要重启电脑才能生效哦)

2、剪切.android文件

直接将c盘用户目录下的.android文件夹,剪切到之前配置的ANDROID_SDK_HOME 地址下,我粘贴到了D:\ANDROID_SDK_HOME 文件夹下。

3、修改AVD配置文件

找到.android\avd 下后缀为.ini的文件,编辑文本打开,修改path为当前的avd文件夹所在路径。

4、重启android studio

重启完成后,能正常打开avd就成功啦。

初始化项目

初始化一个名为AwesomeProject的项目

bash 复制代码
npx react-native@latest init AwesomeProject

安卓build.gradle配置

为了保证运行时下载资源包顺利,找到android\build.gradle 文件,修改repositories 为如下:

Groovy 复制代码
repositories {
        maven { url '<https://maven.aliyun.com/repository/google>' }
        maven { url '<https://maven.aliyun.com/repository/jcenter>' }
}

然后将sdkVersion修改成你需要的版本,示例如下:

Groovy 复制代码
ext {
        buildToolsVersion = "31.0.0"
        minSdkVersion = 21
        compileSdkVersion = 31
        targetSdkVersion = 31

        // We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
        ndkVersion = "23.1.7779620"
}

运行项目

bash 复制代码
npm run android

即可运行起来初始好的项目。

调试相关

下载react-native-debugger ,github地址。

路由

一个很重要的插件 react-navigation ,详情看文档。

使用Redux

引用了@reduxjs/toolkit、react-redux

参考资料:redux-toolkit.js.org/tutorials/q...

使用样式类或者预编译器

直接使用Stylesheet吧,不推荐用预编译器。

适配DarkMode

使用react-native-dark-mode插件。

具体怎么引用这里不再说明,看文档一步一步来就问题不大。

列举几个常用的写法。

  • useDarkMode:Boolean,判断深色模式是否开启。
  • useDarkModeContext:返回dark或者light,也是用于判断深色模式是否开启的。
  • DynamicStyleSheet, DynamicValue and useDynamicStyleSheet,创建style的时候使用DynamicStyleSheet,在style中可以使用DynamicValue实现css动态变化,最后在函数中使用useDynamicStyleSheet。

更多用法还是详见文档。

如何发送网络请求

官方提供了访问网络的方法,不过要注意ios和android现在都会组织http请求,具体解决方案可参考iOS、Android

或者可以使用我们最熟悉的axios。

结语

到此,一个最基础的react native的开发框架就搭建起来啦,下面就可以进行业务开发啦。

相关推荐
子兮曰5 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰5 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万5 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝5 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
千里马学框架5 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台5 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
三十而立洋5 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
AFinalStone5 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
卡布鲁5 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
致远ccc5 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试