当前位置: 首页 > news >正文

使用 React Native 针对 Android 进行开发

 🎬 岸边的风:个人主页

 🔥 个人专栏 :《 VUE 》 《 javaScript 》

⛺️ 生活的理想,就是为了理想的生活 !

在这里插入图片描述

目录

概述

通过安装所需工具开始使用 React Native

创建新的 React Native 项目


本指南将有助于开始使用 Windows 上的 React Native 创建在 Android 设备上工作的跨平台应用。

概述

React Native 是由 Facebook 创建的开源移动应用程序框架。 它用于开发适用于 Android、iOS、Web 和 UWP (Windows) 的应用程序,提供本机 UI 控制和对本机平台的完全访问权限。 使用 React Native 的前提是需要了解 JavaScript 基础知识。

通过安装所需工具开始使用 React Native

  1. 安装 Visual Studio Code(或选择的代码编辑器)。

  2. 安装适用于 Windows 的 Android Studio。 Android Studio 默认安装最新的 Android SDK。 React Native 需要 Android 6.0 (Marshmallow) SDK 或更高版本。 建议使用最新的 SDK。

  3. 创建 Java SDK 和 Android SDK 的环境变量路径:

    • 在 Windows 搜索菜单中输入“编辑系统环境变量”,这将打开“系统属性”窗口。
    • 选择“环境变量…”,然后选择“用户变量”下的“新建…” 。
    • 输入变量名称和值(路径)。 Java SDK 和 Android SDK 的默认路径如下所示。 如果已选择安装 Java SDK 和 Android SDK 的特定位置,请确保相应地更新变量路径。
      • JAVA_HOME:C:\Program Files\Android\Android Studio\jre\bin
      • ANDROID_HOME:C:\Users\username\AppData\Local\Android\Sdk

    Screenshot of adding environmental variable path

  4. 安装适用于 Windows 的 NodeJS。如果要处理多个 NodeJS 项目和版本,则可能需要考虑使用适用于 Windows 的 Node 版本管理器 (nvm)。 建议为新项目安装最新版本的 LTS。

 备注

可能还需考虑安装并使用 Windows 终端以使用首选命令行接口 (CLI),以及用于版本控制的 Git。 Java JDK 随 Android Studio v2.2+ 一起打包,但如果需要从 Android Studio 中单独更新 JDK,请使用 Windows x64 安装程序。

创建新的 React Native 项目

  1. 使用与 npm 一起安装的包运行程序 npx 创建新的 React Native 项目。 在 Windows 命令提示符、PowerShell、Windows 终端或 VS Code 中的集成终端(“视图”>“集成终端”)中实现该操作。

    PowerShell复制

    npx react-native init MyReactNativeApp
    

    如果要使用特定 React Native 版本启动新项目,可以使用 --version 参数。 有关 React Native 版本的信息,请参阅版本 - React Native。

    PowerShell复制

    npx react-native@X.XX.X init  <projectName> --version X.XX.X
    
  2. 打开新目录“MyReactNativeApp”:

    PowerShell复制

    cd MyReactNativeApp
    
  3. 如果要在硬件 Android 设备上运行项目,请通过 USB 电缆将设备连接到计算机。

  4. 如果要在 Android 模拟器上运行项目,则无需执行任何操作,因为 Android Studio 安装时就已装有一个默认模拟器。 如果要在特定设备的模拟器上运行应用, 请单击工具栏中的“AVD 管理器”按钮。

    Screenshot of the AVD Manager button

  5. 要运行项目,请输入以下命令。 这将打开显示 Node Metro Bundler 的新控制台窗口。

    PowerShell复制

    npx react-native run-android
    

    Screenshot of Metro Bundler in a console window

    Screenshot of the default React Native app running in an Android emulator

     备注

    如果要使用新安装的 Android Studio,且还未进行任何其他 Android 开发,则可能在运行有关接受 Android SDK 的许可证的应用时,在命令行收到错误。 例如“警告: 包 Android SDK 平台 29 的许可证不被接受。”要解决此问题,可以单击 Android Studio 中的“SDK 管理器”按钮

    Screenshot of the SDK Manager button

    。 或者通过以下命令列出并接受许可证,确保使用计算机上的 SDK 的位置路径。

    PowerShell复制

    C:\Users\[User Name]\AppData\Local\Android\Sdk\tools\bin\sdkmanager --licenses
    
  6. 要修改应用,请打开所选择的 IDE 中的项目目录 MyReactNativeApp。 建议使用 VS Code 或 Android Studio。

  7. react-native init 创建的项目模板使用名为 App.js 的主页。 此页面预填充了许多有用的链接,这些链接指向有关 React Native 开发的信息。 向第一个 Text 元素添加一些文本,如下面所示的“HELLO WORLD!”字符串。

    JavaScript复制

    <Text style={styles.sectionDescription}>Edit <Text style={styles.highlight}>App.js</Text> to change thisscreen and then come back to see your edits. HELLO WORLD!
    </Text>
    
  8. 重载应用以显示所作的更改。 有多种方法可实现此目的。

    • 在 Metro Bundler 控制台窗口中,键入“r”。
    • 在 Android 设备模拟器中,双击键盘上的“r”。
    • 在硬件 Android 设备上,晃动设备以打开 React Native 调试菜单,然后选择“重载”。 

      Screenshot of the React Native debug menu

 

