您的位置 首页 发布

Windows Mobile 5中的新特性

微软最近推出下一代移动设备操作系统Windows Mobile 5。Windows Mobile 5在用户体验方面做了很多改善,但更多的改进还是在应用程序编程接口方面。在这篇

微软最近推出下一代移动设备操作体系Windows Mobile 5。Windows Mobile 5在用户体会方面做了许多改善,但更多的改善仍是在运用程序编程接口方面。在这篇文章中,咱们会向您介绍Windows Mobile 5在开发方面的一些新特性,其间包含3D图形编程、新控件、新的API函数等。

开发工具

Windows Mobile 5的开发工具是Visual Studio 2005。假如要开发Windows Mobile 5的运用程序,还需求装Windows Mobile 5的SDK和ActiveSync 4.0。

咱们要在Windows Mobile 5设备上开宣布保管运用程序就需求凭借.NET Compact Framework 2.0的强壮功用。.NET Compact Framework 2.0在1.0的基础上做了较大的改善,为咱们供给了更多的用户控件,比方DateTimePicker、OpenFileDialog、WebBrowser、LinkLabel和Notification等控件。这些控件都是在.NET CF 1.0中所没有供给的,可是由于他们在实践开发进程中会常常用到,到了.NET CF 2.0中,这些功用总算被加了进来。

在数据拜访方面,.NET CF 2.0支撑SQL Mobile 2005的拜访支撑。SQL Mobile 2005的功用增强了许多,支撑多用户一起拜访数据库,也支撑在PC上创立SQL Mobile数据库。Windows Mobile 5的Smartphone版别也支撑SQL Mobile数据库了。在XML支撑方面,.NET CF 2.0支撑XML的Schema、Serialization、XPath等。

在长途拜访方面,.NET CF 2.0支撑MSMQ和.NET Remoting,而在对Socket支撑方面,IPv6现已得到了很好的支撑。

.NET CF 2.0还有一个重要的特性:支撑COM互操作性。咱们可以在.NET程序中可以拜访COM组件,也可以将Callback函数传递给COM组件。可是咱们不能调用ActiveX控件。

在C++移动设备程序开发方面,Visual Studio 2005支撑MFC 8.0、ATL 8.0和规范C++库8.0。咱们也可以在Windows Mobile 2003设备上支撑.NET CF 2.0,但有必要要将.NET CF 2.0的运转库安装到设备上。

用户界面

Windows Mobile 5的Pocket PC用户界面产生了很大改动。为了和Smartphone界面类似,Pocket PC的程序菜单被改成了左右两个,在实践设备上也增加了两个硬件按键和这两个菜单相对应。这样的改动可以让用户方便地经过硬件按键操作运用程序,而这样的修正也便于运用程序在Pocket PC和Smartphone之间的移植。为了坚持兼容性,Pocket PC依然支撑多于两个一级菜单的菜单结构,可是新开发的程序主张仍是选用新的菜单结构。

Windows Mobile 5的运用程序很方便地支撑Notification告诉机制。当运用程序产生改动的时分,咱们可以经过Notification办法来告诉用户。

下面咱们就来经过一个示例,来了解一下.NET CF运用中怎么运用Notification控件。咱们首要来创立一个Windows Mobile 5的运用程序。翻开Visual Studio 2005,挑选File-New-Project,咱们挑选Visual C#中的Pocket PC Magneto,来创立一个Windows Mobile 5 Pocket PC运用程序。需求提示的是在创立项现在,有必要安装好Windows Mobile 5的SDK。

在创立好项目后,咱们在界面编辑器中,为窗体增加MainMenu和Notification两个控件。咱们在MainMenu的一个子菜单的响应函数中增加下面的代码:

private void menuItem5_Click(object sender, EventArgs e)

{

StringBuilder HTMLString = new StringBuilder();

HTMLString.Append();

HTMLString.Append(Submit data?);

HTMLString.Append(

);

HTMLString.Append();

HTMLString.Append();

HTMLString.Append();

//Set the Text property to the HTML string.

notification1.Text = HTMLString.ToString();

notification1.Caption = Notification Demo;

notification1.Critical = false;

// Display icon up to 10 seconds.

notification1.InitialDuration = 10;

notification1.Visible = true;

}

