AppWorker教程-文件管理

文件管理


不同的移动操作系统都有自己的一套文件管理结构和文件处理的SDK。AppWorker平台屏蔽Android和iOS之间不同结构的差异,统一了文件处理和相关的处理组件。总体上分源码区,初始化数据区,数据区。不同的文件区用不同的URI来区分。

简单区分就是权限的差异:

源码区:不可读不可写,只能作为属性的值或方法的参数

初始化数据区:可读不可写,不能作为属性的值或方法的参数

数据区:可读可写,也可以作为属性的值或方法的参数

1. 源码区,source://

这个目录存储应用源文件,这个目录下所有文件以 source://为前缀。

在电脑上就是我们AppWorker项目中的source目录,包含ui,ui.js,js文件和其它任意资源文件。AppWorker开发的的App安装包里会包含这个目录,安装后会存储在手机里的系统目录下。但是不能在App运行时通过代码直接读写source下的文件的内容.

这个区的代码文件可以根据用户的选择来自动加密,加密可以参考文档

很多组件的属性和参数可以以source目录下的文件为参数。比如

//do_ImageView以source下的图片为源

var imageview = ui("imageview_id1");

imageview.source = "source://img/test.png";

有一种特殊的情况,可以在应用运行时操作source目录下的文件,就是利用do_App的update方法把data目录下的文件拷贝覆盖到source目录下,详细参考应用升级的文档

2. 数据区,data://

这个目录存储移动应用运行时的数据文件,可读可写这个目录下所有文件以 data://为前缀。

应用运行时可以通过do_Storage组件来访问和读写这个目录下的所有文件。

注意,这个目录在电脑里创建没有意义,它不会拷贝到手机端。这个目录下所有文件都必须在手机运行时才能读和写

//以do_Storage来读写文件内容

var storage = sm("do_Storage");

storage.readFile("data://test.txt",function(data){

    print(data);

});

还有一种用法是很多组件的属性和参数可以以data目录下的文件为参数,或者生成的临时文件保存在data目录下。比如

//do_ImageView以data下的图片为源

var imageview = ui("imageview_id1");

imageview.source = "data://img/test.png";

//do_Album选中照片后返回一个图片到data://目录下

var album = sm("do_Album");

album.select(1, "", "", "", function(d) {

    print(d);

    //d的值是data://temp/do_Album/radom_name.png

})

3. 初始化数据区,initdata://

这个目录是一个特殊的目录,新建一个项目会缺省生成这个目录,专门用来存放一些只读文件,存放一些程序启动后的初始化数据。

AppWorker开发的的App安装包里会包含这个目录,安装后会存储在手机里的存储目录下。应用运行时可以通过do_InitData组件来读这个目录下的文件的内容,但是不能写。

注意:只能读不能写

//以do_InitData来读文件内容

var initdata = sm("do_InitData");

initdata.readFile("initdata://test.txt",function(data){

    print(data);

});

还有一种用法是通过do_InitData组件的copy和unzip等方法把initdata下等文件复制到data目录下,然后就可以在data目录下读写了。

initdata:// 的文件不能作为属性的值和方法的参数(do_InitData组件除外)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,569评论 25 709
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,057评论 3 119
  • 难得的早醒,且还赖了会床。 但此刻不知道要写些什么。最近在看《三体》,科幻小说,被书里专业的物理学知识和高深的探索...
    沐叚阅读 1,369评论 0 0
  • 数学作业 1.《口算题卡》1~3页,批改、订正、签字。 1.剪下107页钱币,装进小袋子里,明天带来。 语文作业 ...
    天隆超市阅读 3,199评论 0 0
  • 和你在一起的我 很开心 我期待和你有更好的未来
    Zola大屿阅读 968评论 0 1

友情链接更多精彩内容