相关文章:

使用 React Native 针对 Android 进行开发

&#x1f3ac; 岸边的风&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 概述 通过安装所需工具开始使用 React Native 创建新的 React Native 项目 本指南将有助于开始使用 Windows 上的…...

LeetCode 每日一题 2023/9/11-2023/9/17

记录了初步解题思路 以及本地实现代码&#xff1b;并不一定为最优 也希望大家能一起探讨 一起进步 目录 9/11 630. 课程表 III9/12 1462. 课程表 IV9/13 2596. 检查骑士巡视方案9/14 1222. 可以攻击国王的皇后9/15 LCP 50. 宝石补给9/16 198. 打家劫舍9/17 9/11 630. 课程表 II…...

Linux系统调试篇——GDBSERVER远程调试

文章目录 安装 GDBSERVERgdbserver 用法具体步骤 本篇讲解如何使用gdbserver对目标开发板上的程序进行远程调试。 安装 GDBSERVER 首先在开发板上安装 gdbserver&#xff1a; apt install gdbservergdbserver 用法 gdbserver用法描述&#xff1a; Usage: gdbserver [OPTION…...

前端实现打字效果

前端实现打字效果 不带光标 只一次播放 HTML <!-- 需要在初始化的时候不显示文字 --> <div id"typing"></div>CSS #typing {position: relative;font-size: 24px;font-family: Arial, sans-serif;padding: 10px; }JS const text "要显…...

Unix和Linux、GNU和GPL、RHEL和Centos、Debian和Ubuntu

文章目录 Unix和LinuxGNU和GPLGNU/Linux名称的来源RHEL和CentosDebian和Ubuntu 以上都是操作系统&#xff0c;服务器操作系统、桌面操作系统。 对于刚刚接触Linux系统或者从事运维相关工作的人来说&#xff0c;肯定会听过很多名词&#xff0c;但是不知道他们的区别和联系&#…...

InfiniBand vs 光纤通道,存储协议的选择

数字时代&#xff0c;数据量爆发增长&#xff0c;企业越来越迫切地追求高吞吐量、低延迟和更高性能的网络基础设施&#xff0c;存储协议的选择变得愈发至关重要。在众多存储协议中&#xff0c;InfiniBand和光纤通道备受关注。本文旨在深入探讨InfiniBand和光纤通道作为存储协议…...

第2章_freeRTOS入门与工程实践之单片机程序设计模式

