AppWorker教程-基础-项目文件结构

平台利用IDE新建一个项目,会自动生成一些代码和相应的文件目录,我们简单说明一下项目的文件结构和文件类型

《AppWorker教程-基础-项目文件结构》 image.png

1. initdata目录

这个目录存储一些只读数据文件,这个目录下所有文件以 initdata://为前缀。
应用运行时可以通过do_InitData组件来读这个目录下的文件。

注意只能读不能写

//以do_InitData来读文件内容
var initdata = sm("do_InitData");
initdata.readFile("initdata://test.txt",function(data){
    print(data);
});

2. source目录

这个目录存储应用源文件,这个目录下所有文件以 source://为前缀。包含ui,ui.js,js文件和其它任意资源文件。

应用不能直接读写source下的文件的内容.

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

//do_ImageView以source下的图片为源
var imageview = ui("imageview_id1");
imageview.source = "source://img/test.png";

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

3. source/script目录

这个目录是一个特殊的目录,通常专门用来存放自定义的js模块文件,但是不是必须的,详细请参考文档

4. source目录下的ui文件

所有的用户界面都是ui扩展名的文件,它可以通过设计界面打开,可以所见即所得的方式看到ui设计的效果。它实际上一个json文件,我们可以通过任何文本编辑器打开,但是最好不要直接文本编辑修改,否则破坏了json结构设计方式就打不开了。

《AppWorker教程-基础-项目文件结构》 image.png

《AppWorker教程-基础-项目文件结构》 image.png

5. source目录下的ui.js文件

特殊的js文件,每一个ui文件都可以对应一个它自身的js文件,比如1.ui对应的就是1.ui.js.
这种js文件和标准的js文件差异在于它能获取到它对应的ui文件的上下文环境,从而可以根据id来获取ui对象,这一点类似HTML DOM getElementById()的原理。

//test.ui.js
//类似html的getElementById("imageview_id1"),"imageview_id1"这个是对应的test.ui文件里某个ui组件的id属性值。
var imageview = ui("imageview_id1");
var storage = sm("do_Storage");

6. source/app.js文件

应用运行时的入口文件,类似其它语言的main函数。
通常应用运行时先加载这个文件,触发 loaded事件,在这个事件里打开应用的首页。首页缺省是source://view/index.ui页面。

//app.js
var app = sm("do_App");

app.on("loaded", function () {
    app.openPage({
        source : "source://view/index.ui",
        statusBarState : "transparent"
    });
});

温馨提示:其它地方的js文件不可以以app.js为后缀,比如不要叫testapp.js之类的,否则会造成错误。

7. app.doproj文件

整个应用项目的配置文件。

  • ID:应用的唯一标示,这个值是自动生成的唯一值,和开发者绑定。请不要随意修改。如果导入(import)别人开发的app,会重新在你的开发者账号下重新生成一个唯一的id。

  • DesignEnvironment:设计界面的宽/高值,设计的所有组件的宽高都是相对于这个值的相对值。这里可参考屏幕适配的文档.

  • 其它Andorid和iOS一些特殊属性,我们另外有专门介绍。

    回到顶部

    原文作者:voxer
    原文地址: https://www.jianshu.com/p/22dc8ef2a2ed
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