`
love19820823
  • 浏览: 928194 次
文章分类
社区版块
存档分类
最新评论

[Wp7] 写给Android开发者的Windows Phone开发秘籍

 
阅读更多

和Android平台移动应用程序非常类似,Windows Phone 7(WP7)应用程序也是用托管语言编写的,Android使用Java,Windows Phone 7使用C#,各自都提供了丰富的开发库,Java和C#之间的许多差异都与样式有关,它们都和C/C++有着千丝万缕的联系,因此它俩也有很多相似之处。

.NET/Windows Phone 7和Java/Android Api之间虽有很多不同点,但两者的相似点让你在移植应用程序时不需要费太大的力气。

平台差异

在深入了解转换或创建Windows Phone 7应用程序相关的工具和过程之前,我们先简单介绍一下Windows Phone 7和Android各自使用的术语和技术。Windows Phone 7第一个重大的不同点是,应用程序是用C#编写的托管.NET程序集,平台支持两种类型的应用程序:Silverlight和XNA游戏。

大多数Windows Phone 7应用程序都是用Silverlight创建的,通过常见的控件,如标签、文本框和列表等,提供典型的基于表单的用户交互,Android Layout和Activity与Silverlight中的Page类似。

Windows Phone 7还支持XNA,它允许用户创建2D和3D游戏,它们分别等同于Android SurfaceView和GLSurfaceView的2D和3D模式,但和Android不同的是,XNA游戏使用的是Direct3D,因此更容易将PC和Xbox 360游戏移植到手机上,而Android使用的是OpenGL。

页面(Page)和导航(Navigation)

Silverlight Page实际上是一个XML文件,它和Android Layout类似,XML定义一个Page时是使用XAML(可扩展应用程序标记语言)创建的,XAML和Android Layout类似,但它支持更多的功能,XAML允许开发人员在Page内执行操作,包括Animations和Data Binding等,从此不再需要为这些功能编写代码。

Android Layout和Activity是松耦合的,你需要自己编写代码,以便和Activity内的UI元素连接起来,对给定的Page来说,C#代码是和它捆绑到一起的,因此不需要编写UI附属元素,平台会自动为对象创建相关的“线路”,为Page和UI创建相关的事件,这样可以预防在Task onCreate方法中经常出现的混乱。

这两个平台另一个重要的不同之处是导航,在Android中,你可以通过创建一个Intent从一个任务切换到另一个任务,它和Windows Phone 7中的Navigation功能相同,Navigation允许你在Page之间移动,和Android Intent类似,你可以向你要导航的Page传递数据,Windows Phone 7中的Page和ASP.NET中的Page有某些属性是相似的。

将Layout转换成Page

在深入了解代码之前,我们先来看看Android Layout XML如何向Windows Phone 7 XAML Page转换,在Windows Phone 7免费工具箱中,最耀眼的莫过于XAML设计工具,Visual Studio® 2010中的XAML设计器只适合初级开发人员,它只能对Page做一些基本的控制,Expression Blend®则是专业化的工具,需要改造UI时,你应该使用它,和Android Layout一样,你也可以使用文本编辑器直接编辑XAML文件,因为实际上它是一个XML文件。

Windows Phone 7 Page提供了Android Layout类似的布局能力,下表列出了它支持的布局属性和Android对应的属性。

布局控件

Windows Phone 7

Android

Canvas

AbsoluteLayout

Grid

GridView

ScrollView

ScrollView

StackPanel

LinearLayout

正如你所看到的,Windows Phone 7提供了和Android几乎相同的布局能力,下表列出了Windows Phone 7的基本控件和Android的同等控件。

基本控件

Windows Phone 7

Android

TextBlock

TextView

TextBox

EditText

Button

Button

CheckBox

CheckBox

RadioButton

RadioButton

Image

ImageView

ProgressBar

ProgressBar

ListBox

ListView

Map

MapView

WebBrowser

WebView

你应该注意到Windows Phone 7的基本控件和Layout类型能够一一对应,但也有些特殊的Layout和控件无法对应起来,其原因在于XAML的强大,通过XAML,我们可以在一个控件中嵌入另一个控件,这意味着你不用创建复杂的控件,这一切都可以在你的应用程序中创建和自定义。

应用程序存储

对大多数移动应用程序而言,数据的存储是一件大事,对Windows Phone 7来说,最佳的办法是选择云服务作为数据存储的主要手段,你可能会感到很奇怪,但如果你是为你的网站开发一个前端程序,你就会明白了。如果你不是做的这种开发,你有两种数据存储方法:使用商业云存储服务,如Windows Azure云存储,或使用本地IsolatedStorage接口,IsolatedStorage允许你为应用程序存储文件。

Windows Phone 7应用程序允许你访问本地数据,但它目前并没有提供内置的数据库API,如SQLServer精简版或SQLite,如果你现在的Android应用程序使用的是SQLite存储数据,你需要提出一个替代方案,在写这篇文章的时候,在Codeplex上有几个开源项目为IsolatedStorage接口增加了数据库存储功能。

根据你应用程序的数据存储需要,不需要数据库API,也许就能将数据存储在本地,例如,如果你在构建一个RSS/ Podcast应用程序,你可以把RSS种子就保存在XML文件中,当你需要访问数据时,你只需要载入数据,使用LINQ获取特定的数据即可。

在RSS应用程序示例中,我们可以使用RSS种子的原始XML文件,也可以使用LINQ to XML创建.

Windows Phone 7支持存储应用程序设置和用户偏好设置,在Android中,它叫做Shared Preferences,支持存储Key/Value类型的信息,在Windows Phone 7中,它叫做Local Settings,通过IsolatedStorage接口可以访问它们,同样,信息访问也是通过Key/Value的格式进行的。

开发工具

作为一名Android开发人员,你可能对开源开发工具情有独钟,使用Eclipse作为Android应用程序开发IDE无疑是大多数人的选择,但Android Development Toolkit(ADT)缺乏许多必要的工具,如适合的布局工具,虽然ADT带有布局工具,但不够强大,很多时候,我们不得不手写XML。

相比之下,微软平台可供选择的工具就要多得多,现在在create.msdn.com上提供的工具有:

◆Microsoft Visual Studio 2010 Express for Phone

◆Microsoft Expression Blend for Phone

◆Microsoft XNA Game Studio for Phone

这三个工具允许你免费使用,Microsoft Visual Studio 2010 Express for Phone是主要的Windows Phone 7应用程序集成开发环境,它包括了所有必需的工具,如Page布局工具,C#编译器,Windows Phone 7模拟器等。

Microsoft Expression Blend for Phone主要是针对专业设计人员的,设计人员可以使用它从零开始创建Page。

Microsoft XNA Game Studio for Phone则是为2D和3D游戏开发准备的,它包括了XNA框架,以及处理游戏音效和图像需要的工具。

小结

Windows Phone 7给智能手机操作系统市场注入了新的活力,它基于成熟的技术,如Silverlight,WPF,C#等,正如本文介绍的,Android和Windows Phone 7之间的差异主要集中在表面上,Android开发人员要转向Windows Phone 7开发并不是什么难事。


前段日子诺基亚与微软结盟,未来诺基亚的主推智能手机平台将为Windows Phone平台,对诺基亚和微软来讲都将是一个双赢的局面,而对Windows Phone平台的开发者来讲有诺基亚这样的手机厂商支持,开发Windows Phone应用将更加“钱途”。到目前为止,Android平台比Windows Phone平台的开发者要多得多,希望本文能够给Android开发者一个启迪。

原文地址

http://blog.csdn.net/antsnm/article/details/6262007

分享到:
评论

相关推荐

    移动开发者》2012年7月刊 总第1期:HTML5与Hybrid开发

    18 MetroGridHelper:WP7设计师与开发人员的得力助手 20 Titanium基础知识:Mobile Web开发入门 焦点访谈 22 刘玉璋:地理信息是第五大发明 24 虫洞王向一:不惧怕siri进中国 博文精选 26 Android架构纵横谈之软件自...

    PhoneGap wp7 JQuery Mobile 中文手册

    它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能

    PhoneGap 开发的一个例子

    它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能。PhoneGap是...

    PhoneGap 手机应用开发平台 v1.5.1

    它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能。PhoneGap是...

    深入理解Android 卷1.pdf

    针对性强,注重实际应用开发需求,书中所涵盖的知识点都是Android应用开发者和系统开发者需要重点掌握的。共10章,第1章介绍了阅读本书所需要做的准备工作,主要包括对Android系统架构和源码阅读方法的介绍;第2章...

    深入理解Android++卷1pdf电子书

    针对性强,注重实际应用开发需求,书中所涵盖的知识点都是Android应用开发者和系统开发者需要重点掌握的。 《深入理解Android(卷1)》共10章,第1章介绍了阅读本书所需要做的准备工作,主要包括对Android系统架构和...

    深入理解Android:卷I--详细书签版

    针对性强,注重实际应用开发需求,书中所涵盖的知识点都是android应用开发者和系统开发者需要重点掌握的。  全书共10章,第1章介绍了阅读本书所需要做的准备工作,主要包括对android系统架构和源码阅读方法的介绍;...

    《深入理解Android:卷I》试读本

    针对性强,注重实际应用开发需求,书中所涵盖的知识点都是Android应用开发者和系统开发者需要重点掌握的。 全书共10章,第1章介绍了阅读本书所需要做的准备工作,主要包括对Android系统架构和源码阅读方法的介绍;...

    深入理解Android卷1

    针对性强,注重实际应用开发需求,书中所涵盖的知识点都是Android应用开发者和系统开发者需要重点掌握的。 全书共10章,第1章介绍了阅读本书所需要做的准备工作,主要包括对Android系统架构和源码阅读方法的介绍;第...

    深入理解Android:卷2

    针对性强,注重实际应用开发需求,书中所涵盖的知识点都是Android应用开发者和系统开发者需要重点掌握的。 全书共10章,第1章介绍了阅读本书所需要做的准备工作,主要包括对Android系统架构和源码阅读方法的介绍;第...

    Android平台读书报告.doc

    同时与Windows Mobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省近三 成成本。 二、Android平台的发展前景 移动互联网的蓬勃发展促使手机终端产业链变化,应用和服务逐渐成为竞争的焦点。...

    iphone上的HTML

    它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能。

    深入理解Android 卷I

    针对性强,注重实际应用开发需求,书中所涵盖的知识点都是android应用开发者和系统开发者需要重点掌握的。  全书共10章,第1章介绍了阅读本书所需要做的准备工作,主要包括对android系统架构和源码阅读方法的介绍;...

    PhoneGap安装及使用教程

    它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能。PhoneGap是...

    深入理解Android

    针对性强,注重实际应用开发需求,书中所涵盖的知识点都是Android应用开发者和系统开发者需要重点掌握的。 全书共10章,第1章介绍了阅读本书所需要做的准备工作,主要包括对Android系统架构和源码阅读方法的介绍;...

    手机Web应用开发平台PhoneGap.zip

    因此,目前开发商可以只 编写一次应用程序,然后在7个主要的移动平台和应用程序商店(app store)里进行发布,这些移动平台和应用程序商店包括:iOS、Android、BlackBerry、webOS、bada、Winodws Phone以及Symbian。...

    PhoneGap开发手册

    它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能。

    史上最好传智播客就业班.net培训教程60G 不下会后悔

    为了帮助学员掌握移动3G开发技术,传智播客.Net班加入了Windows Phone开发课程,采用传智播客独创的WP7Simulator教学平台,学员可以做出一个基于云计算架构的LBS系统。点击查看传智播客独创WP7Simulator教学平台。 ...

    Android中的单元测试

    随着Agile的普及,以及开发人员对测试重要性的认识逐步加深,单元测试...  相关厂商内容  天翼空间借力windowsphone8,帮广大开发者赚钱!  MDC2012:9月1日,上海,数十位移动开发专家,与您共叙iOS/Android/WP话

Global site tag (gtag.js) - Google Analytics