17 李先静

尚未进行身份认证

Only those who attempt the absurd can achieve the impossible.

等级
TA的排名 80

如何在C++中嵌入JAVA

如何在C++中嵌入JAVA最近在为 AWTK 增加 JAVA 绑定,在 Windows 和 Linux 下工作正常,但是在 MACOS 上运行起来遇到下列问题:java[5714:260503] WARNING: NSWindow drag regions should only be invalidated on the Main Thread! This will throw an exc...

2019-12-20 17:51:18

MVVM模式在嵌入式GUI AWTK 中的实现

AWTK-MVVM是一套为AWTK用C语言开发,并支持各种脚本语言的MVVM框架,实现了数据绑定、命令绑定和窗口导航等基本功能,使用AWTK-MVVM开发应用程序,无需学习AWTK本身的API,只需学习绑定规则和Model的实现方式即可。1.1 分离用户界面和业务逻辑在开发应用程序时,要把用户界面和业务逻辑分离开来,这是每个程序员都知道的常识。分离用户界面和业务逻辑有几个重要的好处:有利...

2019-12-12 14:25:13

AWTK 控件焦点相关问题

AWTK 控件焦点相关问题一、启用焦点停留 (tab stop)除了 edit 控件外,其它控件如果需要焦点停留功能,可以指定控件的 focusable 属性为 true 来实现。在 XML 中,可以这样指定: <button ... focusable="true"/>在 C 代码中,可以这样指定: widget_set_prop_bool(widget, WIDGET...

2019-11-20 15:49:22

在 AWTK 中 如何让文本滚动起来

如何让文本滚动起来在很多时候,特别是在小屏幕的硬件上,控件比较小而要显示的文本比较长。此时,我们需要在控件获得焦点时/或点击时,让文本滚动起来,以便让用户看到完整的信息。AWTK 提供了 hscroll_label_t 控件,可以轻松满足文本滚动的需求。一、基本用法示例:<window anim_hint="htranslate" text="hscroll_label" chi...

2019-11-15 18:16:23

AWTK 中 LCD 接口的四种实现方式

LCD 接口的四种实现方式LCD 是对显示设备的抽象,提供了基本的绘图函数。自己去实现 LCD 接口虽然不难,但是需要花费不少功夫,AWTK 提供了几种缺省的实现,利用这些缺省的实现,在移植到新的平台时,一般只需要很少的代码就行了。下面我们介绍一下几种常见的 LCD 实现方式:一、基于寄存器实现的 LCD在低端的嵌入式平台上,内存只有几十 KB,没有足够的内存使用 framebuffer,...

2019-11-14 17:20:39

AWTK 在腾讯 TOS 上的移植笔记

AWTK 在腾讯 TOS 上的移植笔记本文以 STM32f103ze 为例,介绍了 AWTK 在 RTOS 上移植的经验。与其说移植,倒不如说是集成。因为 RTOS 通常没有提供标准的 LCD 驱动接口,显示部分并不需要特别的改动。所做的事情不过是把 AWTK 放到 RTOS 的一个线程中执行而已。1. 加入 TOS 相关文件。AWTK 已经移植到 STM32f103ze 裸系统上,为了简单...

2019-11-09 08:49:40

AWTK 在 RT-Thread 上的移植笔记

AWTK 在 RT-Thread 上的移植笔记本文以 STM32f103ze 为例,介绍了 AWTK 在 RTOS 上移植的经验。与其说移植,倒不如说是集成。所做的事情不过是把 AWTK 放到 RTOS 的一个线程中执行而已。1. 加入 RT-Thread 相关文件。AWTK 已经移植到 STM32f103ze 裸系统上,为了简单起见,直接在 awtk-stm32f103ze-raw 基础上...

2019-11-09 08:31:18

AWTK WEB版移植笔记-基础

AWTK WEB版移植笔记-基础将一个C语言写的hello world编译成web版本是很简单的,网上有大量这样的例子。写这样的例子是必要的,让我们能够快速入门,但是实际项目则要复杂的多,这里会介绍一些emscripten的基础知识,同时强调移植AWTK过程中遇到的问题,希望能让大家少走弯路。一、命令行参数1.EXPORTED_FUNCTIONS 用于导出应用程序中C的函数供JS调用。如:...

2019-09-12 07:14:58

NanoVG 优化笔记:性能提高5倍的秘密

NanoVG 优化笔记nanovg正如其名称所示的那样,是一个非常小巧的矢量绘图函数库。相比cairo和skia的数十万行代码,nanovg不足5000行的C语言代码,称为nano也是名副其实了。nanovg的设计、接口和代码质量都堪称典范,唯一美中不足的就是性能不太理想。特别是在Android的低端机型和大屏幕的机型上,一个简单的界面每秒只能画十几帧。最近我把AWTK移植到Android上时,...

2019-08-06 10:54:01

国产开源 GUI 引擎AWTK 1.2 发布

AWTK全称为Toolkit AnyWhere,是ZLG倾心打造的一套基于C语言开发的GUI框架。旨在为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的GUI引擎,并支持跨平台同步开发,一次编程,终生使用。AWTK当前升级到了v1.2版本,相对于v1.1,我们完善了许多细节,增加了部分特性、控件以及API等,让AWTK支持更多的功能和更炫酷的效果。**  1....

2019-08-06 10:52:23

AWTK WEB版移植笔记-序

AWTK WEB版移植笔记-序一、WEB版本对AWTK意义AWTK-WEB版本对AWTK是很重要的,主要原因有:让用C语言开发的AWTK应用程序,在不需要修改源码的情况下,能在浏览器中运行。这样做的好主要在于,可以很方便的向客户展示项目。你只需分享一个链接,客户就可以在浏览器中打开,并看到实际的运行效果,这是一种非常棒的体验。把AWTK编译成一个JS库,你可以用JS开发AWTK应用...

2019-07-10 10:55:48

集成 armcc 到 scons

集成 armcc 到 scons集成 armcc 到 scons 中并不是件容易的事情,如果只是修改 CC/CXX/AR/LINK 几个环境变量,scons 会用 Visual C++的参数调用方式,比如-c 成了/c,导致 armcc 无法识别。花了半天时间去阅读 scons 的源码后,在 SCons/Tool 目录下发现,每种编译器都有一个类似插件的 tool,目测没有发现 armcc 的...

2019-06-28 16:49:03

物联网 GUI 开发套件 AWTK-IOTJS

一、介绍关于 iotjsiotjs 是三星开源的 javascript 物联网开发平台。它为 javascript 应用程序提供了访问硬件、网络、文件系统和异步化的能力,功能类似于 nodejs,但无论是代码体积还是内存需求,iotjs 都要小很多,是用 javascript 开发 iot 设备应用程序的首选。关于 AWTKAWTK 全称 Toolkit An...

2019-06-18 14:19:57

集成 AWTK 到 iotjs

集成 AWTK 到 iotjsiotjs 是三星开源的 javascript 物联网开发平台。它为 javascript 应用程序提供了访问硬件、网络、文件系统和异步化的能力,功能类似于 nodejs,但无论是代码体积还是内存需求,iotjs 都要小很多,是用 javascript 开发 iot 设备应用程序的首选。AWTK 全称 Toolkit AnyWhere,是 ZLG 开发的开源...

2019-06-10 17:20:08

为 iotjs 开发原生模块

为 iotjs 开发原生模块iotjs 是三星开源的 javascript 物联网开发平台。它为 javascript 应用程序提供了访问硬件、网络、文件系统和异步化的能力,功能类似于 nodejs,但无论是代码体积还是内存需求,iotjs 都要小很多,是用 javascript 开发 iot 设备应用程序的首选。AWTK 全称 Toolkit AnyWhere,是 ZLG 开发的开源 ...

2019-06-07 12:46:21

ZLG开源GUI引擎AWTK发布1.1版本

ZLG开源GUI引擎AWTK发布1.1版本一、介绍AWTK全称Toolkit AnyWhere,是ZLG开发的开源GUI引擎,旨在为嵌入式系统、WEB、各种小程序、手机和PC打造的通用GUI引擎,为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的GUI引擎。AWTK寓意有两个方面:Toolkit AnyWhere。ZLG物联网操作系统AWorks内置GUI。AWTK源...

2019-04-25 09:19:52

AWTK javascript绑定原理

AWTK javascript绑定原理一、基本架构Javascript的绑定方法和lua的绑定方法有些不同,主要原因是javascript的引擎有很多种,比如嵌入式系统常用的jerryscript和PC上常用的V8。不同的引擎提供注册C/C++函数的能力不同,所以在绑定时我们只对引擎做一个最低能力的要求:提供注册全局函数的能力。我们把绑定的代码分两层:引擎相关的代码负责把awtk的函数...

2019-04-24 15:14:11

AWTK实现自定义软键盘的方法

有时需要把软键盘嵌入到窗口内部(比如计算器和密码输入等),这时可以使用自定义软键盘。一、编辑器设置input_type为"custom"(它会禁止内置的软键盘)。<edit x="c" y="10" w="90%" h="30" focus="true" input_type="custom" text="" />

2019-03-14 11:39:43

AWTK是如何保证代码质量的

AWTK是如何保证代码质量的这是不少朋友关心的问题,这里统一回复一下。我们在保证AWTK的代码质量方面,主要采用了下列措施:架构设计。 软件架构对代码的质量有决定性的影响,但好的架构不是预先设计出来的,而是在应对各种需求和变化时,不断完善和优化出来的。常常见到,有人花十年时间打造一件绝世作品,也有人花几年时间让一套软件变成不可维护,这就是说明软件架构是在不断变化的,是变好还是变坏,则取决于...

2019-01-18 16:49:51

AWTK(Toolkit AnyWhere): 为嵌入式、手机和桌面开发的通用GUI

AWTK=ToolkitAnyWhereAWTK是吸取了FTK和CanTK的精华,重新开发的GUI,计划分以下几个阶段实施:第一阶段专注于嵌入式系统,到达并超越TouchGfx/EmbeddedWizard的功能。计划在2018/9底完成。第二阶段用AWTK本身开发界面编辑器(或组态软件IDE),从而验证AWTK支持PC软件开发的能力。计划在2018年底完成。第三阶段支持Mo...

2018-07-08 12:19:42

查看更多

勋章 我的勋章
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。