ReactNative读取Native本地文件

react narive获取本地文件并上传到服务器 工作中遇到要在APP中上传Excel的需求,找了老半天,试过react-native-fs,但是不好用,要么就是只能上传图片的,后来发现这个第三方库完美的符合需求,他不仅可以上传Excel,基本上现有的文件他都可以吧!具体查看文档!这个库就是:react-native-document-picker 用法举例: 先install下来: npm i --save react-native-document-picker 在iOS文件夹下 pod安装 pod install 导入文件 import Docu 阅读详情

1, LatticeMockModule.java 声明一个Native模块给RN提供调用

/**此类为RN提供读取配置文件的功能*/
public class LatticeMockModule extends ReactContextBaseJavaModule {
    ....
    private final static String REACT_CLASS = "LatticeMockModule";
    /**重写父类的方法*/
     public LatticeMockModule(ReactApplicationContext reactContext) {
        super(reactContext);
    }

    /**重写父类的方法*/
    @Override
    public String getName() {
        return REACT_CLASS;
    }
    ....
}

2, LatticeMockModule.java 提供读取配置的方法

    ...
    private Map<String, String> configCache = new HashMap<>();
    private final static String ASSET_PATH = "latticeConfig/";
    ...

    /** 提供给RN调用读取配置的方法
    *pageName= 页面名*/
  @ReactMethod
    public void getConfig(String pageName, Promise promise) {

        String config = configCache.get(pageName);

        Context context = getReactApplicationContext();

        if (TextUtils.isEmpty(config)) {
            config = ReadFromAsset(context, pageName);
        }
        //返回给RN处
        promise.resolve(ReactArguments.toWritableMap(config));
        configCache.put(pageName, config);

  }

  /**读取assts下的* latticeConfig/LatticeMockModule.json文件
  private String ReadFromAsset(Context context, String pageName) {
        try {
            InputStream in = context.getAssets().open(ASSET_PATH + pageName + ".json");
            BufferedReader bf = new BufferedReader(new InputStreamReader(in));
            StringBuffer sb = new StringBuffer();
            String line;
            while ((line = bf.readLine()) != null) {
                sb.append(line);
            }
            line = sb.toString();

            return line;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

3,FReactPackage.java中注册此RN功能

public class FReactPackage extends MainReactPackage {

   ....

   @Override
    public List<NativeModule> createNativeModules(ReactApplicationContext reactApplicationContext) {

        List<NativeModule> nativeModuleList = super.createNativeModules(reactApplicationContext);
        List<NativeModule> list = new ArrayList<>();
        list.addAll(nativeModuleList);
        list.add(new LatticeMockModule(reactApplicationContext));

         return list;    

    }

  ...
 }

4, 在RN页面中调用

import  React, {Component,} from 'react'; 
const NativeModules = require('NativeModules');
const LatticeMockModule = NativeModules.LatticeMockModule;

class LatticeHomeScreen extends Component {
    //组件生命周期方法
  componentDidMount() {
       LatticeMockModule.getConfig("LatticeHomeScreen").then((config)=> {

        alert(JSON.parse(config));//读取成功        

     });

    }

}
module.exports = LatticeHomeScreen;
原生端(iOS和Android)读取ReactNative本地图片 源码已上传Github:https://github.com/songxiaoliang/native-read-rn-image 在ReactNative开发过程中,有时需要在原生端显示RN里的图片,这样的好处是可以通过热更新来更新APP里的图片,而不需要发布原生版本,而ReactNative里图片路径是相对路径,类似'./xxximage.png'的写法,原生端是无法解析这类路径,那么如果将... 阅读详情

相关推荐

YOLOv8+ByteTrack实战:5分钟搞定多目标跟踪(附鱼群检测调参秘籍)

本文详细介绍了如何利用YOLOv8和ByteTrack快速实现多目标跟踪,特别针对鱼群检测等复杂场景提供参数调优秘籍。通过环境配置、核心机制解析和专项调优技巧,开发者可在5分钟内搭建高效跟踪系统,适用于水产养殖、交通监控等实际应用。文章还包含工程落地方案和性能优化建议,帮助实现精准的鱼群计数与行为分析。

e1f2g的博客 1017

React Native文件读写操作(更新)

最近公司项目要求进行定时上传位置信息,及埋点,因为使用的是RN开发,一开始就是想到在Android和Ios原生里进行操作。 在原生里面实现了定时任务,Android里面使用的是broadcastReceive + service + timer实现了。 现在需要生成一个日志文件,一开始想在原生里面进行实现文件的读写。后来查找相关资料,发现了一个不错的第三方插件,react-native-fs,现在记录一下,集成步骤及简单的文件读写操作。 插件地址:https://github.com/itinance/re

wayne214的博客 4344

MTK平台LCD驱动开发实战:从零开始点亮你的Android屏幕

本文详细介绍了在MTK平台进行Android LCD驱动开发的完整流程。从理解LK与Kernel双核驱动框架入手,手把手讲解驱动结构体、屏幕参数配置、初始化序列编写以及PLL_CLOCK计算等核心步骤,并提供了系统集成配置与实用的调试避坑指南,帮助开发者高效点亮新屏幕。

terraform7cloud的博客 289

React Native读取系统属性

前段时间,公司需要用React Native做一套电视机顶盒上的视频播放系统,而其中有一项功能是需要读取到机顶盒的卡号,这个卡号提前被生产商写入了系统属性,叫“persist.sys.mmcp.smarcardid”,通过在命令行运行adb shell后,再运行getprop命令可以查出来,如下图: 但React Native本身并不提供直接读取系统属性的功能,这时候就需要手动开发一个原生插件来完成这项功能,具体步骤如下。在android\app\src\main\java\com\video

冰咖啡的专栏 1071

Android Audio - 支持多应用同时录音_Android8.1修改方法

支持多应用同时录音_Android8.1修改方法 源码路径: sdk\frameworks\av\services\audiopolicy\managerdefault\AudioPolicyManager.cpp 需要修改两个位置: audio_io_handle_t AudioPolicyManager::getInputForDevice() 在mpClientInterface-&gt...

iFinelio Tower 的博客 5755

Sobel原理及计算过程详解

该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。首先,我们需要构建一个Sobel算子,通常是一个 3x3 的矩阵。Sobel算子可以分别计算水平和垂直方向的梯度值,然后将两者合并得到总梯度值。索贝尔算子(Sobel operator)主要用作边缘检测,在技术上,它是一离散性差分算子,用来运算图像亮度函数的灰度近似值。所以,我们假设选择图像矩阵中的点A(1, 1),即第二行第二列的元素,对应的。接下来,我们将使用Sobel算子计算这个点的梯度值。

2301_76461741的博客 1万+

react-native-file-access:React Native 的文件系统访问解决方案

react-native-file-access:React Native 的文件系统访问解决方案 项目介绍 在现代移动应用开发中,对本地文件系统的访问是基础且必要的需求。react-native-file-access 是一个为 React Native 提供文件系统访问功能的库。它支持将网络请求直接保存到文件系统,并且兼容 Android 的作用域存储(scoped storage),这对于目...

gitblog_00982的博客 1097

基于CLICKHOUSE的数据仓库分层规范

接入层。

zjyy1987的博客 767

RN读写json文件

RN读写json文件

weixin_68658847的博客 690

CANoe进阶实战(第十一章)-LIN节点测试调度

《CANoe快速入门实战:LIN节点调度开发》摘要 本文是CANoe系列教程的第十一章,重点讲解如何通过CAPL编程实现LIN报文的灵活调度控制。文章采用"输入-输出-过程"三步骤法,详细介绍了调度表函数linChangeSchedTable()、启动/停止函数linStartScheduler()/linStopDisturbance()等关键API的使用方法。作者创新性地通过系统变量在Test节点间接控制Network节点的调度功能,并提供了完整的节点代码实现方案。最后的Trace窗

weixin_53605885的博客 1020

数据采集卡架构与PCIe优化设计详解

数据采集卡(DAQ)作为工业自动化中的关键设备,其核心在于模数转换(ADC)和数字信号处理技术。现代系统普遍采用PCIe总线架构,通过DMA传输和时钟同步技术实现高速数据采集。在信号调理环节,可编程增益放大器(PGA)和抗混叠滤波器确保信号质量;而Σ-Δ型ADC则提供高达24位的分辨率。实际应用中,从电力监测到机床振动分析,数据采集卡需要结合具体场景优化配置。通过合理的PCB布局和EMI防护设计,可以有效提升系统在工业环境中的可靠性。

weixin_29168675的博客 896

探索React Native文件系统的强大工具:react-native-fs深度解析与应用

探索React Native文件系统的强大工具:react-native-fs深度解析与应用 在移动应用开发的世界里,高效管理文件系统是不可或缺的一环。对于React Native开发者而言,react-native-fs是一个不可多得的宝藏库,它提供了全面且易于使用的API,让你能够在React Native应用中轻松实现本地文件系统的访问和操作。本文将带你深入了解这一神器,探索其技术细节,应用...

gitblog_00082的博客 832

基于强化学习控制策略的三相逆变器仿真

强化学习控制器的核心在于定义状态空间、动作空间、奖励函数以及选择合适的强化学习算法(例如DQN、DDPG等)。对于三相逆变器,状态可以是输出电压、电流等信息;动作则可能是调制指数的变化量;奖励函数则应鼓励快速准确地跟踪参考信号。定义状态空间和动作空间状态空间可以包括逆变器的输出电压、电流及其变化率等信息。动作空间则是控制器可执行的动作,例如PWM信号的调整幅度。matlab深色版本% 定义状态和动作空间维度numObs = 6;% 假设有六个状态变量(例如三相电压和电流)

amy_mhd的博客 131

终极React Native文件管理指南:从本地存储到云同步的完整解决方案

React Native作为构建跨平台移动应用的JavaScript库,提供了强大的文件管理能力,让开发者能够轻松处理iOS和Android平台上的本地文件存储与云同步需求。本文将系统介绍React Native中的文件操作核心API、最佳实践和实用技巧,帮助你构建高效可靠的文件管理功能。 ## 📱 React Native文件管理基础 React Native提供了多种文件操作方式,从基础

gitblog_00983的博客 1240

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

React Native WebView使用本地HTML文件

React Native WebView使用本地HTML文件这里注意本地的文件路径为:http://localhost:8081/iosPages/b.html   HTML文件 /iosPages/b.html:  &lt;h1&gt;this is a html file&lt;/h1&gt; &lt;p&gt;this is content hello &lt;/p&gt;   ...

python 948

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

OpenHarmony + RN:Blob读取本地文件内容

Blob(Binary Large Object)是React Native中处理原始二进制数据的核心抽象。在标准RN环境中,它通过对象暴露,本质是内存中的不可变数据块。// RN Blob核心结构// 返回新Blob实例不可变性:创建后内容不可修改,确保线程安全分片处理slice()方法支持高效处理大文件零拷贝优化:通过_hash引用底层数据,避免内存复制跨平台抽象:屏蔽iOS/Android的文件系统差异在文件读取场景中,Blob通常与fetch。

2501_91746149的博客 714

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

React Native文件读写操作

最近公司项目要求进行定时上传位置信息,及埋点,因为使用的是RN开发,一开始就是想到在Android和Ios原生里进行操作。 在原生里面实现了定时任务,Android里面使用的是broadcastReceive + service + timer实现了。 现在需要生成一个日志文件,一开始想在原生里面进行实现文件的读写。后来查找相关资料,发现了一个不错的第三方插件,react-native-fs,现在...

wayne214的博客 4933

React Native之本地文件系统访问组件react-native-fs的介绍与使用

React Native之本地文件系统访问组件react-native-fs的介绍与使用 一,需求分析 1,需要将图片保存到本地相册; 2,需要创建文件,并对其进行读写 删除操作。 二,简单介绍 react-native-fs支持以下功能(ios android): 将文本写入本地 txt 读取txt文件内容 在已有的txt上添加新的文本 删除文件...

LeoStarry2014的博客 2635

ReactNative 本地文件访问 react-native-fs Android配置所遇到的坑

事件背景:react-native-fs配置完毕之后在Android无法使用,无法编译通过; 安装:npm install react-native-fs --save 如果 RN版本&lt;0.57或者Gradle &lt; 3:需要安装:npm install react-native-fs@2.11.17 –save 本人的RN版本0.44.3所以遇到了坑,官方npm上的配置也一步步配置了...

qq_43015501的博客 2441

关于react-native-storage运行报错的, 和RN Navigation的布局问题

前言 react-native-storage是基于RN官方推荐的AsyncStorage的封装,RN中文官方推荐使用这个,我个人来讲也是为了能快速把自己要的东西做出来,于是就使用了这个库,不想遇到了一些问题。 问题描述 在index.js写好Storage的配置之后,在副作用函数中初始化Storage,然后启动: FAILURE: Build failed with an exception. ...

eswang的CSDN博客 809

React-Native 扫码功能以及从相册读取二维码

我使用的技术栈是:react-native(0.57.8)+ react-navigation + react-redux + ant-design + axios 我在做的ReactNative项目需要实现扫码功能以及从相册读取本地二维码的功能 我实现这两个功能使用的插件有 react-native-camera react-native-image-picker react-native-...

cicistream 9085

《React-Native系列》28、 RN之AsyncStorage

AsyncStorage是一个简单的、未加密的、异步的、持久化的Key-Value存储系统,它对于App来说是全局性的。它用来代替LocalStorage。iOS中存储类似于NSUserDefault,存储问plist文件存放在设备中。Android中存储会在 RocksDB 或者 SQLite 中,取决于你使用哪个。我们还是来看看官网文档,AsyncStorage提供的方法如下:static g

等待就是浪费青春 6980

使用pod引入ReactNative

首先,上自己创建的公有pod库: pod 'pod4ReactNative','~&amp;amp;amp;gt;0.55.4' 包的是RN 0.55.4版本的,iOS可以直接引用该pod库做开发,不再需要使用npm引入RN。 git库:https://github.com/zramals/pod4ReactNative 一、什么情况下使用pod库引入RN 我们知道,官方的RN接入,虽然也是通过pod引入,但是...

zramals的博客 1499

reactnative不维护了_React Native应用性能瓶颈分析和优化

导语本文结合React Native跨平台框架的应用工作原理,分析性能瓶颈,分享实践中的优化性能问题内容输入。背景随着移动互联网的高速发展,在很多的业务场景下,传统的纯原生开发已经不能满足日益增长的业务需求。为了提升开发效率,使APP具备动态化能力,同时提升用户体验,项目中引入了React Native框架。使用过程中发现部分React Native页面性能存在一些问题,尤其是复杂页面渲染性能较差...

weixin_39797693的博客 1839
上一篇: JavaScriptES6语法小结
下一篇: 工具使用:sublimeText2
非鹭千里
博客等级 码龄12年 21粉丝 112原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值