zoukankan      html  css  js  c++  java
  • 使用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插件保留表格样式

  • 相关阅读:
    02 日志系统: 一条SQL 更新语句是如何执行的
    MySql 实战45讲笔记 : 01
    爬取boss直聘全国招聘数据并做可视化
    爬取豆瓣电影-长津湖短评
    尝试破解压缩文件
    将webp格式的图像批量转化成jpg
    将JPG格式图片转换成PNG格式
    几个学习编程的游戏网站
    检测网址连接有效性
    监控设备电池电量并发送通知
  • 原文地址:https://www.cnblogs.com/lanlanwb/p/13577661.html
Copyright © 2011-2022 走看看