普通WindowsMobile应用程序开发.ppt

上传人:sccc 文档编号:5412208 上传时间:2023-07-04 格式:PPT 页数:41 大小:1.12MB
返回 下载 相关 举报
普通WindowsMobile应用程序开发.ppt_第1页
第1页 / 共41页
普通WindowsMobile应用程序开发.ppt_第2页
第2页 / 共41页
普通WindowsMobile应用程序开发.ppt_第3页
第3页 / 共41页
普通WindowsMobile应用程序开发.ppt_第4页
第4页 / 共41页
普通WindowsMobile应用程序开发.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《普通WindowsMobile应用程序开发.ppt》由会员分享,可在线阅读,更多相关《普通WindowsMobile应用程序开发.ppt(41页珍藏版)》请在三一办公上搜索。

1、普通Windows Mobile应用程序开发,Windows Mobile应用开发培训陈震邦 2009.4.18,Pocket PC,SmartPhone,Microsoft Windows mobile系统的特点:类似于小电脑,目前主流配置:CPU:180600MHZ;程序内存64-128MB;ROM内存:128-256MB与其他手机系统比较-优点:1、内置office系统2、含Internet、多媒体等PDA功能3、可安装卸载软件,有触摸屏等等4、支持很多硬件设备SDRAM,USB,PCI等缺点:1、操作复杂2、对硬件要求高3、体积较大Windows mobile 软件平台分类:1、Sma

2、rtPhone2、Pocket PC,Windows Mobile操作系统的分类:1、Standard、2、Professional3、Classic,Windows mobile系统总体架构图,Windows Mobile的体系结构与特征,采用Windows兼容的Win32 API方式 使用的API和WINCE基本相同,另外还加入了Windows Mobile特有的API.对COM/ActiveX的支持上,Windows Mobile只支持“轻量级”的COM,而且对COM的执行是在进程内完成的。支持MFC支持Microsoft.NET Compact Framework,Windows Mo

3、bile应用开发环境和常用工具介绍,Visual studio 2005/2008Windows mobile sdkRemote SpyRemote HeepRemote Register EditorRemote Zoom InRemote File ViewerRemote Process ViewerActiveSync 4.5,Windows Mobile常用测试工具介绍,CETK(系统集成测试工具)Hopper(随机测试)Vsbenchmark(硬件性能测试)Visual unit(单元测试),Agenda,Windows Mobile 编程考虑Win32/MFC/WTL三种mob

4、ile上编程方式比较设计Windows Mobile用户界面窗口、基础控件内核服务文件系统POOMMAPICellcore APIUI自定义,Windows Mobile编程考虑,1、Win32 API标准Win32 API的子集部分简化的API函数独特的Windows Mobile API函数消息的考虑,消息通知机制可能要修改的数据类型,Windows Mobile编程考虑,2、Windows Mobile平台和外壳考虑屏幕大小规格(QCIF176X220,QVGA240 x320,VGA480 x640)更小的显示器、更灵活的通讯方式平台硬件环境考虑鼠标 触摸屏键盘 软键盘、硬键、光标笔,

5、Windows Mobile编程考虑,3、基于Unicode 环境在代码中包含Tchar.h,它包含所有的字符转换函数。使用Win32字符串函数,而不是C run-time函数。使用TCHAR和LPTSTR进行声明。声明一个变量为TCHAR类型,用户可以编译代码为Unicode和ASCII。使用TEXT宏来转换一个字符串。使用Cstring 和MultiByteToWideChar()转换字符串,Unicode C-Runtime函数ANSI string functionsstrlen()-query lengthstrcpy()-copy stringstrcat()-concatenat

6、e stringUnicode string functionswcslen()-query lengthwcscpy()-copy stringwcscat()-concatenate stringBi-Modal string functions_tcslen()-query length_tcscpy()-copy string_tcscat()-concatenate string,Windows Mobile编程考虑,Windows Mobile编程考虑,Unicode C-Runtime 转换函数Converting to UnicodeConverting from Unicod

