当前位置: 首页 > 工具软件 > ishell > 使用案例 >

20110505 Brew工程师培训笔记——第八章 ISHELL简介

田嘉澍
2023-12-01

第八章  ISHELL简介

一、主要内容

(1)、介绍IShell所提供的八大类服务

(2)、介绍IShell API所提供操作和特点

二、IShell所提供的8类服务

(1)、应用程序管理

(2)、资源文件的管理

(3)、设备和应用程序配置信息

(4)Notification

(5)Alarms

(6)Timers

(7)、对话框, message boxes 和 prompts

(8)、其他功能 (如 Beep)

三、访问SHELL所提供的服务

(1)ModulesApplets要访问外部服务,需通过IShell接口。

(2)Modules Applets要访问其他的接口,需先获得其接口指针,这也需要使用IShell接口。

(3)、每一个接口用一个唯一的Class ID来标志

四、应用程序管理

(1)、创建、启动和停止BREW类和应用程序

(2)、获得目前手机上的module和类的信息

五、与应用程序管理相关的函数

(1)ISHELL_CreateInstance()

(a)、一个最重要的函数,可用于创建类的实例,特别是BREW接口

(b)int ISHELL_CreateInstance(IShell * pIShell,AEECLSID cls, void ** ppobj);

(2)ISHELL_ActiveApplet()

(3)ISHELL_Busy()

(4)ISHELL_CheckPrivLevel()

(5)ISHELL_CanStartApplet()

(6)ISHELL_Resume()

(7)ISHELL_ForceExit()

(8)ISHELL_CloseApplet()

(9)ISHELL_EnumAppletInit()

(10)ISHELL_EnumNextApplet()

(11)ISHELL_GetHandler()

(12)ISHELL_QueryClass()

(13)ISHELL_RegisterHandler()

六、资源文件管理

(1)、能从资源文件(.bar)中读出具体信息

(2)、能从声音或图像文件中装载入相应的资源信息

七、与资源文件管理相关的函数

(1)ISHELL_LoadResData()

(2)ISHELL_ReleaseResData()

(3)ISHELL_LoadResImage()

(4)ISHELL_LoadResObject() 

(5)ISHELL_LoadResSound()

(6)ISHELL_LoadResString()

(a)、可用于从资源文件中读出字符串信息

(b)int ISHELL_LoadResString( IShell * pIShell, 

const char * pszResFile,

int16 nResID,

AECHAR * pBuff,

int nSize);

(7)ISHELL_LoadImage()

(8)ISHELL_LoadSound()

八、设备和应用程序配置信息的管理

(1)、设备配置信息

(a)ISHELL_GetDeviceInfo()

1、获得设备的信息:如屏幕尺寸、色深、可获得的内存、是否支持GPSone等信息

2、void ISHELL_GetDeviceInfo(  IShell * pIShell, AEEDeviceInfo * pi);

3、例子:

AEEDeviceInfo di;
di.wStructSize = sizeof(  AEEDeviceInfo  );

ISHELL_GetDeviceInfo (  pMe->a.m_pIShell,  &di  );

(2)、应用配置信息

(a)ISHELL_SetPrefs()

(b)ISHELL_GetPrefs()

1、提供一个结构以存储或获得应用的信息,如游戏中的最高分等

九、Notification

(1)、若一个应用想在任何时候接收事件通知,甚至当该应用没有运行的时候,则应在.mif文件中注册该通知信息

(2)、若当一个应用在运行的时候接收事件通知,则调用ISHELL_RegisterNotify()即可

十、Alarms

(1)、当指定的时间值到了时,会产生相应的事件通知信息。当应用没有运行时仍然可以接收到该信息

(2)、通常用于一段较长时间的通知,如日历通知

十一、Timers

(1)、当指定时间值到了后去完成指定的操作

(2)、时间间隔通常都较短 (毫秒到秒)

十二、Alarm和Timer函数

(1)ISHELL_SetAlarm()

(2)ISHELL_CancelAlarm()

(3)ISHELL_SetTimer()

(4)ISHELL_CancelTimer()

(5)ISHELL_GetTimerExpiration()

十三、对话框, Message Boxes和 Prompts

(1)、利用资源编辑器创建

(2)BREW AEE为目前的应用维护了一个对话框堆栈

(3)、处于活动状态的对话框接收所有的事件,并将这些事件分配给处于活动状态的控件

(4)、当调用IShell_EndDialog释放了处于活动状态的对话框,则堆栈中的下一个对话框将被激活

十四、与对话框, Message Box和Prompt 相关的函数

(1)ISHELL_CreateDialog()

(2)ISHELL_EndDialog()

(3)ISHELL_GetActiveDialog()

(4)ISHELL_MessageBox()

(5)ISHELL_MessageBoxText()

(6)ISHELL_Prompt()

十五、复习要点

(1)、描述IShell所提供的八大类服务

(2)、描述IShell API中所提供的重要的操作和属性

十六、问题回顾

(1)AlarmTimer和通知有和区别?他们分别在什么时候采用?

(2)、如何访问资源文件?

(3)、如何获取配置信息?

(4)、用什么方法可以创建一个接口的实例?

 类似资料: