Nokia PC Connectivity SDK 3.0入门

原创 2005年02月25日 23:42:00

我的爱机8210陪伴我好几年了,一直想给他找个软件备份上面的数据,看了别人写的程序,自己也心痒痒。于是,去Nokia的网站找到了PC Connectivity SDK 3.0,借助这个SDK进行开发,便能实现我的要求。好了,废话不多说,直接进入主题。

 

首先,确认你有个Nokia手机,还得是那种能与计算机连接的(通过数据线,红外线,蓝牙都可以);其次,下载SDK,如果想在Nokia.com上下载,你需要注册用户,而在CSDN的移动开发板块下载(http://www.csdn.net/mobile/nokia/ncsp.aspx?id=10200)则能免去注册的麻烦。

 

安装你下载的程序,重启机器后,会发现系统托盘区多了一个手机样子的小图标,没错,他就是“Nokia Connection Manager”,专门负责计算机与手机间的数据通信。打开我的8210上的红外接口,将它放置在计算机的红外适配器旁,如果连接成功,双击小图标,可见如下界面,我的8210已经被程序检测到。

 

 

      以后每次启动机器时,“Nokia Connection Manager”都会自动启动。在“开始”菜单中选择“运行”,键入“msconfig”,在弹出的窗口中选择“启动”页,将“NclTray”前的钩取消,便能避免自动运行了。以后可以在控制面板中手工启动“NclTray”。在自己编写的程序中启动可以使用以下方法:

WinExec(“control.exe NclConf.cpl”, SW_NORMAL);

或者使用:rundll32rundll32 shell32.dll,Control_RunDLL NclConf.cpl

 

从注册表中也可以获得完整的安装路径:

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/App Paths/NclConf.exe


现在请打开“开始菜单”,进入“Nokia PC Connectivity SDK 3.0新条目,你会看到两个PDF格式的开发文档。他们将成为我们今后开发过程中唯一的参考资料(至少目前我只看到这一份,Nokia论坛上虽有PC Connectivity SDK的专栏,却很令人失望)。选择“Nokia PC Connectivity SDK 3.0 – Component Library Reference”,首先查看1.21.3小节(在第9页,点击目录中的条目可自动跳至该页),节选如下:

1.2 Prerequisites

To be able to use Nokia PC Connectivity SDK you need:

• DLR-3P connection cable (available separately)

• IrDA connection

• Compatible Bluetooth connection

• DKU-2 USB connection cable (available separately)

• DKU-5 USB connection cable (available separately)

• DKU-6 USB connection cable (available separately)

1.3 Supported Phones

Nokia PC Connectivity SDK 3.0 supports the following phones:

Phone

Type

Nokia 3320

NPC-1

Nokia 3360

NPW-1

Nokia 6210

NPE-3

Nokia 6250

NHM-3

Nokia 6310

NPE-4

Nokia 6310i

NPL-1

Nokia 6340

NPM-2

Nokia 6360

NPW-2

Nokia 6370

NHP-2

Nokia 6385

NHP-2

Nokia 6510

NPM-9

Nokia 6590

NSM-9

Nokia 6610

NHL-4U

Nokia 6650

NHM-1

Nokia 7110

NSE-5

Nokia 7160

NSW-5

Nokia 7190

NSB-5

Nokia 7210

NHL-4

Nokia 8210

NSM-3

Nokia 8290

NSB-7

Nokia 8310

NHM-7

Nokia 8390

NSB-8

Nokia 8810

NSE-6

Nokia 8850

NSM-2

Nokia 8890

NSB-6

Nokia 8910

NHM-4

看看你的设备是否在其中呢?我们再查看第3节“Language Support”,这可是必读小节,要想编写代码,正确安装类库是基础。参考手册主要以VCVBVS6.0)和Delphi4.0)为例,并简单讲解了在三种工具中进行com开发的一些注意事项。我使用Delphi7.0,也许是SDK 3.0中的内容更新过,在Delphi7.0中安装类库时,类库的内容与SDK 3.0 Reference中的图片不一样,多了不少内容。

 

SDK 3.0 Reference中的图片

