展讯平台MMI介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
展讯平台MMI软件开发介绍
撰写人:
Spreadtrum 日期: 8/7/2013
2013-8-7
Proprietary and Confidential Information
2
培训目的
介绍展讯MMI平台 介绍如何使用展讯MMI平台
2013-8-7
Proprietary and Confidential Information
2013-8-7
Proprietary and Confidential Information
15
大内存的分配和复用
大内存(Memory Block) 本平台上内存的使用分为三类: Memory Pool
size <1600Byte,在 memory pool 申请
Heap
1600B <Size < 50KB,在heap申请
2013-8-7
Proprietary and Confidential Information
25
控件的创建方式
静态创建
在wintable中添加: • • • • CREATE_MENU_CTRL CREATE_LISTBOX_CTRL CREATE_TEXTEDITBOX_CTRL CREATE_ANIMATION
19
GUI提供的控件
Menu
• • • • 树状结构,显示多级菜单 选中后自动进入下级子菜单,或者 执行相应的操作 菜单项文字过长滚动显示 目前已实现的风格:文字菜单,旋 转图,九宫格
2013-8-7
Proprietary and Confidential Information
20
GUI提供的控件(续)
每当需要增加新的大块Memory Block的时候,首先是应该考虑是否可以 和别的模块共用。不行再增加新的block。
2013-8-7
Proprietary and Confidential Information
17
培训内容
平台简介 Reference MMI介绍 GUI介绍 Kernel介绍 资源介绍 实例介绍
EditBox
• • 能正确编辑和录入数字号码、密 码、字母及文字 包括标题、软键盘,日期、时间、 秒表、密码、数字号码、字母、 非ASCII码文字等正文的各种特 殊显示 显示编辑中的光标 显示编辑中的候选字 自动分页 支持滚动条
• • • •
2013-8-7
Proprietary and Confidential Information
2013-8-7
Proprietary and Confidential Information
28
培训内容
平台简介 Reference MMI介绍 GUI介绍 Kernel介绍 资源介绍 实例介绍
2013-8-7
Proprietary and Confidential Information
5
平台简介
Spreadtrum提供了一个完整的MMI开发平台。 包括MMI开发配套工具软件包和一套参考的MMI 源码。客户可以基于此方便的做二次开发。
2013-8-7
Proprietary and Confidential Information
6
平台结构
Call SMS CBS SS PB Game ….
29
Kernel
• MMI Kernel主要提供完善的消息驱动流程和窗口管理机 制。为各种上层应用(CC、SMS、WAP、MMS等)提 供良好的支持。
• 整个kernel可以分为5个部分:消息、键盘、触摸屏、定 时器和窗口。MMI消息是MMI Task用一个循环来接收 和处理的。
2013-8-7
Proprietary and Confidential Information
18
GUI
GUI 模块的主要功能就是给应用开发提供最基本的图形
控件接口,并跟窗口系统、消息机制结合,处理基本的 人机操作
2013-8-7
Proprietary and Confidential Information
Proprietary and Confidential Information
26
GUI_LCD
• • • 直接在屏幕上画线,显示图片 对底层LCD驱动进行封装 LCD_DrawHLine LCD_DrawVLine LCD_DrawRect LCD_FillRect LCD_DisplayCompressedBmp
22
GUI提供的控件(续)
• • • • • • • • • Animition Calendar Textbox Msgbox Prgbox Punctuation Selectionpage Label Softkey • • • • • • • • Statusbar Strokepage Block(68ad提供半透显示) Button Dropdownlist Richtext(68ad提供) Iconlist (68ad提供) Spellpage
Other application
ATC
MMI Platform(Kenel,GUI)
OSA
DAL(LCD,KPD,CHR) FS, AUDIO, VIDEO, Multimedia Engines
MN (Call, CB, SS, SMS, GPRS)
RTOS
Diagnostics
MIDI MP3 MPEG4 H.263 Engines Digital Camera
12
Call Control
• • • • • • • • • 基本通话功能(MO和MT) 紧急呼叫 发送DTMF 通话50秒提示音 来电过滤 通话计时功能 呼叫等待 自动重拨 IP一键通
2013-8-7
Proprietary and Confidential Information
13
SMS
• • • • • 收发短消息 支持长短信 支持群发 处理小区广播 短信黑名单
请参考《MMK_GUI控件软件API接口说明书.doc》
2013-8-7
Proprietary and Confidential Information
23
控件(control)
控件的特征
• • • • • 封装 图形化,和用户交互 可接受消息,有消息处理函数 依赖于窗口存在 每个具体的控件有唯一ID
21
GUI提供的控件(续)
ListBox
• • • • • 分为三类:单选,多选,文字 支持上下滚动,连续滚动 支持数据分批载入 可以在标题上显示当前项和总项数(例如 2/200) 动态添加,删除,更改
20Βιβλιοθήκη Baidu3-8-7
Proprietary and Confidential Information
Proprietary and Confidential Information
4
培训内容
平台简介 Reference MMI介绍 GUI介绍 Kernel介绍 资源介绍 实例介绍
2013-8-7
Proprietary and Confidential Information
• Control:控件,可以完成某种特定功能。例如:编辑功能、 文本显示功能、动画功能等。
2013-8-7
Proprietary and Confidential Information
9
窗口、控件示例
Window
Control
2013-8-7
Proprietary and Confidential Information
LCD_DrawLine
……
2013-8-7
Proprietary and Confidential Information
27
GUI_Font
• • • 直接在屏幕上显示字符串 获得字体的高度,宽度 GUI_GetFontWidth GUI_GetFontHeight LCD_DisplayStringInRect LCD_DisplayString …..
10
应用、窗口和控件关系图
2013-8-7
Proprietary and Confidential Information
11
培训内容
平台简介 Reference MMI介绍 GUI介绍 Kernel介绍 资源介绍 实例介绍
2013-8-7
Proprietary and Confidential Information
Layer 3
Layer 2
Drivers (HAL)
Layer 1
2013-8-7
Proprietary and Confidential Information
7
MMI结构
KERNEL
Message Management Window Management
Ref MMI
Call SMS Phonebook Call Record
2013-8-7
Proprietary and Confidential Information
14
Reference MMI
• • • • • • • • • Accessory Game Digital Camera Eng(工程模式) Environment Setting Video MSD(防盗功能) MP3 U Disk • • • • • • • • Record Phone(开关机,Pin) Phonebook STK Call Log MMS Browser Multimedia
优点
• 模块化,使用控件可以使开发人员专注于应用的功能开发, 而不是过多考虑界面的开发 方便添加新控件 更改现有控件风格
• •
2013-8-7
Proprietary and Confidential Information
24
控件(续)
控件的风格
• • • 每一类Control和Window的缺省显示风格定义在文件 mmi_theme.c/h中 用户可自定义各种不同的字体、背景色、前景色,定义在 文件mmidisplay_data.c/h中 和屏幕高度,宽度有关的数据定义在mmidisplay_data.c/h 中
•
……….
Open窗口后调用控件的函数
动态创建
• • • 创建animation控件(GUIANIMATE_Init ) 将该控件加入到window中( MMK_CreateDynaCtrl ) 设定animation控件的参数( GUIANIMATE_SetParam )
•
2013-8-7
销毁控件( GUIANIMATE_Destroy )
Memory Block
Size>50KB,根据应用的互斥性,为特定的应用分配了大块的 Memory block
2013-8-7
Proprietary and Confidential Information
16
大内存的分配和复用(续)
平台中的各个模块往往会分配比较大的连续内存,而且只提供给本模块使 用,通常会造成内存的浪费,为了节省Memory,因此需要对大块内存进行 复用。 如下图所示:
3
缩略语
GUI : MMI: SMS: SS: PB: MMS: ATC: WAP: FS: OSA: RTOS: DAL: HAL: STK:
2013-8-7
Graphical User Interface Man Machine Interface Short Message Service Supplementary Service Phone Book Multimedia Message Service AT Command Wireless Application Protocol File System Operating System Abstract layer Real-Time Operating System Device Abstract Layer Hardware Abstract Layer SIM ToolKit
GUI
Setting Menu Listbox STK Editbox Textbox Msgbox Animation Label …… WAP MMS Camera ……
2013-8-7
Proprietary and Confidential Information
8
MMI平台三个重要概念
• Application:应用,指MMI中的应用模块。例如:SMS,CC 等。一个应用可以包含多个窗口。 • Window:窗口,用于显示和处理送给此窗口的各种消息。例 如:按键消息、Timer消息等。一个窗口上可以有多个控件
撰写人:
Spreadtrum 日期: 8/7/2013
2013-8-7
Proprietary and Confidential Information
2
培训目的
介绍展讯MMI平台 介绍如何使用展讯MMI平台
2013-8-7
Proprietary and Confidential Information
2013-8-7
Proprietary and Confidential Information
15
大内存的分配和复用
大内存(Memory Block) 本平台上内存的使用分为三类: Memory Pool
size <1600Byte,在 memory pool 申请
Heap
1600B <Size < 50KB,在heap申请
2013-8-7
Proprietary and Confidential Information
25
控件的创建方式
静态创建
在wintable中添加: • • • • CREATE_MENU_CTRL CREATE_LISTBOX_CTRL CREATE_TEXTEDITBOX_CTRL CREATE_ANIMATION
19
GUI提供的控件
Menu
• • • • 树状结构,显示多级菜单 选中后自动进入下级子菜单,或者 执行相应的操作 菜单项文字过长滚动显示 目前已实现的风格:文字菜单,旋 转图,九宫格
2013-8-7
Proprietary and Confidential Information
20
GUI提供的控件(续)
每当需要增加新的大块Memory Block的时候,首先是应该考虑是否可以 和别的模块共用。不行再增加新的block。
2013-8-7
Proprietary and Confidential Information
17
培训内容
平台简介 Reference MMI介绍 GUI介绍 Kernel介绍 资源介绍 实例介绍
EditBox
• • 能正确编辑和录入数字号码、密 码、字母及文字 包括标题、软键盘,日期、时间、 秒表、密码、数字号码、字母、 非ASCII码文字等正文的各种特 殊显示 显示编辑中的光标 显示编辑中的候选字 自动分页 支持滚动条
• • • •
2013-8-7
Proprietary and Confidential Information
2013-8-7
Proprietary and Confidential Information
28
培训内容
平台简介 Reference MMI介绍 GUI介绍 Kernel介绍 资源介绍 实例介绍
2013-8-7
Proprietary and Confidential Information
5
平台简介
Spreadtrum提供了一个完整的MMI开发平台。 包括MMI开发配套工具软件包和一套参考的MMI 源码。客户可以基于此方便的做二次开发。
2013-8-7
Proprietary and Confidential Information
6
平台结构
Call SMS CBS SS PB Game ….
29
Kernel
• MMI Kernel主要提供完善的消息驱动流程和窗口管理机 制。为各种上层应用(CC、SMS、WAP、MMS等)提 供良好的支持。
• 整个kernel可以分为5个部分:消息、键盘、触摸屏、定 时器和窗口。MMI消息是MMI Task用一个循环来接收 和处理的。
2013-8-7
Proprietary and Confidential Information
18
GUI
GUI 模块的主要功能就是给应用开发提供最基本的图形
控件接口,并跟窗口系统、消息机制结合,处理基本的 人机操作
2013-8-7
Proprietary and Confidential Information
Proprietary and Confidential Information
26
GUI_LCD
• • • 直接在屏幕上画线,显示图片 对底层LCD驱动进行封装 LCD_DrawHLine LCD_DrawVLine LCD_DrawRect LCD_FillRect LCD_DisplayCompressedBmp
22
GUI提供的控件(续)
• • • • • • • • • Animition Calendar Textbox Msgbox Prgbox Punctuation Selectionpage Label Softkey • • • • • • • • Statusbar Strokepage Block(68ad提供半透显示) Button Dropdownlist Richtext(68ad提供) Iconlist (68ad提供) Spellpage
Other application
ATC
MMI Platform(Kenel,GUI)
OSA
DAL(LCD,KPD,CHR) FS, AUDIO, VIDEO, Multimedia Engines
MN (Call, CB, SS, SMS, GPRS)
RTOS
Diagnostics
MIDI MP3 MPEG4 H.263 Engines Digital Camera
12
Call Control
• • • • • • • • • 基本通话功能(MO和MT) 紧急呼叫 发送DTMF 通话50秒提示音 来电过滤 通话计时功能 呼叫等待 自动重拨 IP一键通
2013-8-7
Proprietary and Confidential Information
13
SMS
• • • • • 收发短消息 支持长短信 支持群发 处理小区广播 短信黑名单
请参考《MMK_GUI控件软件API接口说明书.doc》
2013-8-7
Proprietary and Confidential Information
23
控件(control)
控件的特征
• • • • • 封装 图形化,和用户交互 可接受消息,有消息处理函数 依赖于窗口存在 每个具体的控件有唯一ID
21
GUI提供的控件(续)
ListBox
• • • • • 分为三类:单选,多选,文字 支持上下滚动,连续滚动 支持数据分批载入 可以在标题上显示当前项和总项数(例如 2/200) 动态添加,删除,更改
20Βιβλιοθήκη Baidu3-8-7
Proprietary and Confidential Information
Proprietary and Confidential Information
4
培训内容
平台简介 Reference MMI介绍 GUI介绍 Kernel介绍 资源介绍 实例介绍
2013-8-7
Proprietary and Confidential Information
• Control:控件,可以完成某种特定功能。例如:编辑功能、 文本显示功能、动画功能等。
2013-8-7
Proprietary and Confidential Information
9
窗口、控件示例
Window
Control
2013-8-7
Proprietary and Confidential Information
LCD_DrawLine
……
2013-8-7
Proprietary and Confidential Information
27
GUI_Font
• • • 直接在屏幕上显示字符串 获得字体的高度,宽度 GUI_GetFontWidth GUI_GetFontHeight LCD_DisplayStringInRect LCD_DisplayString …..
10
应用、窗口和控件关系图
2013-8-7
Proprietary and Confidential Information
11
培训内容
平台简介 Reference MMI介绍 GUI介绍 Kernel介绍 资源介绍 实例介绍
2013-8-7
Proprietary and Confidential Information
Layer 3
Layer 2
Drivers (HAL)
Layer 1
2013-8-7
Proprietary and Confidential Information
7
MMI结构
KERNEL
Message Management Window Management
Ref MMI
Call SMS Phonebook Call Record
2013-8-7
Proprietary and Confidential Information
14
Reference MMI
• • • • • • • • • Accessory Game Digital Camera Eng(工程模式) Environment Setting Video MSD(防盗功能) MP3 U Disk • • • • • • • • Record Phone(开关机,Pin) Phonebook STK Call Log MMS Browser Multimedia
优点
• 模块化,使用控件可以使开发人员专注于应用的功能开发, 而不是过多考虑界面的开发 方便添加新控件 更改现有控件风格
• •
2013-8-7
Proprietary and Confidential Information
24
控件(续)
控件的风格
• • • 每一类Control和Window的缺省显示风格定义在文件 mmi_theme.c/h中 用户可自定义各种不同的字体、背景色、前景色,定义在 文件mmidisplay_data.c/h中 和屏幕高度,宽度有关的数据定义在mmidisplay_data.c/h 中
•
……….
Open窗口后调用控件的函数
动态创建
• • • 创建animation控件(GUIANIMATE_Init ) 将该控件加入到window中( MMK_CreateDynaCtrl ) 设定animation控件的参数( GUIANIMATE_SetParam )
•
2013-8-7
销毁控件( GUIANIMATE_Destroy )
Memory Block
Size>50KB,根据应用的互斥性,为特定的应用分配了大块的 Memory block
2013-8-7
Proprietary and Confidential Information
16
大内存的分配和复用(续)
平台中的各个模块往往会分配比较大的连续内存,而且只提供给本模块使 用,通常会造成内存的浪费,为了节省Memory,因此需要对大块内存进行 复用。 如下图所示:
3
缩略语
GUI : MMI: SMS: SS: PB: MMS: ATC: WAP: FS: OSA: RTOS: DAL: HAL: STK:
2013-8-7
Graphical User Interface Man Machine Interface Short Message Service Supplementary Service Phone Book Multimedia Message Service AT Command Wireless Application Protocol File System Operating System Abstract layer Real-Time Operating System Device Abstract Layer Hardware Abstract Layer SIM ToolKit
GUI
Setting Menu Listbox STK Editbox Textbox Msgbox Animation Label …… WAP MMS Camera ……
2013-8-7
Proprietary and Confidential Information
8
MMI平台三个重要概念
• Application:应用,指MMI中的应用模块。例如:SMS,CC 等。一个应用可以包含多个窗口。 • Window:窗口,用于显示和处理送给此窗口的各种消息。例 如:按键消息、Timer消息等。一个窗口上可以有多个控件