本节主要讲述一些系统的基本概念和实现方法,请仔细阅读(目前完善中....)

概述

您可以理解你的系统实际上就是屏幕上跑了一个特殊的APP程序,而这个程序可以按下面的规则拆分:

1、APP 是由页面组成的

页面即界面,UI体系中是一个个界面,由于单片机内存有限,因此我们不能像windows一样进行窗体切换,因此在实际操作中只能进行一个一个界面界别的切换操作;

2、页面和页面之间是独立的

当系统由页面1切换到页面2的时候,页面1的全部数据将全部销毁,所有的内存空间将被页面2重新初始化使用,因此页面间是独立的;

页面和页面间数据的通信可以通过bind级别的全局存储来完成,也就是说所有界面访问的Bind数据存储结构是一样的;

在edit情况下,系统运行将当前页面的内存全部push到内存中,然后启动页面2,待页面2执行完成之后在pop回页面1的运行数据,从而实现了dialog窗体的临时调用,受内存空间限制,调用只能存储一级,详见dialog窗体一节;

3、页面是由控件构成的

每个页面都可以放置多个控件,且可以重复放置某一种控件,这也就是页面代码的由来:

class app=loadcom(appbase);
class page=loadcom(page);
class b2=loadcom(button);

start();

4、控件是由属性、方法和事件组成

控件即我们所说的面向对象编程的思维方法,即OOP的编程思想,控件就是该思想中的class(类)

属性

属性的实质就是变量,制作控件先要想明白控件哪些变量需要用户来设置

方法

方法的实质就是函数,只不过这个函数由编程者程序主动调用

事件

事件其实和方法没有本质区别,实质也是函数,只不过一般由系统在某些特定符合条件的时候被动调用

详细请参见我的第一个控件设计

5、全局数据区

数据绑定和固化存储都是使用全局数据区来完成的,全局数据区在页面的范畴之外,也就是说所有页面都可以通过bind或者bind_get获取数据。详见:数据绑定语句