09年底还在项目现场的时候,得到公司来年会有基于.NET的项目的消息,需要转战.NET了。
从那会起,一有时间就会看一些关于.NET的资料,并且我们基本上确定开发语言是C#,为什么是C#呢?因为人家硬件设备厂商那边提供C#的二次开发包,后来知道了人家也有C++的,C++/C#哪个更容易上手,我个人感觉是C#,因为之前我一直在做Java。当出差回来的时候也快要过年过假了,去了趟中关村图书大厦架子上满是印着C#字眼的书, 幸亏来之前在网上查了下学习.NET大家普遍认同推荐的几本书,一本C#高级编程(第6版)、一本是框架设计(第2版):CLR Via C#,看到那本C#高级编程真的如网上所述厚实,看了两页目录当时没买,买了本CLR Via C#这是转向.NET以来的第一本书吧。
过年期间书是带回家了,记得也翻了几页,知道了一些基础知识、基础原理、名司。知道了原来.NET也有个类似VM的东东,原来还有托管非托管之说,原来还有个IL,原来还有CLR、CTS、CLS、原来依托托管机制可以C#、C++、VB混用、原来。。。。 其实也就是一点点的学习思考体会,慢慢的就好起来了。过年后回到公司,开始正式的进入了项目准备阶段,需求调研、寻找设备供应商、会有一些项目可行性、项目发展规划的文档评审过程。
准备
对PDA这块的准备
1、PDA的基本信息,例如它主要针对哪些应用?基本的技术指标有哪些?主要应用在哪些领域?
2、对PDA的开发过程总体上有个认识,了解PDA的开发过程中,所用到的技术手段,哪些问题在初期最好就应该先考虑到。
3、这块我的办法就是名词整理/关联整理,什么意思呢?就是在查看一些关于PDA开发或者是其它的一件事务时,我们会接触到属于那一块领域所特有的名词、术语啥的。有针对性的把这些名司关联起来,弄懂或是说了解它们单独的意思,组合在一块 又能代表某一类事物的概念定义。
对项目前期的准备
1、了解、学习业务,这很重要。对业务有所了解可以让我们较好的提供技术与业务结合那所谓的平衡点吧。对业务的有效理解可以省去我们很多时间,并且还能保障我们做的是有用功。
2、站在个人、全局角度仔细考虑下,我要做什么?我在此项目中主要做什么?我的同事主要做什么?他也是这样想的么?
3、概括一句话就是,搞清楚自己应该承担的那份责任,搞清楚一些拿捏不准的事情可以与谁确认、找谁讨论或获得帮助。
开发相关主题
开发语言的学习
数据库的选型与学习
1、 SqlCE SqlCe是SqlServer的一个精简实现,选它的原因很简单,在我看到一些MSDN关于智能设备开发时提到了SqlCE.
2、 SqlLite 后来在与PDA设备厂商交流时,人家告诉我还有SqlLite,貌似它更加简洁更易被人使用.
小结
虽然高手都常说语言只是工具而已,但是我们必须得承认,人家之所以那样说是因为人家的技术修为到了那种层次,而那种层次是我们面前的一盏灯.好像到了好像还差的远。
1、C# .Net Framework WinCE5.0,现在回味起来很难想象如果当初不是C#而是C++会是个什么样子.
2、C#的学习,其实学习C#和学习Java的最大不同就是,我不能再一行行的敲代码了,再也不会有给我很长时间然后去学习的机会.时间不等我,所以我的学习策略也跟着变动,比如我对Java比较熟,可以以Java的思维方式参照着来做C#的项目,参照对Java理解来学习C#,学习C#的委托/学习C#的线程/学习C#的语法/学习C#的HelloWorld/学习C#的线程处理机制/学习C#OLEDB/学习C#异常,等等好像又列出来一堆点呀,这会我买了两本书,<框架设计(第2版):CLR Via C#>,,第一本书的内容个人感觉是原理性的知识很重要,第二本书是面向我这种应用级别的,到目前为至第二本书给我的帮助剩过第一本书,但我坚信当第一本书我能读的非常懂的时候,第二本也没有太大价值了.
2.1 在学习C#时有一点我感觉非常重要就是它的继承接口机制/委托机制,我可以初步的给目前的项目一个小总给,继承把控全局,线程+事件处理机制解决难点.OK,真的就这些核心技术使我们完成了项目初期技术定型阶段.
2.2 MSDN帮了我很大的忙,开发入门以及对那些基础知识的运用掌握等,都是看那上面对相关知识点的讲解/小示例或源程序.然后在后期的开发阶段自然更加离不开它了.
3、 对选哪个数据库主要还得跟我们现在的技术水平/各方面的资源{人员,开发进度}
4、因为我们是要在.NET Compact Framework2.0上做应用,真的是很多函数都给精简了,这点编码时注意点就可以了。
获取帮助
厂商的帮助,内容主要会是
1、首先提供开发测试用的设备
2、提供相关的API封装文档,有代码最好,这样会省很多力气。
其它帮助,比如周围有朋友以前接触过,有朋友的朋友也搞过类似工作,适时请教人家点拨还是非常有必要的。
小节
1、别忘了我们自己,无论能获得多少帮助,结果还得是我们自己才最清楚自己想要什么,总不能把人家拉过来全职帮咱干活不是(其实这也是个不错的选择)。
2、说到测试用设备,一般厂商会提供一两台规格较低的设备算是样机,不过对咱们开发影响不大,顶多算旧设备内部硬件平台都一样(各厂商都有针对自己硬件设备的一个硬件功能API), 最起码得让厂商提供两台设备吧,一台怎么说也不够用.
一些体会
万事开头难,在思路/开发目的/等等各个方面都迷惑不解理不清头绪的时候,寻求一些帮助可以达到事半功倍的作用,自个在哪里研究,第一搞的自己身心疲惫,第二如果长时间这样下去,会有两个极端向北极和南极那样,要么全理清要么一锅粥彻底把自己绕进去,绕进去后依靠自己的能力再走出来又得花费时间.这样的结局就是:
1.周围的同事/领导看到你每天都异常的努力,但是只有输入没有输出,换位思考一下如果你主管一新项目看到开发这边每天都加班很晚但愣是拿不出任何东西,你是什么样的感觉.除了你本人其它任何人都心里没底.
2.把自己绕进去并不完全是件坏事,这个阶段可以更加基础/详细的掌握积累这方面的经验,解决问题的过程就是我们自己成长的过程.但要注意时间也就是跳出去的时机,要不然项目咋弄.写了这么多,给这块再写个小结:
什么都没有的情况并不可怕,正好是我们又一次煅炼的机会学习的机会.
在学习新知识的时候,专进去或主动或被动的绕进去其实咱大家都能容忍但一定要记得适当的时机要出来,需要我们好好的把握这个度.
由上面内容可以得出,在适当的时候获取别人的帮助非常关键,厂商的技术支持/朋友的点拨对我们较快的理清整个开发思路非常关键非常重要.
开发环境准备
这块一个主要问题就是得确认厂商那边人家设备支持.Net Compact Framework版本,比如2.0、3.0、3.5,这块在跟人家厂商交流、沟通时就应该注意的。
1、VS2008,它基本集成了开发所有工具。
2、同步工具
2.1 XP系统下使用ActiveSync
2.2 Win7、Visita系统是Window Mobile Device Center
3、PDA机器的winCE系统上需要装个数据库(当然这得看具体需求到底用不用数据库,不过一般做应用系统都应该有的吧。),无论是SQLCE或是SQLLite。
小结
1、在建立工程项目时一定记得注意.NET Framework版本问题
2、关于SqlCe在PDA上的安装也有很多情况的,比如到后期项目需要发布个自动安装包,如果厂商那边不提供预安装数据库,那么我们还得打到安装包里。
3、相关文档地址:
介绍说明:http://msdn.microsoft.com/en-us/13kw2t64(zh-cn,VS.90).aspx
SqlCE下载地址:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=e497988a-c93a-404c-b161-3a0b323dce24
SqlCE联机丛书:http://www.microsoft.com/downloads/details.aspx?FamilyID=1ff0529a-eb1f-4044-b4b7-40b00710f7b7&displaylang=zh-cn
相关推荐
2. 设置目标平台:在项目属性中,选择“智能设备”作为目标平台,并指定WinCE作为目标操作系统。 3. 获取WinCE SDK:你需要对应硬件设备的Windows CE Platform Builder或SDK,以获取设备特定的驱动和库。 三、C#...
"c#下载源码 使用线程下载 pda项目支持"这个项目就展示了如何在C#中实现这一功能。下面我们将详细探讨相关的知识点。 1. **线程**:在C#中,线程是程序执行的基本单元。主线程通常负责用户界面交互,而额外的线程...
首先,硬件准备是PDA开发的基础,需要一台PDA手持设备。开发工具则选用Visual Studio 2008,因为后续版本不再支持PDA开发。另外,还需要两个关键插件:Windows Mobile 6 Professional Images (CHS).msi和Windows ...
标题中的"PDA同步软件WIN 7系统.zip"指的是一个压缩包文件,包含了专门用于Windows 7操作系统中的个人数字助手(PDA)同步软件。PDA软件通常用于将数据如联系人、日程、任务等从个人电脑同步到PDA设备,或者从PDA...
总的来说,这个"TTS+PDA"项目展示了如何利用现代技术提升传统PDA设备的功能,结合条形码扫描和语音播报,为工作场景带来了更高的效率和便利性。通过深入理解和应用这些技术,我们可以进一步开发出更多创新的解决方案...
本项目涉及的是使用C#开发针对PDA(个人数字助手)的应用程序,这通常指的是运行在Windows CE(Wince)操作系统上的设备。下面我们将深入探讨这个主题。 一、C#语言基础 C#是微软公司推出的一种面向对象的编程语言...
在IT行业中,PDA(Personal Digital Assistant)是一种便携式电子设备,通常用于个人日程管理、联系人存储、任务管理等。随着技术的发展,PDA也开始具备了更丰富的功能,比如屏幕抓取,这对于软件演示、故障排查、...
标题中的“PDA查看注册表工具”指的是一个专门设计用于个人数字助手(PDA)设备的应用程序,该程序允许用户查看并可能编辑其设备上的注册表。注册表是Windows操作系统中的一个重要组成部分,它存储着系统和应用程序...
在Android开发中,手持设备如PDA(个人数字助手)常常用于商业场景,例如仓库管理、物流跟踪等,其中扫码功能是不可或缺的一部分。本案例主要介绍如何在Android Studio环境下为Newland NLS-N7这样的手持安卓扫码枪...
在IT领域,PDA(Personal Digital Assistant)是个人数字助手的简称,通常指的是掌上电脑或智能手机等便携式设备。这些设备可以通过各种方式与个人计算机进行通信,以便同步数据、传输文件或进行调试。在标题"获取...
《JAVA手机PDA程序设计入门教程》是一套全面解析JAVA在移动设备上应用开发的教程,旨在帮助初学者深入理解并掌握JAVA在手机和平板电脑(PDA)上的编程技术。教程内容涵盖从基础概念到实际项目开发的全过程,旨在通过...
在IT领域,PDA(Personal Digital Assistant)是指个人数字助手,一种早期的便携式电子设备,用于管理日程、联系人、任务等。随着智能手机的普及,PDA的使用逐渐减少,但针对某些特定行业或爱好者,PDA仍然有其独特...
在“TestScanning”这个项目中,很可能是为了验证上述技术点的实现情况,通过模拟实际场景来评估扫描程序的性能和功能。这可能包括对不同条形码类型、距离、角度和光照条件的测试,以及在不同PDA设备上的运行测试。...
在压缩包中,文件"java手机PDA程序设计入门"可能是教程的主文档,可能包含了详细的步骤、示例代码和实战项目,帮助学习者从零开始掌握移动设备上的Java编程。由于文件有密码保护,建议按照RAR文件中的说明解锁,以便...
根据给定的文件信息,我们可以深入探讨PDA(Probability Data Association)算法在MATLAB环境下的实现及其在数据关联中的应用。以下将详细解析PDA算法的原理、MATLAB实现过程及关键步骤。 ### PDA算法简介 PDA算法...
标题中的“CFG-Convert-to-PDA.rar”表明这是一个关于将上下文无关文法(CFG)转换为推导堆栈自动机(PDA)的压缩文件。这个过程在理论计算机科学中很重要,因为CFGs和PDAs是形式语言理论的基础概念,它们在编译器...
使用此压缩包中的MATLAB代码,你可以理解PDA算法的工作原理,并在实际项目中进行目标跟踪的仿真。通过调整参数,可以适应不同的跟踪场景,如传感器性能、目标动态特性等。此外,这个代码还可以作为一个起点,进一步...
在进行PDA数据采集前,需要进行以下准备工作: 1. **PDA注册**: - 首先,需要通过电脑连接PDA并安装手机助手,以便传输数据。在PDA的设置中启用USB调试模式。 - 连接电脑后,使用手机助手访问PDA内置存储卡,将...
标题中的"PDA.rar_PDA_PDA delphi_delphi pda_pda接口"表明这是一个与掌上电脑(PDA)相关的项目,特别提到了Delphi编程环境在开发PDA应用程序时的接口使用。描述中反复提到“pda接口函数调用”,进一步强调了这个...