[WinCE]CP N900上面的开发,举步艰难
2009-10-03 16:27
176 查看
由于工作需要,在CP N900上面开发了一段时间,相当辛苦.
刚开始开发,Coolpad没有开放SDK,所以,SDK,文档,模拟器,总之,几乎所有的东西都是没有的...打电话,CP的人说没听过SDK......也不知道在什么时候,处于什么原因,CP开放了SDK,而且还有文档,不过我已经不是很关心了.
下面的经验,或许对你在N900上面开发应用有些作用....
1. 及早的解决SDK,文档,Demo的问题.
没有这些,解决问题就是痴心妄想.由于N900是WinCE 6定制的系统,有一些API之类的是WM上面没有的.
2. 选用一种编程Easy的数据,如果程序需要数据库的话.
我们之前选用的SQL CE 3.0.实践证明这个选择非常不明智.SQL CE 3.0在N900上面有Bug,某些表读不出来数据....换成SQL CE 3.5 bug解决,但是又碰见另外一个问题,就是C++代码和C#代码想同时访问DB....由于本人之前没写过C++代码,更别说C++代码访问SQL CE了....弄的焦头烂额.
所以,就诞生了Jake.NET兄的一篇文章......很可惜我还没用上那个Helper,就换成了普通文件了.向Jake的辛苦努力道歉,我还欠他一个单元测试.希望这两天可以搞定.
如果你们的应用,可以使用SQLite,最好使用.我是一个SQLite 控..咔咔
3. 模拟器.
实践证明,CP 9030的模拟器是用来看的.我绝大部分时间是写Managed代码的,那些Managed代码在CP 9030上面完全不能调试.唯一所能做的,就是写完代码在机器上面跑一把,记录问题,解决,继续跑.....浪费了n多时间....哎
4. 调试.
模拟器不能跑Managed代码,但是Native代码还是可以跑跑.据CP的人员说,最好在真机上面调试.但是N900没有提供Vista(及其衍生品)上面的同步工具.所以我只能写完程序,继续拿到真机上面跑.....
还有,CP 9030 SDK的STL的ifstream有一个Bug,导致我的程序读取文件时,一直有一个空指针异常.后来被迫换成WM 6 SDK就好了....不知道他们解决问题了没有....
5. 打电话.
出现问题,及早打电话骚扰CP的开发人员.不知道是什么缘故,CP打包SDK的时候,没有把.NET CF打包进去,所以Managed程序不能调试;而且,同步工具也没打包进去,所以,不能连通网络;而且,SDK里面把Document和Sample也没有打包进去,所以,你只能打电话要.
在此向帮助过我的CP开发人员CY致以谢意.
PS:
这两天要在WM上面搞短信拦截,于是乎发现CP N900上面的短信拦截程序做的还不错的.通过一个配置文件"动态"(只能在OS启动时)加载拦截程序,处理完成之后,可以决定是否要将短信归还给OS.不像.NET类库,完全阉割版,达不到功能,需要用MAPI实现....
刚开始开发,Coolpad没有开放SDK,所以,SDK,文档,模拟器,总之,几乎所有的东西都是没有的...打电话,CP的人说没听过SDK......也不知道在什么时候,处于什么原因,CP开放了SDK,而且还有文档,不过我已经不是很关心了.
下面的经验,或许对你在N900上面开发应用有些作用....
1. 及早的解决SDK,文档,Demo的问题.
没有这些,解决问题就是痴心妄想.由于N900是WinCE 6定制的系统,有一些API之类的是WM上面没有的.
2. 选用一种编程Easy的数据,如果程序需要数据库的话.
我们之前选用的SQL CE 3.0.实践证明这个选择非常不明智.SQL CE 3.0在N900上面有Bug,某些表读不出来数据....换成SQL CE 3.5 bug解决,但是又碰见另外一个问题,就是C++代码和C#代码想同时访问DB....由于本人之前没写过C++代码,更别说C++代码访问SQL CE了....弄的焦头烂额.
所以,就诞生了Jake.NET兄的一篇文章......很可惜我还没用上那个Helper,就换成了普通文件了.向Jake的辛苦努力道歉,我还欠他一个单元测试.希望这两天可以搞定.
如果你们的应用,可以使用SQLite,最好使用.我是一个SQLite 控..咔咔
3. 模拟器.
实践证明,CP 9030的模拟器是用来看的.我绝大部分时间是写Managed代码的,那些Managed代码在CP 9030上面完全不能调试.唯一所能做的,就是写完代码在机器上面跑一把,记录问题,解决,继续跑.....浪费了n多时间....哎
4. 调试.
模拟器不能跑Managed代码,但是Native代码还是可以跑跑.据CP的人员说,最好在真机上面调试.但是N900没有提供Vista(及其衍生品)上面的同步工具.所以我只能写完程序,继续拿到真机上面跑.....
还有,CP 9030 SDK的STL的ifstream有一个Bug,导致我的程序读取文件时,一直有一个空指针异常.后来被迫换成WM 6 SDK就好了....不知道他们解决问题了没有....
5. 打电话.
出现问题,及早打电话骚扰CP的开发人员.不知道是什么缘故,CP打包SDK的时候,没有把.NET CF打包进去,所以Managed程序不能调试;而且,同步工具也没打包进去,所以,不能连通网络;而且,SDK里面把Document和Sample也没有打包进去,所以,你只能打电话要.
在此向帮助过我的CP开发人员CY致以谢意.
PS:
这两天要在WM上面搞短信拦截,于是乎发现CP N900上面的短信拦截程序做的还不错的.通过一个配置文件"动态"(只能在OS启动时)加载拦截程序,处理完成之后,可以决定是否要将短信归还给OS.不像.NET类库,完全阉割版,达不到功能,需要用MAPI实现....
相关文章推荐
- WINCE 6.0 R3开发体验1-silverlight示例程序XAMLPERF的运行
- WinCE中中断的处理过程(驱动开发人员角度)
- wince6.0驱动开发(转摘)
- 嵌入式IOEServer终于开发完成,相应的问题作一个系统阐述(WINCE)
- 【转载】WINCE驱动开发之中断的使用
- 如何使用VS2005的VB.net开发WinCE应用程序
- WinCE驱动开发问题精华集锦
- WinCE中nandflash驱动开发介绍
- EVC /PB /WinCE开发问题
- WinCE应用软件开发时遇到的部署问题
- 变电站巡检系统WinCE开发技术
- 在Window Embedded CE(Wince)下使用OpenNETCF进行路由表的开发
- wince应用开发的一些小功能(备忘)
- WinCE中nandflash驱动开发介绍
- WINCE流驱动的动态加载调试与用EVC快速开发WINCE的流驱动(转)
- 在wince上使用Silverlight开发程序受关注的问题
- WinCE平台搭建--基于数据库的.NET应用程序开发(wince6.0+vs2008+sqlce)
- WinCE驱动开发问题精华集锦
- 进行手持设备wince开发中DataGrid的样式设置(宽度)
- android 开发之如何让toolbar 透明并且覆盖到系统状态栏上面