平台利用IDE新建一个项目,会自动生成一些代码和相应的文件目录,我们简单说明一下项目的文件结构和文件类型
image.png1. 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_App
的update
方法把data目录下的文件拷贝覆盖到source目录下,详细参考应用升级的文档。
3. source/script目录
这个目录是一个特殊的目录,通常专门用来存放自定义的js模块文件,但是不是必须的,详细请参考文档
4. source目录下的ui文件
所有的用户界面都是ui扩展名的文件,它可以通过设计界面打开,可以所见即所得的方式看到ui设计的效果。它实际上一个json
文件,我们可以通过任何文本编辑器打开,但是最好不要直接文本编辑修改,否则破坏了json结构设计方式就打不开了。
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一些特殊属性,我们另外有专门介绍。
网友评论