Notification控件支撑HTML格局的文本,所以咱们的示例创立了两个Input控件。然后设置Notification控件的Visible特点为true就可以了。

编译履行后的作用如上图所示。咱们可以看到,Notification现已从Windows Mobile 2003的气泡型窗体变成了从下边呈现的方法。输入法图标也从右下角移到了中心。

Microsoft.WindowsMobile.Forms

Windows Mobile 5为开发者供给了Microsoft.WindowsMobile.Forms类库,该类库为用户供给了调用各种体系功用的对话框。现在该类库为咱们供给了三种自定义对话框,分别是供给照相机功用的CameraCaptureDialog、供给挑选联系人的ChooseContactDialog和供给挑选图片的SelectPictureDialog。

咱们用一个示例来演示Microsoft.WindowsMobile.Forms类库的功用。首要来创立一个Windows Mobile 5的运用程序,渠道类型可以是Pocket PC或Smartphone。为了运用Microsoft.WindowsMobile.Forms类库,咱们需求首要增加引证。咱们在解决方案资源管理器里右击项目称号,在右键菜单中挑选增加引证。咱们在增加引证对话框中,咱们挑选“Microsoft.WindowsMobile.Forms”。

咱们在菜单的响应函数中增加ChooseContactDialog的运用。

private void menuItem1_Click(object sender, EventArgs e)

{

ChooseContactDialog contactPicker = new ChooseContactDialog();

contactPicker.Title = Choose a Contact below:;

contactPicker.ChooseContactOnly = true;

contactPicker.ShowDialog();

}

其实咱们看到ChooseContactDialog的办法非常简略,只需求设置Title后,调用ShowDialog办法就可以显现出下边的对话框。

下边咱们来增加对SelectPictureDialog的引证。

SelectPictureDialog pickerDialog = new SelectPictureDialog();

pickerDialog.Filter = Image Files(*.BMP;*.JPG)|*.BMP;*.JPG;

pickerDialog.InitialDirectory = @\My Device\My Images;

pickerDialog.Title = Select an image file;

pickerDialog.ShowDialog();

咱们首要来设置SelectPictureDialog的过滤器,答应显现JPG和BMP的图片;然后设置初始文件夹;最终调用ShowDialog办法。

下边是SelectPictureDialog显现的作用。

电话、短信和电子邮件

在Windows Mobile 2003中,假如要在.NET程序中拨打电话的话,就需求经过P/Invoke来调用API。到了Windows Mobile 5中,Microsoft.WindowsMobile.Telephony类库为咱们供给了拨打电话的功用。

在运用这个功用之前,咱们有必要增加Microsoft.WindowsMobile.Telephony引证。调用电话功用的代码如下:

Phone phone = new Phone();

phone.Talk(1234567);

程序运转作用如下:

Phone类的办法只要一个Talk办法,所以也只能简略的进行电话拨打。咱们假如想完成一些杂乱的功用,比方监督拨入的电话等,还需求去调用TAPI来完成。

发送短信息和发送电子邮件都需求Microsoft.WindowsMobile.PocketOutlook类库的支撑。PocketOutlook是一个很杂乱的命名空间,包含对许多体系功用的支撑,而支撑发短信的类是SmsMessage。

public void SmsMessageSend()

{

SmsMessage smsMessage = new SmsMessage();

//Set the message body and recipient.

smsMessage.Body = Would you like to meet for lunch?;

smsMessage.To.Add(new Recipient(John Doe, 2065550199));

smsMessage.RequestDeliveryReport = true;

//Send the SMS message.

smsMessage.Send();

return;

}

咱们可以看到SmsMessage的Body特点是SMS短信的内容,而To特点,则是收件人的名字和电话号码,由于支撑多个收件人,所以在增加收件人的时分需求调用To特点的Add办法。RequestDeliveryReport特点是一个Bool值,设置是否要求得到发送陈述。最终调用SmsMessage的Send办法。

