使用rn如何在安卓App开发中去增删改查对数据进行本地操作和保存,利用插件【react-native-file-selector】UI体现上传文件,和react-native-fs,可以对本地文件进行操作

一,首先我们要了解到安卓系统或者ios的存储概念如下图

安卓文件夹目录

https://www.jianshu.com/p/c9a8b8a03fd3【参考网站】

记录一下开发中遇到的一些目录。
在开发中会有内部存储器(Internal Storage)和外部存储器(External Storage)。

Internal Storage

内部存储,路径:data/data/packageName/(此部分的根目录)。这个目录下的文件为应用私有的,其他的应用是无法访问的。同时此目录下的文件是会随应用的卸载而被删除。读写此目录下的文件是不需要权限的。

-getDir(String name, int mode)返回对应目录下的File文件夹对象。
-getFilesDir()返回根目录/files文件夹,Context.openFileInput()Context.openFileOutput都是这个文件夹。
-fileList()返回的是files下的所有文件名
-deleteFile(String name)删除files下指定名称的文件。
-getCacheDir()该方法返回的是根目录/cache的File对象.当Android的内部存储容量过低时,android会自动清除缓存文件

External Storage

外部储存,在此存储数据是不安全的。在这部分存储,个人可以分为两个部分来总结。

1.本应用相关目录
此部分路径为/storage/emulated/0/Android/data/packageName/。此目录下的文件会随软件的卸载而被删除。在4.4之后读写此目录下的文件不需要权限。但是这个目录下的文件可以被用户以及带有WRITE_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE权限的应用读取或修改。

-getExternalFilesDir(String type)返回/storage/emulated/0/Android/data/packageName/files/type文件夹,若type为null则返回/storage/emulated/0/Android/data/packageName/files文件夹。
-getExternalCacheDir()返回/storage/emulated/0/Android/data/packageName/cache文件夹

2.外部自定义目录
除1以外的目录。读写这部分文件需要WRITE_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE权限,6.0以上需要运行时权限。这部分文件是不会随应用被卸载而删除。

-Environment.getExternalStorageDirectory()返回/storage/emulated/0文件。



作者:马德率的伊比
链接:https://www.jianshu.com/p/c9a8b8a03fd3
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

参考网站:https://www.jianshu.com/p/9528329d4787

https://blog.csdn.net/csdn_aiyang/article/details/80665185

在安卓6.0版本以上,我们手机存储分为内置存储和外置存储,内置存储也分为内部存储可扩展外部存储,所以正在意义上的外部存储是不光只是sdk卡也包含了机身内部扩展的存储

而在这个版本以前外部存储就是指sdk内容

 

 

第二个需要了解的内容

在我们程序当中有些权限是需要申请的

 具体流程如下

1步。配置文件先配置

 2步,rn有对应的方法可以检查权限和权限请求

了解上面流程后,下面流程功能开始了,我们需要把外部sd文件内存复制到内部存储文件【不管是Excel文件还是TXT文件】,先获取当前文件路径,再目标文件创建自己命名的文件夹把文件拷贝过来

每个代码都会有注释

利用到的插件https://github.com/itinance/react-native-fs

https://blog.csdn.net/ahou2468/article/details/100021917?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param#5.2%E6%96%87%E4%BB%B6%E5%88%9B%E5%BB%BA

 那如何对文件夹的数据进行增删改查操作数据呢,比如我把数据都存在excel文件里面。而且可以对这些数据可以操作【要利用到xlsx插件可以对他进行操作,这个插件详情请看官网】

https://github.com/SheetJS/sheetjs/tree/master/demos/react

这个插件的用法请看https://www.jianshu.com/p/31534691ed53

https://www.jianshu.com/p/a1973e58a4b6

以及如何下载转化bolb流https://www.jianshu.com/p/61c3fb687ae8

这个插件具有的相关函数功能很强大。可以结合xlsx-style插件保留表格样式

原文地址:https://www.cnblogs.com/lanlanwb/p/13577661.html