17 李先静

尚未进行身份认证

我要认证

Only those who attempt the absurd can achieve the impossible.

等级
TA的排名 99

AWTK 表格视图的基本用法

AWTK 表格视图的基本用法AWTK Table View的基本特点:列表项无需事先创建。数据无需全部加载到内存。轻松支持数千万条数据记录。表格中可以放文本、图片、编辑器、进度条、滑块和下拉框等各种控件。1. 基本概念table_view_t 是表格视图的外壳,它的主要功能是协调 table_client_t 和滚动条。table_header_t 是表格的标题,它其实只是一个普通的容器,完全可以用 view 代替,但用 table_header_t 更具可读性。tabl

2020-07-19 16:21:10

AWTK-MVVM 在 STM32H743 上的移植笔记

AWTK-MVVM 在 STM32H743 上的移植笔记本项目除了实现基本功能的移植外,还提供了如下功能:集成实时操作系统 (RTOS)(腾讯的 TinyOS)集成 FATFS 文件系统,访问 SD 卡的数据。实现从文件系统加载应用程序的资源。使用 Sqlite 存储数据。支持 google 拼音输入法。支持 mvvm 。1. 介绍在移植的时候,不管是什么板子,拿到板子的资料后,先找一个带有显示功能的最简示例。以这个最简示例为模板,加入 AWTK 相关代码再进行移植。本文中使用开发

2020-07-11 11:29:30

AWTK flash 空间优化

为 512K Flash 优化空间背景缺省情况下,demo1 在 STMF103 上的空间占用情况如下。Program Size: Code=222780 RO-data=232212 RW-data=720 ZI-data=53440 对于只用 512K Flash 的平台来说,给应用程序留下的空间就比较少了,这里介绍一下进一步优化空间方法:AWTK 优化将编译器的优化级别提高一级 (O1):可以优化掉 30K 左右的空间:Program Size: Code=1936

2020-06-06 17:36:04

AWTK Designer 0.1.5正式发布,界面设计竟如此简单!

AWTK Designer是专门用来制作AWTK应用程序的UI界面的实用工具,只要通过拖曳和点击就可以完成复杂的界面设计,而且可以随时预览效果图。通过AWTK Designer即可完成UI界面元素的布局、设置控件属性、给控件添加动画效果和设置样式等。得益于AWTK强大的功能和跨平台特性,AWTK Designer本身也是基于AWTK构建的。今天,我们迎来了AWTK Designer 0.1.5的发布。在这个版本中,我们完善了许多细节,并增加了部分新功能,如:支持多主题编辑、编译...

2020-06-02 11:42:13

AWTK 输入事件记录与重放

输入事件记录与重放1. 用途输入事件记录与重放的常见用途有:自动演示功能。长时间运行进行压力测试。辅助手工测试。有时出现崩溃的 BUG 时,往往忘记之前是如何操作的了,输入事件记录与重放可以精确重现问题。同时也可以减轻手工测试的工作量。2.API/** * @method event_recorder_player_start_record * 开始事件记录。 * @annotation ["static"] * @param {const char*} filename 用于保存

2020-05-26 11:29:57

AWTK 在 STM32H743 上的移植笔记(集成RTOS和文件系统)

STM32H743 移植笔记本项目除了实现基本功能的移植外,还提供了如下功能:集成实时操作系统 (RTOS)(腾讯的 TinyOS)集成 FATFS 文件系统,访问 SD 卡的数据。实现从文件系统加载应用程序的资源。1. 介绍在移植的时候,不管是什么板子,拿到板子的资料后,先找一个带有显示功能的最简示例。以这个最简示例为模板,加入 AWTK 相关代码再进行移植。本文中使用开发板...

2020-05-07 16:32:07

awtk-linux-fb 使用 double framebuffer 闪烁的问题

awtk-linux-fb 使用 double framebuffer 闪烁的问题有朋友说 awtk-linux-fb 在某某平台闪烁很厉害,log 显示该平台使用的双帧缓冲。从代码和网上查的资料来看,目前的处理方法没有问题:无非就是通过 FBIOPUT_VSCREENINFO 或 FBIOPAN_DISPLAY 去修改 fb_var_screeninfo 的 yoffset。如: vi...

2020-04-01 11:28:34

AWTK-MVVM:用 C 语言实现 Model

9.1 介绍用 AWTK-MVVM 开发应用程序时,开发者的主要工作是编写 Model 的代码,而 ViewModel 则由代码产生器自动生成。在版本 1.0 中,我们提供了一个代码生成器,该代码生成器根据提供的 json 文件,自动生成 Model 和 ViewModel 的代码的框架代码。根据《程序员修炼之道:从小工到专家》的描述,这是一个被动代码生成器,我们需要理解生成的代码,并在上...

2020-03-22 08:13:27

如何在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

查看更多

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