Windows Mobile访问SQL Server CE 3.5
六 28th, 2011 | By yujian | Category: Windows Mobile, 手机开发技术, 知识分享这篇文章主要介绍在设备中访问本地数据库的一种方法,通过使用SqlCeResultSet方式来更快、更有效的访问数据库。通过使用数据源来操作数据库访问,一般使用DataSet和SqlCeResultSet
这篇文章主要介绍在设备中访问本地数据库的一种方法,通过使用SqlCeResultSet方式来更快、更有效的访问数据库。通过使用数据源来操作数据库访问,一般使用DataSet和SqlCeResultSet
日前,微软Windows Mobile的产品经理Steven Hegenderfer称,整个移动产业还仅仅是处于起步阶段。另外他还说,“任何认为苹果将统治移动产业的人都是极其错误的,我们并不是自大,现在整个产业还只是露出冰山一角,还有很多黄金等待我们去挖掘。还有很大的发展空间,苹果只是暂时占了先机而已。”。
这一举动遭到了网友们的嘲笑。 有网友笑称,Steven说的确实有道理,不过苹果已经大学毕业了,而且在三岁之前就赚了一大笔,微软则还在医院里戴着氧气瓶。
刚刚在一个名为“InsideMicrosoft”的博客上,居然发现了不少Windows Mobile 7 概念设计图,看日期还是08年就发布出来了,小编深感意外,就拿来和大家分享了。大家知道直到现在Windows Mobile7的概念图也没有人知道,不知道这个是不是真的。里面有微软公司研发中的Windows Mobile7智能设备操作系统的60余张界面效果图,炫目的界面和出色的摇动控制界面,使其全面超越了目前的Windows Mobile 6.5,Windows Mobile 7显的更加超前。
首先,Windows Mobile 7不再依靠触控笔,而主要通过手指进行操作,多点触摸和各种手势都可以操控屏幕实现功能,此外,Windows Mobile 7设备还支持摇动控制,支持丰富的手势,可以通过手势实现打开键盘锁、打开程序、放大页面、滚动列表等多种功能。
其次,Windows Mobile 7大幅度提升了系统的视觉效果,使用了从未出现过的视觉切换界面,也有来自Windows
Vista的部分效果,显示部分已经超过了苹果iPhone。Windows Mobile 7使用了更好的媒体播放器,浏览和播放媒体文件都变的前所未有的方便,Internet Explorer支持全屏浏览和多页面,并能方便的进行放大。Windows Mobile 7的用户界面(UI)进行了前所未有的大幅调整,该机后的UI操作更加简单,多处使用了手指操作,加入了滚动元素和切换元素,为的是使用户更加满意,使用更加方便。Windows Mobile 7将于2009年交付生产商,下面我们通过图片和简单的说明介绍一下这款新版本的Windows Mobile操作系统:
首先新建一个Win32项目,想把一个EXE文件打包,DLL文件、或者空文件(比如仅仅想修改目标设备的注册表)打包过程都是一样的:
操作如图,图见文章:
现在在原来的项目上添加一个智能设备CAB项目:
文件系统中选择需要将你的EXE或者DLL文件放到目标设备的哪个文件夹上。如果需要在目标设备“Program Files”文件夹上再新建个文件夹,则在“Program Files”上右击添加文件夹:
这里我们想把项目生成的EXE程序放到Windows文件夹上,则删除“Program Files文件夹”,新建个“Windows文件夹”,并在上面添加项目输出:
我们现在不光要把EXE文件添加到目标设备,还要修改目标设备的注册表,现在先切换到注册表试图:
可以新建,可以导入(导入现有的REG文件,一般是从模拟器中的注册表保存得到的):
我常习惯直接修改CAB的项目配置文件,此处注意这个文件只支持ASCII码,当里面有汉字时(当你的机器名是中文时,或者前面的添加注册表键值时可能造成),编译时会出错,提示Unicode转换ASCII码错误:
什么是控制面板程序?看到下图就一目了然了。控制面板应用程序是一个以cpl为后缀的文件,其实是个dll文件(把项目生成的dll文件后缀改为 cpl,或者从VS中修改配置直接生产cpl文件)。部署控制面板程序非常简单,直接把生产的cpl文件Copy到手机的Windows目录下即可。当你点击自己编写的控制面板程序的图标时,ctlpnl.exe进程会加载Windows目录下对应的cpl文件。
其实系统自带的一些控制面板程序被集成在cplmain.cpl中(但是像无线管理器等并不是cpl文件,而是一个exe程序,这个可以从注册表中找到设置,微软这么设计的原因是因为无线管理器在很多地方都是需要的。),所以如果你需要在你的程序中打开这些面板的话会经常看到如下代码:
最近很多刚入门的朋友问一些很简单的“怎么用”的问题。这篇文章就是解决这个问题的。欢迎分享更多好的工具。
第一个问题,如何安装开发工具?
1.安装Visual Studio。以下的安装顺序不能更改。
…………
2.安装Activesync 4.5。安装之后打开ActiveSync界面如下,当手机和电脑处于未连接状态时,会显示状态栏白色的“小圈圈”,连上后会变绿色。有人会问 ActiveSync的作用,简单的说是手机与PC同步之用,有时你的模拟器也需要跟PC同步时也需要它(比如通过PC上网,具体设置从网上搜搜)。更多请看ActiveSync Help。
3.安装Windows Mobile 6 Professional SDK Refresh.msi,安装Windows Mobile 6 Professional Images (CHS).msi(中文包)。安装之后就有中、英文模拟器可用了。
其实到这一步一般的开发就能满足了,下面的是专业开发所需要的,需要向微软和第三方购买。
———————————————————————————————————–
4.安装Platform Build for Windows Mobile(要向微软购买)。
5.安装Adaptation Kit(要向微软购买)。
6.安装CSP/BSP(需要硬件厂商提供)。
前段时间涉及到实现自绘多种状态按钮问题,目前解决办法有两个:一个是使用ImageList_Draw方法,另一个是使用DRAWITEMSTRUCT结构体。不知道各位看官有什么好的建议?
第一种方法Windows Mobile 6.0 SDK自带的Samples里面的Crossword就有,代码简单标记下:
//创建一个自绘按钮:
CreateWindow(_T(“Button”), _T(“”),
WS_VISIBLE | WS_CHILD | BS_OWNERDRAW,
183, 4, 50, 20,
hWnd, (HMENU)IDC_MAIN_ENTER_BUTTON, g_hInst, 0);
//载入一个绘有按钮不同状态的位图,这里表示了按钮的两种状态:Up和Down。
g_hImageList = ImageList_LoadImage(
g_hInst,
MAKEINTRESOURCE(IDB_ENTERBTN),
46…….
在文章“Windows Mobile多媒体开发总结之Media Player Plugins ”中总结了在WM(Windows Mobile)中扩展WMP(Windows Media Player)的几种方法。发布之后有很多朋友询问具体做法,所以我乘机也总结下相关知识,刚好也补一下我这方面的差缺。
需求:在WM开发中如果不是单独开发自己的播放器或者使用第三方播放器,你就只能使用WMP,但是你可能需要在别的应用程序或者驱动中控制WMP,或者需要获得WMP的播放状态,那么怎样做呢?你可能会想到向WMP对应的按键发送消息,或者模拟键盘消息。实际上这些都不是好的解决方案。解决方法就是使用User Interface Background Plug-ins,这在上一篇文章中提到过了。
涉及到的知识:User Interface Background Plug-ins需要实现的接口和操作WMP的方法,COM进程内服务器的编写(在Windows下扩展微软本身软件,比如扩展IE,基本都以COM的形式),Today Plug-ins的编写等。(当然你使用ATL会更方便,就不需要自己这样一步步的实现COM了。这里只是为了深入的了解下COM内部原理。)
随着3G网络的普及,像多媒体和流媒体这样的技术需求会越来越大,比如视频通话。但是国内在这方面的高级人才不多,给我们这些做技术的指明了一个方向。
在Windows Mobile下媒体播放器开发有两种选择,一种是扩展Windows Media Player(下文简称WMP),一种是完全自己开发播放器(使用DirectShow,或者使用开源库,比如解码MP3的libmad库)。开发播放器是个大骨头,要好好去啃啃,可惜现在没这样的项目需求。
这次要总结的仅仅是Windows Mobile 6.0/6.1(下文简称WM6.0/6.1)下的WMP扩展,WM6.0/6.1使用的是WMP10版本
Windows Media Player Skins
微软在Moible上是完全支持皮肤的。如果你要想在Mobile上设计一个漂亮个性的Windows Media Player,需要注意设计好各部分(如按钮可用和不可用时)的图片以及skin definition file编写。下图展示的即时HTC一款Windows Mobile机子上的Windows Media Player。关于更多内容请见SDK,SDK上有专门的篇幅讲解的,标题为:Windows Media Player for Windows Mobile Skins。
1.搭建开发环境,按照以下顺序安装。
→安装Visual Studio 2008(我安装的试用的Team Suite版:VS2008TeamSuite90DayTrialCHSX1429243.iso)
→安装Microsoft ActiveSync 4.5.msi
→安装Windows Mobile 6 Professional SDK Refresh.msi(如果需要6.0版本的中文模拟器,需要安装中文包:Windows Mobile 6 Professional Images (CHS).msi)
→安装Windows Mobile 6.5 Professional Developer Tool Kit (CHS).msi
如下图,第一项QVGA即是6.5版本320×240屏幕的模拟器,高亮的一项的是真机,当你需要在真机上调试时使用这项,可见6.5版本的开发工具包并没有带真机调试项:
2.让我们来看下Windows Mobile 6.5 Professional在开发方面的变化。
Today Plug-in
你为6.5以前版本编写的今日插件,仍然可以在6.5版本使用,6.5的策略让默认方案与其它子项互斥,当你选中自己的插件时,默认方案前面的勾将自动去掉。右下图显示的即是默认方案。