7、e,mbstowcs(wchar_t*wcstr,/Output string.const char*mbstr,/Input string.size_t count);/Character count,wcstombs(char*mbstr,/Output string.const wchar_t*wcstr,/Input string.size_t count);/Character count,Windows Mobile编程考虑,为了防止这样的错误发生,可以按照下面的代码来改写。,int myfunc(TCHAR*p)TCHAR*pszFileName;pszFileName=(TCH

8、AR*)malloc(MAXFILELEN);if(pszFileName)_tcsncpy(szFileName,p,MAXFILELEN);,int myfunc(TCHAR*p)TCHAR*pszFileName;pszFileName=(TCHAR*)malloc(MAXFILELEN*sizeof(TCHAR);if(pszFileName)_tcsncpy(szFileName,p,MAXFILELEN);,4、进程只最多支持32个进程,默认至少开启5个进程:nk.exe:内核服务FileSys.exe:文件系统服务GWES.exe:GUI支持device.exe:加载和维护驱动程

9、序services.exe管理和停止服务,Windows Mobile编程考虑,创建和终止进程调用CreateProcess 函数来创建进程.调用TerminateProcess 函数来终止进程。,BOOL CreateProcess(LPCTSTR lpApplicationName,LPTSTR lpCommandLine,NULL,NULL,FALSE,DWORD dwCreationFlags,NULL,NULL,NULL,LPPROCESS_INFORMATION lpProcessInformation);BOOL TerminateProcess(HANDLE hProcess,

10、DWORD uExitCode);,VOID ExitThread(DWORD dwExitCode);,HANDLE CreateThread(LPSECURITY_ATTRIBUTES lpThreadAttributes,DWORD dwStackSize,LPTHREAD_START_ROUTINE lpStartAddress,LPVOID lpParameter,DWORD dwCreationFlags,LPDWORD lpThreadId);,Windows Mobile编程考虑,结束线程,主线程结束,该进程也就结束,创建线程,使用CreateThread函数,5、线程,线程数

11、量不限,跟内存大小有关。,Windows Mobile编程考虑,6、内存管理,Wm 存储结构,ROMRAM扩展内存,程序存储区对象存储区,(T Card等Flash Card),(能够以现场执行:XIP),其中Flash Card的程序在执行时必须拷贝到RAM的程序存储区,ROM则能够以现场执行的方式,节约了有价值的RAM,Windows mobile支持虚拟内存、本地和分离堆,以及内存映射文件。获取存储区使用情况:获取系统当前的内存状态:GetSystemInfo RAM程序存储区:GlobalMemoryStatus RAM对象存储区:GetStoreInformation或GetDisk

12、SpaceEx ROM存储区:需要根据OEM提供的函数在BSP层获取存储大小。,一个典型的WinCE下的内存处理消息:WM_HIBERNATE消息(发送给WS_OVERLAPPED样式的窗口,一般先发送 给后台程序),设计Windows Mobile用户界面,设计概念让用户得到控制权使用熟悉的控件保持界面的一致性提供信息反馈简捷的设计风格支持多种输入方法(键盘,触笔),设计Windows Mobile应用程序,应用程序设计UI尽量和PPC,Smartphone本身设计风格相统一使用WIN32 SDKMFC,C#设计界面创建的程序类型EXE,DLL,Windows Mobile Smartpho

13、ne用户界面,Windows Mobile Smartphone界面风格,Smartphone界面特性1.使用左右软键,进行菜单操作2.回退键的处理3.列表框,编辑框,静态文本的大量使用4.由于没有触摸屏,一般不使用按钮控件,Windows Mobile Pocket PC用户界面,Windows Mobile Pocket PC界面风格,Pocket PC界面特性1.非常类似PC上的UI操作方式2.可以使用左右软键,进行菜单操作3.鼠标左键用触笔单击操作取代,4.鼠标右键用触笔长按操作取代,窗口、基本控件,窗口主要的输入和输出方式用户通过窗口对手机进行操作基本控件Button 按钮Stati

14、c 文本Edit 编辑框CheckBox 复选框RadioBox 单选框List 列表控件ListCtrl.列表视图控件,创建窗口撤销窗口,BOOL DestroyWindow(HWND hWnd);,HWND CreateWindow(LPCTSTR lpClassName,LPCTSTR lpWindowName,DWORD dwStyle,int x,int y,int nWidth,int nHeight,HWND hWndParent,HMENU hMenu,HANDLE hInstance,PVOID lpParam);,窗口(1),注册窗口类,WNDCLASS wc;wc.sty

15、le=CS_HREDRAW|CS_VREDRAW;wc.lpfnWndProc=WndProc;wc.cbClsExtra=0;wc.cbWndExtra=0;wc.hInstance=hInstance;wc.hIcon=LoadIcon(hInstance,MAKEINTRESOURCE(IDI_WIN32SAMPLE);wc.hCursor=0;wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);wc.lpszMenuName=0;wc.lpszClassName=szWindowClass;return RegisterClass(

16、,窗口(2),窗口回调函数,LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)int wmId,wmEvent;PAINTSTRUCT ps;HDC hdc;RECT rc;switch(message)case WM_COMMAND:break;case WM_CREATE:break;,窗口(3),线程创建线程,使用 CreateThread 函数.,内核服务(2),文件系统,文件文件名中不允许包含的字符*,/,?,:,“,|,以及ASCII码值小于 32的字符.获取可使用的磁盘空间 Ge

17、tDiskFreeSpaceEx打开、创建文件 CreateFile Read/Write 文件操作 ReadFile(),WriteFile(),文件操作示例,void OpenFileExample(void)HANDLE hFile;hFile=CreateFile(TEXT(MYFILE.TXT),/Open MYFILE.TXT GENERIC_READ,/Open for reading FILE_SHARE_READ,/Share for reading NULL,/No security OPEN_EXISTING,/Existing file only FILE_ATTRIB

18、UTE_NORMAL,/Normal file NULL);/No template file if(hFile=INVALID_HANDLE_VALUE)/Your error-handling code goes here.return;/End of OpenFileExample code,数据库装备数据卷CeMountDBVol()打开数据文件CeCreateDatabaseEx()读写数据库CeReadRecordPropsEx()CeWriteRecordProps()关闭数据库CloseHandle()卸载数据卷CeUnmountDBVol(),CE数据库系统,注册表打开注册表

19、RegOpenKeyEx,RegCreateKeyEx读写注册表RegQueryValueEx,RegSetValueEx列举注册表RegEnumKeyEx删除注册表RegDeleteValue,RegDeleteKey关闭注册表RegCloseKey刷新注册表RegFlushKey,注册表系统,POOM全称Pocket Outlook Object Model,在CE上就有使用功能提供一系列的COM接口,能够方便的访问Windows Mobile内置数据库,如联系人,日程,任务数据库,并使用POOM进行PC和Device上的联系人等的同步。Windows Mobile上的新增函数Calend

20、arNewAppointment ContactsNewContactWindow Mobile上的Notification监测POOM数据的创建,修改,删除当前开发的POOM相关应用火拼速查联系人群组管理,POOM,MAPI全称Messaging API,Windows Mobile所特有功能提供一系列的COM接口,能够方便的访问和操作Windows Mobile中的信息数据,如收件箱中的短信,彩信,Email等,并可以对信息功能进行扩展 Windows Mobile上的新增函数MailDisplayMessage MailSwitchToAccount.MAPI上的Notification

21、使用IMAPIAdviseSink接口接收信息改变通知当前开发的MAPI相关应用短信聊天智能备份,MAPI,Cellcore API:Windows Mobile特有功能用来操作无线相关功能(通话,短信,网络,SIM卡)TAPI:实现通话等相关功能 Telephony API(TAPI)2.0 SMS API:实现短信收发,读取功能 SIM API:实现SIM卡读写相关操作 RIL Function:直接通过RIL和Modem交互,Cellcore API,主要用于运营商定制待机界面PPC:Today PluginSmartphone:Homescreen Plugin主菜单图标自定义 拨号盘自定义(Phone Canvas)Menu extensibility 开关机动画 网络参数预制(GPRS,WAP,彩信预制),UI自定义,Windows Mobile应用开发流程,结束,Question?,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号