我安装时的效果

 

      默认情况下,所有的类库图标都备放置到ActiveX面板内,为了更好的管理和使用,我将他们安装到以“Nokia”为名的新面板下。好了,下面我就简单的编写几行代码,以Delphi为例。

 

      启动Delphi,新建一个Application。在窗体上放置一个TPhoneInfo_Suite3控件并命名为PIS3,这个控件是用来收集手机基本信息的,性质就和收集CPU和操作系统信息一样;再放置一个TMemoTStatusBar,分别命名为mPhoneInfoStatusBar。然后添加如下代码:

 

var

  pVal: widestring;

  DevStatus: DevNotifyOpt;

Begin

  //获得设备连接信息

  PIS3.get_DeviceStatus(DevStatus);

 

  //清空Memo

  mPhoneInfo.Clear;

  //设备的链接状况共有四种分别是UNKNOWNATTACKEDREMOVED

//DISCONNECTED

  case DevStatus of

    UNKNOWN      : StatusBar.Panels.Items[0].Text := 'Status: Unknown';

ATTACHED     : begin

                   StatusBar.Panels.Items[0].Text := 'Status: Attached';

                   //获得软件版本号

                   PIS3.DefaultInterface.Get_SwVersion(pVal);

                   mPhoneInfo.Lines.Add('SwVerSion: ' + pVal);

                   //获得硬件版本号

                   PIS3.DefaultInterface.Get_HwVersion(pVal);            

                   mPhoneInfo.Lines.Add('HwVersion: ' + pVal);

                   //获得产品类型

                   PIS3.DefaultInterface.Get_ProductType(pVal);

                   mPhoneInfo.Lines.Add('ProductType: ' + pVal);

                   //获得产品编码

                   PIS3.DefaultInterface.Get_ProductCode(pVal);

                   mPhoneInfo.Lines.Add('ProductCode: ' + pVal);

                   end;

    REMOVED      : StatusBar.Panels.Items[0].Text := 'Status: Removed';

    DISCONNECTED : StatusBar.Panels.Items[0].Text := 'Status: Disconnected';

  end;

end;

 

运行这段代码,如果你的手机正确连接,将能够看到相关信息。

 

下面两段代码分别实现发送短消息和获取电话本资料的功能:

 

//发送短消息,在窗体上放置一个TSMS_SuiteAdapter命名为SMSSend

//放置一个TMemo命名为mSMSText,用以输入短信内容

//放置一个TEdit命名为ePhoneNumber,用以输入接收方号码

var

  pSMS: IShortMessage;

  wsSMSText:widestring;

begin

  SMSSend.CreateShortMsg(pSMS);

  pSMS.Set_UserDataText(mSMSText.Lines.Text);

  pSMS.Set_OtherEndAddress(ePhoneNumber.Text);

  SMSSend.Send(pSMS);

end;

 

//获得电话本信息,在窗体上放置一个TPhonebookSuite3,命名为PhonebookSuite

//一个TMemo命名为mPhonebookInfo,用以存放获得的电话本信息

var

  pVal : WideString;

  Info: IContact;

  pTotal, pFull, pFree, i: integer;

begin

  //MEMORY_DEFAULT是访问默认存储器,假如你当前设置的电话本存储器是SIM卡,

  //而所有的电话号码却存储在手机上,或者SIM卡和手机里都有电话本资料,那么就需