本教程基于韦东山百问网出的 DShanMCU-F103开发板 进行编写&#xff0c;需要的同学可以在这里获取&#xff1a; https://item.taobao.com/item.htm?id724601559592 配套资料获取&#xff1a;https://rtos.100ask.net/zh/freeRTOS/DShanMCU-F103 freeRTOS系列教程之freeRTOS入…...

python LeetCode 刷题记录 58

题目 给你一个字符串 s&#xff0c;由若干单词组成&#xff0c;单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 输入&#xff1a;s "Hello World" 输出&#xff1a;5 解释&am…...

HarmonyOS开发:那些开发中常见的问题汇总(一)

前言 本来这篇文章需要讲述静态共享包如何实现远程依赖和上传以及关于静态共享包私服的搭建&#xff0c;非常遗憾的告诉大家&#xff0c;由于组织管理申请迟迟未通过&#xff0c;和部分文档官方权限暂未开放&#xff0c;关于这方面的讲解需要延后了&#xff0c;大概需要等到202…...

新能源汽车驱动电机的基本知识

学习目标:了解电机的基本知识。能力目标:培养学生搜集和整理相关资料的能力。素质目标:培养学生良好的职业素养。额定电店.在夫见定条件下电池工作的*于佳 电压知识准备术语和定义。 (1)驱动电机系统 通过有效的控制策略将动力蓄电池提供的直流电转化为交流实现电机的正转以及反…...

流媒体协议——RTSP

RTSP RTSP(Real Time Streaming Protocol):实时流媒体协议&#xff0c;是基于文本的协议&#xff0c;采用ISO10646字符集&#xff0c;使用UTF-8编码 RTSP-over-TCP&#xff0c;默认端口554 RTSP-over-HTTP&#xff0c;默认端口为8080 RTSP OVER WebSocket 默认端口为 80&am…...

Arcgis提取点数据经纬度

Arcgis提取点数据经纬度 现已打开tiff影像和采样点的shape文件。目标是提取采样点的经纬度信息然后导出。 打开数据管理工具-要素-添加XY坐标 在点的图层上右击打开属性表时&#xff0c;经纬度信息已经添加到属性表中。 在属性表的左上角中点击导出&#xff0c;导出为文本文…...

【小记录】jupyter notebook新版本

手欠升级 &#x1f605;今天手贱&#xff0c;在anaconda navigator里面更新了最新版本的spyder&#xff0c;然后莫名奇妙地jupyter notebook就打不开了&#x1f605;&#xff0c;报错说缺少模块”ModuleNotFoundError: No module named jupyter_server.contents“&#xff0c;…...

Ubuntu安装深度学习环境相关(yolov8-python部署)

Ubuntu安装深度学习环境相关(yolov8-python部署) 本文将从如下几个方面总结相关的工作过程&#xff1a; Ubuntu系统安装(联想小新pro16) 2.显卡驱动安装3.测试深度学习模型 1. Ubunut 系统安装 之前在台式机上安装过Ubuntu&#xff0c;以为再在笔记本上安装会是小菜一碟&…...

jmeter采集ELK平台海量业务日志( 采用Scroll)

由于性能测试需要&#xff0c;需采集某业务系统海量日志&#xff08;百万以上&#xff09;来使用。但Elasticsearch的结果分页size单次最大为10000&#xff08;运维同事为保证ES安全&#xff09;。为了能够快速采集ELK平台业务日志&#xff0c;可以使用以下2种方式采集&#xf…...

React 全栈体系(五)

第三章&#xff1a;React 应用(基于 React 脚手架) 一、使用 create-react-app 创建 react 应用 1. react 脚手架 xxx 脚手架: 用来帮助程序员快速创建一个基于 xxx 库的模板项目 包含了所有需要的配置&#xff08;语法检查、jsx 编译、devServer…&#xff09;下载好了所有…...

动态规划——状态机模型

