第八章 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)、Modules和Applets要访问外部服务,需通过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)、Alarm,Timer和通知有和区别?他们分别在什么时候采用?
(2)、如何访问资源文件?
(3)、如何获取配置信息?
(4)、用什么方法可以创建一个接口的实例?