//要分别访问两个存储器,以获得全部信息。

  PhonebookSuite.GetMemoryCaps(MEMORY_DEFAULT,pTotal, pFull, pFree);

  mPhonebookInfo.Clear;

  //获得当前存储器总空间

  MPhonebookInfo.Lines.Add('Total:'+IntToStr(pTotal));

  //获得当前存储器已使用空间

  MPhonebookInfo.Lines.Add('Full:'+IntToStr(pFull));

  //获得当前存储器剩余空间

  MPhonebookInfo.Lines.Add('Free:'+IntToStr(pFree));

  MPhonebookInfo.Lines.Add('================'#13#10);

  for i:=1 to pFull do

  begin

    //从当前存储器中取得名片信息

PhonebookSuite.GetContact(MEMORY_DEFAULT, i, Info);

//从获得的名片信息中解析出号码

    Info.Get_Number(pVal);

mPhonebookInfo.Lines.Add(pVal);

//从获得的名片中解析出名字

    Info.Get_Name(pVal);

    MPhonebookInfo.Lines.Add(pVal);

    MPhonebookInfo.Lines.Add('---------------');

  end;

 

end;

 

下面的图片便是效果:

 

几个简单的示例,仅仅说明一下入门的方法,以上几个控件还有很多功能可以使用。更多的信息就要查阅SDK带的手册了,总体来说手册讲的比较详细,接口模型、函数的类型和用法都进行了叙述,并有适当的代码举例,但恰恰可惜的就是所有的举例都是VB代码。在使用其他语言编程时,还需要自己做一些摸索。

 



作者:monkeyking  EMail:monkeyking@cstc.net.cn

 

nokia 所有 qt sdk 下载地址

http://get.qt.nokia.com/qtsdk/
  • liucheng2009
  • liucheng2009
  • 2011年06月30日 13:58
  • 986

Eclipse上搭建Nokia手机的J2ME开发环境

-->安装Nokia Development Suite 2.2 最新版本的Nokia开发包为2.2版本,支持J2ME2.0(包括1.0)。下载地址:http://www.forum.nokia.c...
  • herrapfel
  • herrapfel
  • 2005年06月24日 16:58
  • 1794

amd app sdk 3.0链接错误问题

opencl库文件的链接错误 AMDAPPSDK-3.0安装成功后: /opt/AMDAPPSDK-3.0/lib/x86_64/libOpenCL.so链接有问题,需要手动和/opt/AMDAP...
  • aniuge008
  • aniuge008
  • 2018年01月10日 16:31
  • 29

android studio 3.0 android sdk manager 设置国内镜像加速方法

android studio 3.0 android sdk manager 设置国内镜像加速方法 android studio 3.0 android sdk manager 找不着独立分离出来...
  • wuqilianga
  • wuqilianga
  • 2017年11月15日 14:32
  • 4250

ABB机器人上位机C#使用PC SDK搭配机器人程序实现自动化

ABB机器人在工业自动化上使用的比较多,一般直接在机器人控制器中编写程序即可,但涉及到需要搭配视觉并且搭配PLC等外围设备实现复杂自动化设备的时候,单纯的机器人程序就显得不是很好用。 所以借助PC ...
  • swtech_
  • swtech_
  • 2017年09月01日 17:09
  • 1527

android studio 3.0 sdk 兼容 eclipse

1.将能用的traceview.bat 复制到android studio 3.osdk tools 目录
  • zdy10326621
  • zdy10326621
  • 2017年12月07日 15:19
  • 97

Weblogic 数据源及连接池配置问题Warning! Connectivity to backend database not verified

在weblogic8.14下建立pool过程中,点击Test Driver Configuration,提示“Connection successful,建立完毕后,点击“Test Pool”却报如下...
  • number_chc
  • number_chc
  • 2014年12月29日 11:59
  • 815

Lumia Nokia Care Suite 刷机教程

Lumia 使用 Nokia Care Suite 强刷
  • c13232906050
  • c13232906050
  • 2015年10月07日 23:46
  • 2116

解读vs2003、vs2005、vs2008开发Windows CE环境、默认SDK开发包及测试

转载自: http://swanmsg.i.sohu.com/blog/view/184427819.htm 以前做过一些嵌入式开发,那么从以前做产品、做项目设计到嵌入式的开发,零碎时间累...
  • wmqdn
  • wmqdn
  • 2012年06月06日 16:42
  • 4073

PowerVR SDK记录

最近下载了一个PowerVR的SDK,在高手的指点下玩了一把。 感觉PowerVR的Demo的效果还可以,只是没有以前看到的shuiwang的QT下的效果好,不能让人眼前一亮的感觉。不过也没关系,有...
  • xiaosan5871
  • xiaosan5871
  • 2013年05月31日 16:08
  • 2368
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Nokia PC Connectivity SDK 3.0入门
举报原因:
原因补充:

(最多只允许输入30个字)