什么是状态机模型&#xff1f;其实大部分dp问题都可以算是状态机&#xff0c;因为对于一个物品&#xff0c;例如01背包&#xff0c;无非是选与不选两种状态&#xff0c;这两种状态就构成了一个状态机。状态机就是一种用来描述对象或者系统在不同状态之间迁移的模型。 那么状态机…...

合宙Air724UG LuatOS-Air LVGL API控件-图片(Gif)

图片&#xff08;Gif&#xff09; GIF图片显示&#xff0c;core版本号要>3211 示例代码 方法一 -- 创建GIF图片控件 glvgl.gif_create(lvgl.scr_act()) -- 设置显示的GIF图像 lvgl.gif_set_src(g,"/lua/test.gif") -- gif图片居中 lvgl.obj_align(g, nil, lvgl…...

【C语言】指针和数组笔试题解析(2)

【C语言】指针和数组笔试题解析&#xff08;1&#xff09;&#xff0c; 这是第一篇关于sizeof与strlen在指针中的应用&#xff0c;而这一篇主要讲解在各种情形下的灵活运用&#xff0c;也是大厂中经典的面试题 第一题&#xff1a; int main() {int a[5] { 1, 2, 3, 4, 5 };in…...

3.3 DLL注入:突破会话0强力注入

Session是Windows系统的一个安全特性&#xff0c;该特性引入了针对用户体验提高的安全机制&#xff0c;即拆分Session 0和用户会话&#xff0c;这种拆分Session 0和Session 1的机制对于提高安全性非常有用&#xff0c;这是因为将桌面服务进程&#xff0c;驱动程序以及其他系统级…...

C语言 —— 初步入门知识(内存、指针、结构体)

本篇文章将接着上篇继续介绍C语言的基础知识&#xff0c;那么对于C语言大部分初学者会觉得难以理解&#xff0c; 所以作者将指针单独拿出来写篇较短的文章进行讲解。 1.指针 1.1 内存 要学习指针&#xff0c;就先要了解内存。一起来看。 内存是计算机中的关键组成部分&#xff…...

PHP8中字符串与数组的转换-PHP8知识详解

在php8中使用explode()函数和implode()函数实现字符串和数组之间的转换。 1、使用explode()函数把字符串按照一定的规则拆分为数组中的元素&#xff0c;并且形成数组。 使用explode()函数把字符串转换数组&#xff0c;示范代码&#xff1a; <?php $string "html,cs…...

Wordtune:文本编辑工具

【产品介绍】 名称 Wordtune 上线时间 成立于2018年。​ 具体描述 Wordtune是一款基于人类智能的文本编辑工具&#xff0c;它可以帮助用户快速修改和重写英文&#xff0c;以改进文本的清晰度、流畅度和可读性。Wordtune使用先进的自然语言处理技术&#x…...

notifyIcon动态图标

定时器内调用下面代码 代码如下&#xff1a; if(DateTime.Now.Second % 2 0) {notifyIcon1.Icon new System.Drawing.Icon(Application.StartupPath "\abc.ico");}else{notifyIcon1.Icon new System.Drawing.Icon(Application.StartupPath "\abc2.ico"…...

2023年墨西哥 SP/BMV IPC 研究报告

第一章 指数概况 1.1 指数基本情况 墨西哥 S&P/BMV IPC 指数衡量在墨西哥证券交易所 (Bolsa Mexicana de Valores, BMV)上市&#xff0c;规模最大、流动性最高的股票表现。提供一个覆盖墨西哥股市的广泛、具有代表性且可轻易复制的指数。根据多元化要求&#xff0c;按市值…...

JWT生成与解析/JWT令牌前端存储

第一步&#xff1a;创建项目 添加Maven依赖&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.62</version> </dependency> <dependency><groupId>org.s…...

[交互]前端展示服务端获取的图片

可以通过以下步骤从服务端获取图片&#xff1a; 引入axios库&#xff1a;在前端代码中使用axios库来发送HTTP请求。可以通过以下方式引入axios&#xff1a; import axios from axios;发送请求&#xff1a;使用axios发送HTTP请求&#xff0c;获取图片文件的二进制数据。发送请求…...

LeetCode2.两数相加

一看完题&#xff0c;我的想法是先算出这两个链表表示的数&#xff0c;然后相加&#xff0c;然后把这个数一位一位的分配给第三个数组&#xff0c;这种方法应该很简单但是要遍历三次数组&#xff0c;于是我就想直接一遍遍历&#xff0c;两个链表同时往后面遍历&#xff0c;把这…...

Linux编译过程与交叉编译

一.GCC由来 GCC&#xff08;GNU编译器套件&#xff09;是一个自由开源的编程工具集&#xff0c;用于编译和链接C、C和其他编程语言的程序。它由理查德斯托曼&#xff08;Richard Stallman&#xff09;和其他自由软件基金会&#xff08;Free Software Foundation&#xff09;的…...

MediaPipe+OpenCV 实现实时手势识别(附Python源码)

MediaPipe官网&#xff1a;https://developers.google.com/mediapipe MediaPipe仓库&#xff1a;https://github.com/google/mediapipe 一、MediaPipe介绍 MediaPipe 是一个由 Google 开发的开源跨平台机器学习框架&#xff0c;用于构建视觉和感知应用程序。它提供了一系列预训…...

云南网站建设优选平台/seo内容优化心得

PYTHON 官方手册学习笔记 一:PYT HO N 安装配置 1、windows安装Python之后需要配置环境变量 在dos窗口运行 set path %path%;d:\python32即可、设置完成之后就可以直接在 dos命令行输入python打开python编辑器 2、python编辑器的选择、建议使用Vim或者是自带的IDLE编辑器 二:解…...

旅游网站开发毕业论文前言/搜索引擎收录提交入口

用户在使用经典虚拟机时&#xff0c;经常会有如下疑问&#xff1a;门户主板页面中的 SSH/RDP 证书指纹这项信息是怎么来的&#xff1f;用途是什么&#xff1f;为什么有的时候为空&#xff1f;有没有对虚拟机使用有什么影响&#xff1f;以下我们进行一些基本的介绍&#xff1a; …...

十年前网站开发语言/安卓内核级优化神器

1 静态方法加载几次&#xff1f; 2 类内方法需要加static吗&#xff1f;类外方法呢&#xff1f; 3 class aa{} BOO xx(){} bb.x() cc.row上方代码分别是什么含义&#xff1f; 4 判断返回值类型应看哪里&#xff1f; 5 定义成员变量的方式有几种&#xff1f;可以直接在成员变量下…...

网站建设技术/百分百营销软件官网

vcf文件做记录个体或群体突变的文件格式&#xff0c;在生物信息学应用中举足轻重。主流的生物信息分析软件&#xff0c;在处理变异信息时&#xff0c;也基本上需要考虑支持解析或输出vcf格式的文件。本文在介绍vcf文件格式的基本格式的同时&#xff0c;对vcf文件记录的细节进行…...

番禺网站建设哪里好/短网址

前言 本文主要是讲解在Controller中的开发&#xff0c;主要的知识点有如下&#xff1a; 编码过滤器使用注解开发注解RequestMapping详解业务方法接收参数字符串转日期重定向和转发返回JSONSpringMVC过滤编码器 在SpringMVC的控制器中&#xff0c;如果没有对编码进行任何的操作&…...

北京app制作开发/广东seo快速排名

看过openstack的安装脚本,但自己一直再用手动安装.在dashboard地方总是出现健全问题,检查keystone,nova总是定位不出来原因.不想拖得太久时间,也会采用脚本安装方式.这里收藏网友陈沙克的文章http://hi.baidu.com/chenshake/blog/item/4ed92d4e96768dd7d0c86a3e.html.供本人自己…...