UNI-APP apk使用io流进行文件操作

news/2024/11/24 13:51:16/

一、manifest.json中增加权限

"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>","<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>","<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>"
"app-plus" : {"permissions": {"plus": {"description": "访问系统文件","features": ["io"]}},}

二、获取app目录下的文件进行读取

方式一:

//读取到app下的_doc下的目录  然后取到sqlists.json文件   没有create:true这个则是创建
plus.io.resolveLocalFileSystemURL("_doc/",(entry)=> {entry.getFile("sqlists.json",{create:true,exclusive:false},function(file){const fileReader = new plus.io.FileReader()fileReader.readAsText(file, 'utf-8')console.log(file.fullPath)fileReader.onloadend = (evt) => {console.log(JSON.parse(evt.target.result))_this.dataList = JSON.parse(evt.target.result).createTable_this.insertTable = JSON.parse(evt.target.result).insertTableconsole.log(JSON.parse(evt.target.result))console.log(_this.insertTable)// 调用其他方法进行数据操作_this.createTable()}// })}, (err) => {console.log("发生了错误", err)})

 方式二:

//app安卓的情况  在这个位置的目录  然后取到sqlists.json文件  然后同样的道理进行读取
plus.io.resolveLocalFileSystemURL("/storage/emulated/0/Android/data/uni.demo.test/apps/__UNI__8D07247/doc/sqlists.json", (entry) => {entry.file((file) => {const fileReader = new plus.io.FileReader()fileReader.readAsText(file, 'utf-8')console.log(file.fullPath)fileReader.onloadend = (evt) => {console.log(JSON.parse(evt.target.result))_this.dataList = JSON.parse(evt.target.result).createTable_this.insertTable = JSON.parse(evt.target.result).insertTableconsole.log(JSON.parse(evt.target.result))console.log(_this.insertTable)// 调用其他方法进行数据操作_this.createTable()}// })}, (err) => {console.log("发生了错误", err)})

三、uni-app app 拷贝初始文件

plus.io.resolveLocalFileSystemURL('_www/static/_db/init.db',function(entry){plus.io.resolveLocalFileSystemURL("_doc",function(root){entry.copyTo(root ,'test.db' ,function(){console.log("拷贝成功");},function(){console.log("拷贝失败");})})
}); 

四、这是json文件

{"createTable": ["CREATE TABLE if not exists \"app_dept\" (\"id\" INTEGER PRIMARY KEY AUTOINCREMENT  ,\"pid\" INTEGER ,\"dept_name\" TEXT ,\"dept_brief_name\" TEXT,\"dept_type\" TEXT)","CREATE TABLE if not exists \"app_org_user\" (\"user_id\" INTEGER PRIMARY KEY AUTOINCREMENT  ,\"dept_id\" INTEGER ,\"user_name\" TEXT ,\"sex\" TEXT ,\"birthday\" TEXT  ,\"img\" TEXT,\"mz\" TEXT ,\"native_place\" TEXT ,\"birth_place\" TEXT ,\"join_party_time\" TEXT ,\"start_work\" TEXT ,\"health_status\" TEXT ,\"technical_position\" TEXT  ,\"speciality\" TEXT,\"full_time_edu\" TEXT,\"full_time_degree\" TEXT,\"full_time_school\" TEXT,\"full_time_yuan\" TEXT,\"full_time_major\" TEXT,\"job_time_edu\" TEXT,\"job_time_degree\" TEXT,\"job_time_school\" TEXT,\"job_time_yuan\" TEXT,\"job_time_major\" TEXT,\"user_level\" TEXT,\"now_posts\" TEXT,\"resumes\" TEXT,\"familys\" TEXT,\"ext01\" TEXT,\"ext02\" TEXT,\"ext03\" TEXT,\"ext04\" TEXT,\"ext05\" TEXT)","CREATE TABLE if not exists \"app_org_user_post\" (\"id\" INTEGER PRIMARY KEY AUTOINCREMENT  ,\"user_id\" INTEGER ,\"user_name\" TEXT ,\"post_dept_name\" TEXT,\"jobs_work\" TEXT,\"re_start_time\" TEXT,\"test_time\" TEXT,\"end_time\" TEXT ,\"real_end_time\" TEXT ,\"job_status\" TEXT ,\"reasons\" TEXT ,\"create_time\" TEXT )","CREATE TABLE if not exists \"app_org_user_resumes\" (\"id\" INTEGER PRIMARY KEY AUTOINCREMENT  ,\"user_id\" INTEGER ,\"user_name\" TEXT ,\"title\" TEXT,\"start_time\" TEXT,\"end_time\" TEXT,\"create_time\" TEXT)",],"insertTable": ["insert OR REPLACE INTO 'app_dept' (id,pid,dept_name,dept_brief_name,dept_type) values(\"311\",\"0\",\"山河大学\",\"山河大学\",\"0\")","insert OR REPLACE INTO 'app_dept' (id,pid,dept_name,dept_brief_name,dept_type) values(\"439\",\"311\",\"领导班子\",\"院领导\",\"0\")","insert OR REPLACE INTO 'app_dept' (id,pid,dept_name,dept_brief_name,dept_type) values(\"440\",\"311\",\"党政办公室\",\"党政办公室\",\"0\")","insert OR REPLACE INTO 'app_dept' (id,pid,dept_name,dept_brief_name,dept_type) values(\"442\",\"311\",\"党委组织部 机关党总支 党校\",\"党委组织部 机关党总支 党校\",\"0\")",]
}


http://www.ppmy.cn/news/1196915.html

相关文章

AI:56-基于深度学习的微表情识别

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

前端下载后端文件流,文件可以下载,但是打不开,显示“文件已损坏”的问题分析与解决方案

目录 场景还原相关代码开发者工具 - 网络请求记录 问题排查定位改bug 总结 场景还原 我在前端使用axios接收后端xlsx表格文件流并下载&#xff0c;xlsx文件能够下载成功&#xff0c;但是打开却显示文件无法打开 相关代码 请求API封装:Content–Type以及responseType经核对均…

docker部署springboot+vue

服务器&#xff1a; 用户名 root 密码 tab键 是 提示 yum update 删除docker&#xff1a; $ sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-seli…

【位运算】XOR Construction—CF1895D

XOR Construction—CF1895D 参考文章 翻译 题目要求构造一个长度为 n n n 的数组 b b b&#xff0c;满足以下条件&#xff1a; 数组 b b b 中包含从 0 0 0 到 n − 1 n-1 n−1 的每个整数&#xff0c;且每个整数仅出现一次&#xff1b;对于 i i i 从 1 1 1 到 n − …

刷题笔记day11-栈与队列2

20. 有效的括号 这个是典型的使用栈&#xff0c;来进行匹配。 因为栈是先进后出&#xff0c;所以&#xff0c;最近的左括号一定在栈顶。如果不是&#xff0c;则就是不匹配了。 func isValid(s string) bool {stack : Stack{}dict : map[byte]byte {): (,]: [,}: {,}for _, it…

c#字符串格式化

字符串格式化是一种将变量的值插入到字符串中的方法。它允许我们创建动态的字符串&#xff0c;其中包含变量的值。 string.Format 通过在字符串中使用占位符{0}&#xff0c;{1}等&#xff0c;我们可以指定要插入的变量的位置。然后&#xff0c;通过在string.Format方法的参数…

【安全】Java幂等性校验解决重复点击(6种实现方式)

目录 一、简介1.1 什么是幂等&#xff1f;1.2 为什么需要幂等性&#xff1f;1.3 接口超时&#xff0c;应该如何处理&#xff1f;1.4 幂等性对系统的影响 二、Restful API 接口的幂等性三、实现方式3.1 数据库层面&#xff0c;主键/唯一索引冲突3.2 数据库层面&#xff0c;乐观锁…

JVM虚拟机:如何查看自己的JVM默认的垃圾回收器

只需要在程序运行的时候指定下面的参数就可以看到当前自己的JVM默认的垃圾回收器是什么&#xff1f;如下所示&#xff1a; 如上所示&#xff0c;默认使用的是G1回收器&#xff0c;这是我的电脑&#xff0c;因为我的电脑安装jdk的版本是1.9 如果你的jdk的版本是1.8&#xff0c;那…