欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    普通WindowsMobile应用程序开发.ppt

    • 资源ID:2602934       资源大小:1.12MB        全文页数:41页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    普通WindowsMobile应用程序开发.ppt

    普通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、SmartPhone 2、Pocket PC,Windows Mobile操作系统的分类: 1、Standard、 2、Professional 3、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 Mobile应用开发环境和常用工具介绍,Visual studio 2005/2008 Windows mobile sdk Remote Spy Remote Heep Remote Register Editor Remote Zoom In Remote File Viewer Remote Process Viewer ActiveSync 4.5,Windows Mobile常用测试工具介绍,CETK(系统集成测试工具) Hopper(随机测试) Vsbenchmark (硬件性能测试) Visual unit(单元测试),Agenda,Windows Mobile 编程考虑 Win32/MFC/WTL三种mobile上编程方式比较 设计Windows Mobile用户界面 窗口、基础控件 内核服务 文件系统 POOM MAPI Cellcore API UI自定义,Windows Mobile编程考虑,1、Win32 API 标准Win32 API的子集 部分简化的API函数 独特的Windows Mobile API函数 消息的考虑,消息通知机制 可能要修改的数据类型,Windows Mobile编程考虑,2、Windows Mobile平台和外壳考虑 屏幕大小规格 (QCIF176X220, QVGA240x320, VGA480x640) 更小的显示器、更灵活的通讯方式 平台硬件环境考虑 鼠标 触摸屏 键盘 软键盘、硬键、光标笔,Windows Mobile编程考虑,3、基于Unicode 环境 在代码中包含Tchar.h,它包含所有的字符转换函数。 使用Win32字符串函数,而不是C run-time函数。 使用TCHAR和LPTSTR进行声明。声明一个变量为TCHAR类型,用户可以编译代码为Unicode和ASCII。 使用TEXT宏来转换一个字符串。 使用Cstring 和MultiByteToWideChar( ) 转换字符串,Unicode C-Runtime函数 ANSI string functions strlen() - query length strcpy() - copy string strcat() - concatenate string Unicode string functions wcslen() - query length wcscpy() - copy string wcscat() - concatenate string Bi-Modal string functions _tcslen() - query length _tcscpy() - copy string _tcscat() - concatenate string,Windows Mobile编程考虑,Windows Mobile编程考虑,Unicode C-Runtime 转换函数 Converting to Unicode Converting from Unicode,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 = (TCHAR*)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:加载和维护驱动程序 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, 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、线程,线程数量不限,跟内存大小有关。,Windows Mobile编程考虑,6、内存管理,Wm 存储 结构,ROM RAM 扩展 内存,程序存储区 对象存储区,(T Card等Flash Card),(能够以现场执行: XIP),其中Flash Card的程序在 执行时必须拷贝到RAM的 程序存储区,ROM则能够 以现场执行的方式,节约 了有价值的RAM,Windows mobile支持虚拟内存、本地和分离堆,以及内存映射文件。 获取存储区使用情况: 获取系统当前的内存状态:GetSystemInfo RAM程序存储区:GlobalMemoryStatus RAM对象存储区:GetStoreInformation或GetDiskSpaceEx ROM存储区:需要根据OEM提供的函数在BSP层获取存储大小。,一个典型的WinCE下的内存处理消息: WM_HIBERNATE消息(发送给WS_OVERLAPPED样式的窗口,一般先发送 给后台程序),设计Windows Mobile用户界面,设计概念 让用户得到控制权 使用熟悉的控件 保持界面的一致性 提供信息反馈 简捷的设计风格 支持多种输入方法(键盘,触笔),设计Windows Mobile应用程序,应用程序设计 UI尽量和PPC,Smartphone本身设计风格相统一 使用 WIN32 SDK MFC, C#设计界面 创建的程序类型EXE,DLL,Windows Mobile Smartphone 用户界面,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 按钮 Static 文本 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.style = 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(,窗口(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的字符. 获取可使用的磁盘空间 GetDiskFreeSpaceEx 打开、创建文件 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_ATTRIBUTE_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数据库系统,注册表 打开注册表 RegOpenKeyEx ,RegCreateKeyEx 读写注册表 RegQueryValueEx,RegSetValueEx 列举注册表 RegEnumKeyEx 删除注册表 RegDeleteValue,RegDeleteKey 关闭注册表 RegCloseKey 刷新注册表 RegFlushKey,注册表系统,POOM 全称 Pocket Outlook Object Model,在CE上就有使用 功能 提供一系列的COM接口,能够方便的访问Windows Mobile内置数据库,如联系人,日程,任务数据库, 并使用POOM进行PC和Device上的联系人等的同步。 Windows Mobile上的新增函数 CalendarNewAppointment ContactsNewContact Window Mobile上的Notification 监测POOM数据的创建,修改,删除 当前开发的POOM相关应用 火拼速查 联系人群组管理,POOM,MAPI 全称 Messaging API, Windows Mobile所特有 功能 提供一系列的COM接口,能够方便的访问和操作Windows Mobile中的信息数据,如收件箱中的 短信,彩信,Email等,并可以对信息功能进行扩展 Windows Mobile上的新增函数 MailDisplayMessage MailSwitchToAccount . MAPI上的Notification 使用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 Plugin Smartphone: Homescreen Plugin 主菜单图标自定义 拨号盘自定义(Phone Canvas) Menu extensibility 开关机动画 网络参数预制(GPRS, WAP,彩信预制),UI自定义,Windows Mobile应用开发流程,结束,Question?,

    注意事项

    本文(普通WindowsMobile应用程序开发.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开