Presentation is loading. Please wait.

Presentation is loading. Please wait.

MBL 325 开发跨平台的 Windows Mobile应用程序

Similar presentations


Presentation on theme: "MBL 325 开发跨平台的 Windows Mobile应用程序"— Presentation transcript:

1 MBL 325 开发跨平台的 Windows Mobile应用程序

2 你遇到过这些问题吗? 我想让一个.NET Compact Framework应用程序运行在桌面计算机上,应该怎么做?
我自己写了一个用于桌面计算机的dll,移植到Pocket PC上不能用,请帮帮我!

3 你关心这些问题吗? 扩大您的市场 使用现有的业务逻辑 来启动新的项目 超越竞争对手 给你的老板留下深刻印象!
在不同的设备上使用相同的逻辑代码 使用现有的桌面工具改善在.NET Compact Framework上进行的开发

4 课程内容安排 背景 差异 改进 实现 Microsoft .NET 操作系统/平台 Visual Studio 2005改进 编程语言支持
重定向目标平台 条件编译

5 12/3/2018 6:10 PM 差异 5 © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

6 “精简的”.NET Framework 不支持: 不完整的命名空间、类型、方法重载等 ngen ASP.NET服务 Remoting
运行时宿主 CAS 二进制序列化 Reflection.Emit CodeDom 应用程序配置 不完整的命名空间、类型、方法重载等

7 .NET Compact Framework v1.0中 特有的类型
Microsoft.WindowsCE.Forms InputPanel、MessageWindow/Message System.Net.IrDAx / System.Net.Sockets.IrDAx EndPoint、Client、DeviceInfo、Listener System.Data.SqlServerCE SqlCeXXXX Command、CommandBuilder、Connection、DataAdapter、DataReader、Engine、Error、ErrorCollection、Exception、Parameter、RemoteDataAccess、Replication、Transaction

8 .NET Compact Framework v2.0中 特有的类型
Microsoft.WindowsCE.Forms HardwareButton MobileDevice.Hibernate SystemSettings.ScreenOrientation DocumentList Notification LogFont Microsoft.WindowsMobile.DirectX Direct3D SqlCeResultSet

9 Microsoft Windows Mobile 5.0
提供了附加的类型(库) 属于操作系统的一部分 不属于.NET Compact Framework 可以由.NET Compact Framework 1.0和2.0共同使用 Microsoft.WindowsMobile PocketOutlook Configuration Status Telephony Forms

10 .NET Compact Framework CLR
垃圾收集器 使用“标记/清除”方式(不分代) 三个阶段:简单、压缩、完全 触发条件 应用程序错误 应用程序被移至后台 在v1.0中分配了750KB,(v2.0中是1MB) JIT 统一了sJIT和iJIT 不支持ngen MSIL 不支持calli (但支持委托) 不支持localloc

11 Pocket PC vs. Desktop 输入法 窗体/对话框尺寸 应用程序(窗体)间导航 应用程序(窗体)的关闭 文件系统
内存 (资源) 限制 部署

12 12/3/2018 6:10 PM 改进 12 © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

13 Visual Studio 2005 移动设备应用程序开发特性
通用的ResX资源 支持各种屏幕分辨率 新的模拟器 新的调试器 目标设备可变 同时支持.NET Compact Framework 1.0和2.0

14 编程语言支持 目前只支持Visual C#和Visual Basic Visual C#支持完整的语言特性
.NET Compact Framework 2.0新增了volatile关键字 Visual Basic语言可以使用支持库 Microsoft.VisualBasic命名空间中的大部分类型支持精简版,和其他Framework类型一样 少量MSIL不受支持 不支持calli、localloc

15 12/3/2018 6:10 PM 实现 15 © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

16 可重定向的.NET Compact Framework应用程序
直接执行即可,无需任何额外工作 运行时判断平台类型 System.Environment.OSVersion.Platform 如果使用了特定于.NET Compact Framework的程序集,应用程序就会崩溃

17 可重定向的.NET Compact Framework应用程序
在PC上运行.NET Compact Framework应用程序 运行时判断平台类型 根据平台类型执行不同的初始化代码 使用特定于.NET Compact Framework的程序集 (崩溃)

18 共享代码,而非可执行文件 使用编译常量 使用条件编译进行P/Invoke 两个项目、两个输出、一组源代码
从相同的代码编译出针对不同平台的程序集 使用条件编译进行P/Invoke 根据不同的平台调用不同的API

19 使用条件编译 生成特定于平台的程序集 项目的组成 使用条件编译调用特定于平台的API

20 其他提示 为不同的平台单独开发用户界面 充分利用特定于平台的特征 丰富用户体验 使用接口或设计模式隐藏特定于平台的代码

21 总结 使用条件编译 通过修改产品的架构达到这一目的 为移动设备和桌面计算机生成不同的程序集
对于商业用途的应用程序,为不同的目标设备分别设计用户界面 通过修改产品的架构达到这一目的

22 订阅Windows Mobile Newsletter
与我们联系 订阅Windows Mobile Newsletter Windows Mobile & Exchange Server最佳实践计划 《Windows Mobile平台应用与开发》 刘彦博 胡砚 马骐等著,人民邮电出版社

23 相关Session MBL323 让你的应用程序同时运行于 Pocket PC和Smartphone之上 (张欣)
通过这节课的学习将会帮助您开发可以动态的适应不同的Windows Mobile设备的应用程序。让您的程序可以自动适应不同的语言,不同的窗体大小布局和不同的平台特征。这将会减少您对产品支持的复杂度,同时也可以让您的程序的开发和维护更加简单。

24


Download ppt "MBL 325 开发跨平台的 Windows Mobile应用程序"

Similar presentations


Ads by Google