发送Email的代码与发送短信息的代码大致类似,可是需求运用的是EmailMessage类。

public void EmailSend()

{

EmailMessage message = new EmailMessage();

message.Subject = The picture you requested;

message.BodyText = Attached is the picture we discussed;

Recipient client = new Recipient(John,john@test.com);

message.To.Add(client);

Attachment image = new Attachment(\test.jpg);

message.Attachments.Add(image);

message.Send(ActiveSync);

}

EmailMessage的Subject特点是电子邮件的标题,BodyText特点是邮件正文。To特点中可以增加收件人的称号和地址。咱们还可以在Attachments特点中增加附件。最终咱们调用Send办法。

联系人、约会和使命

Windows Mobile中有三个很重要的程序:联系人、约会和使命。咱们可以运用Microsoft.WindowsMobile.PocketOutlook类库,来调用体系中的联系人、约会和使命信息。咱们可以经过自己的程序增加信息。

咱们先来看一下Microsoft.WindowsMobile.PocketOutlook命名空间中很重要的一个类OutlookSession。该类的一个目标就表明了一个Pocket Outlook 目标模块,曾经咱们需求调用POOM完成的功用,现在可以经过PocketOutlook来完成。

特点 阐明
Appointments 得到约会(Calendar)目录的信息。
Contacts 得到联系人目录信息。
EmailAccounts 得到Email帐号的调集。
SmsAccount 得到SMS帐号的信息。
Tasks 得到使命目录信息的调集。

在运用OutlookSession的时分要先创立一个OutlookSession的目标,然后创立相应的目标并增加到OutlookSession相应特点中去。咱们来看下边的比如。

OutlookSession session = new OutlookSession();

// 增加约会

Appointment appointment = new Appointment();

appointment.Subject = test;

appointment.Body = testtest;

appointment.Start = DateTime.Now;

appointment.End = new DateTime(2005, 7, 17, 16, 25, 0);

session.Appointments.Items.Add(appointment);

// 增加联系人

Contact contact = new Contact();

contact.FirstName = John;

contact.LastName = Lee;

contact.CompanyName = Microsoft;

contact.Email1Address = John@test.com;

contact.MobileTelephoneNumber = 1234567;

contact.IM1Address = John@hotmail.com;

session.Contacts.Items.Add(contact);

// 增加使命

Task task = new Task();

task.Subject = task1;

task.Body = task1 body;

session.Tasks.Items.Add(task);

咱们创立Appointment、Contact和Task目标,然后设置相应的特点,然后增加到OutlookSession目标的相应的特点中。

其他新特性

Windows Mobile 5除了支撑上面的特性外,还支撑一些其他的新特性。比方在图象显现方面,Windows Mobile 5支撑DirectX 3D Mobile。.NET运用程序可以经过Microsoft.WindowsMobile.DirectX类库来调用D3D Mobile,而C++运用程序可以经过COM接口的办法来调用。

在Windows Mobile设备上遍及运用的GPS全球定位体系也得到了更好的支撑。Windows Mobile 5供给了GPS Intermediate Driver,使运用程序可以运用一致的API接口来调用GPS体系。

Windows Mobile 5供给了一个叫做“ExitWindowsEx”的函数,答应软件重启操作体系。Pocket PC运用该函数可以重启体系,而Smartphone支撑关机和重启两种功用。

在数据库方面,SQL Mobile尽管被广泛运用,可是由于SQL Mobile没有被安装到ROM中。所以假如需求SQL Mobile就需求占用一部分RAM内存空间,关于一些轻量级的运用就显得不是很适宜了。所以Windows Mobile中还包含一个轻量级的数据库EDB,该数据库是CEDB的晋级。

写在最终

在这篇文章里,咱们领会了Windows Mobile 5为开发者供给的新特性。许多常用的特性都被参加到了API中。可是咱们还要看到,许多新特性关于杂乱的运用来说,还比较简略。假如想完成比较杂乱的功用,还需求依托自定义控件来完成。

最终也期望这篇文章可以协助开发者们了解Windows Mobile 5的开发新特性。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/fabu/299588.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部