我的回收站

技术文章、随笔、文摘及其它
posts - 124, comments - 856, trackbacks - 1, articles - 1
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

置顶随笔

摘要: 这可能也是微软第一次对于某个产品的SDK如此频繁的升级,从3月份的CTP,到4月的CTP Refresh,然后是7月的Beta版本。终于,我们迎来了正式版本的Windows Phone 7的SDK,大家已经可以从这里下载安装。阅读全文

posted @ 2010-09-17 07:30 被遗弃的小指 阅读(2111) 评论(13) 编辑

2011年7月28日

昨天WPMind发现微 软已经在connect站点上放出针对少量开发者的版本号为7712的Mango更新,其中包含针对华硕E600和HTC Mazaa的ffu格式的升级包。不过广大开发者不要着急,从今天开始微软将向广大的App Hub的注册开发者推送7712的升级。如果你足够幸运,很快你的手机上将会收到提示说可以升级了:

image

和之前的升级方式一样,你需要前往connect站点下载新的Zune(4.9.2134)和对应的UpdateWP工具。等等,别忘了下载对应的Windows Phone SDK 7.1 Beta 2 Refresh。新的SDK中有了不少改进:

  • 首先是所有的API已经锁定,意味着你可以使用它开始正式的产品的开发了。
  • 模拟器终于具有了截屏的功能,你不再需要使用第三方的工具来截下屏幕上的图像。
  • Profiler得到了大量的改进从而便于你更好的分析你的程序。
  • NuGet工具可以被整合进Windows Phone SDK中。
  • Marketplace Test Kit工具使得你在提交程序到Marketplace之前先用它检查一下你的程序,从而帮你找出许多潜在的问题,增加程序通过审核的几率。

好了,还等什么?快去connect站点下载新的SDK和Zune,然后等待手机上的升级提示吧!

消息来源:Windows Phone Developer Blog

posted @ 2011-07-28 07:51 被遗弃的小指 阅读(2809) 评论(6) 编辑

2011年6月10日

还记得上个月微软曾经发布过一套针对iOS应用的迁移指导方案吗?显然微软不会忽略掉Android的,现在针对Android应用的迁移指导工具也已经发布!

针对Android的迁移指导工具同样也包含两部分:

1. Android到Windows Phone的API映射工具

image

使用该用具你可以查阅各种Android的API在Windows Phone上是怎样调用的,当然它还包含了相应的示例代码。同时,你对这个API映射工具有啥不满意的话,还可以到这里来提提你的意见。

2. 白皮书

image

和针对iOS的应用一样,微软也提供了针对Android应用迁移到Windows Phone的指导手册,该手册长达90多页,需要的朋友可以从这里下载

posted @ 2011-06-10 07:54 被遗弃的小指 阅读(2260) 评论(11) 编辑

2011年6月9日

偷懒了一个星期了,还是把作业补完的好。今天是我们“你不可不知的Mango — 开发者篇”的最后一个章节。在前边的一些章节()中我们已经给大家介绍了有关Mango中新增加的一些新功能,今天我们就开始带领大家进入真正的Mango之旅。

在开始安装Mango的SDK之前,我们需要提醒大家的是虽然Mango的开发工具(WPDT 7.1 Beta)和7.0的兼容,但是千万不要将它安装在您的生产环境机器上以免造成不必要的损害。

Mango开发工具的安装

目前Mango的开发工具是Windows Phone Developer Tools 7.1 Beta(WPDT 7.1 Beta),您可以从这里下载安装它(如果你喜欢离线安装的话注意下载该页面最下方的iso文件)。

WPDT 7.1Beta除了可以开发针对Mango(7.1)的程序之外,还可以开发针对之前的Windows Phone 7(7.0)的程序。安装WPDT 7.1 Beta并不需要你提前安装额外的WPDT 7和VS2010等一系列的东东,它里面已经包含了所需要的一切内容。安装该工具和之前的系统需求一样,需要Vista(SP2)或者Windows 7的Start以上的版本。它里面自带了所必须的VS2010的Express版,相应的SDK,模拟器,Silverlight SDK,XNA Game Studio 4.0 Refresh Windows Phone Extensions,Microsoft Experssion Blend for WP 7.1以及WCF Data Service Client for WP7.1等。

需要注意的是,如果你的机器上已经安装过Visual Studio 2010,那么还得要安装VS2010的SP1才行。同时,由于目前的WPDT 7.1 Beta尚未推出本地化的版本,所以如果您非要自行安装独立的VS2010的话最好安装英文版本。

还有,由于WPDT 7.1 Beta中已经自带了VB的支持。所以以前如果你安装了针对WPDT 7.0的VB支持扩展的话需要在安装WPDT 7.1 Beta之前将它卸载掉。

安装完毕后,打开VS2010你会发现在Silverlight for Windows Phone的工程模板中多了几种类型,如下图所示:

image

而其中最醒目的莫过于最后4个了:“Windows Phone 3D Graphics Application”这显然是集成了XNA框架的SL程序;除此之外还有两个播放音乐的Agent工程和一个Task Scheduler Agent工程。

新建立工程的时候会提示你是要Windows Phone 7.0的工程还是7.1的工程。如果你只是想开发针对Windows Phone 7.0的程序的话可选择前者,以后需要升级的时候在Visual Studio中的解决方案管理器中右击该工程选择“Upgrade to Windows Phone 7.1”就可以升级为针对Mango的工程。不过这个转换是不可逆的,也就是说不能从7.1的工程降级为7.0的工程。

image

新玩具: 加速度模拟和位置模拟

现在开发手势动作相关的游戏可是一个热门话题,可是要调试起来就相对麻烦。WPDT 7.1 Beta中就内置了专门用来模拟加速度传感器的攻击。你只需要点击模拟器上的右侧展开小箭头,就可以打开加速度传感器的模拟功能了。你只需要用鼠标拖拽手 机中间的小红点就可以模拟对手机不同的操作。同时,也可以通过下方的下拉框来方便的将手机的姿态复原或者按照预先的录制来运动。

image

在Windows Phone 7的时候,你想要开发有关地理位置的应用调试起来就很麻烦,至少你得要去下载专门的GPS模拟器才行。在WPDT 7.1Beta中就方便了许多,还是在刚才那个界面中,从上方标签页中选择“Location”就可以打开地理位置模拟器。你甚至可以在这个工具中设定好一系列的点,然后让它自动去触发来模拟用户的运动轨迹。

image

好的,我知道除了这两个工具之外你还期望很多,例如Cellular模拟器,远程资源管理器,截图工具等等…只是由于Windows Phone 7中不允许程序来截获短信或者电话,所以Cellular模拟器估计是没戏了。不过如果能在正式发行WPDT 7.1的时候提供远程的资源管理器(哪怕只能查看当前调试的程序的独立存储空间下的结构)和截图工具倒是很有必要。

当然,如果只是有这两个工具的话那么的确还不是很给力。WPDT 7.1 Beta中提供了用来让你监测你的应用程序运行效率的

Profiler

想要知道你的程序那端代码最消耗资源?什么代码花的时间最长?想要让你的程序快点、快点再快点?这一切都离不开Profiler。从VS2010的 菜单中找到”Debug”然后选择”Start Windows Phone Performance Analysis”就可以打开Profiler来对你的程序进行分析。

image

程序运行结束后你会得到详细的分析报告,从而你可以用来对你的程序进行性能改进参考。

image

好了,通过这4各章节的介绍相信你对于Mango已经充满了好奇与期望了吧?还等什么?快动手吧。其实前面这些东西都是废话,想要真正了解Mango,您别忘了

参考以下内容


注意:本文内容源自 MIX11部分课程内容以及Windows Phone Developer Tools 7.1 (Beta)的文档加上本人的理解,所以可能会有所偏差。同时本文提及的Mango相关知识在Mango的正式版本上市之后或许会有所改变。

延伸阅读:
【MIX11】多图揭秘Mango;
你不可不知的Mango — 开发者篇(1)
你不可不知的Mango — 开发者篇(2)
你不可不知的Mango — 开发者篇(3)

posted @ 2011-06-09 08:26 被遗弃的小指 阅读(2102) 评论(3) 编辑

2011年5月31日

在前两节《你不可不知的Mango》中我们介绍了Mango中新增的Sensor API、多任务处理机制和Live Agents。今天我们看看剩下的一些内容。

image

4. Framework & Runtime

Sockets无疑是许多网络应用(尤其是联网类游戏)所迫切需要的一个功能,但是很遗憾在Windows Phone 7的SDK中并没有提供这部分的接口。你要想访问网络资源只能通过HTTP协议来做。对于没有实时性要求的应用还好,对于游戏类来说这点的确有点很让人不 爽。还好,在Mango中微软放出了Sockets的接口。Mango中提供的Sockets支持类似于Silverlight 4中的Sockets,除了支持TCP和UDP的点播之外还支持UDP的多播。

是的,刚才我们提到了Silverlight 4。在Mango中的Silverlight的版本已经升级到了 4。随着Silverlight 4的到来当然也为Mango增加了不少有意思的东西。例如,控件上增加了RichTextBox和Viewbox。当然,RichTextBox是个只读 的,不过也方便了不少。例如当你开发一个新浪微博客户端的时候,遇到那种图文混排或者内嵌超链接的情况,就不用自己辛辛苦苦的去处理那些内容的绘制了。通 过RichTextBox就可以方便的解决。ViewBox内部只能有一个子元素,而ViewBox决定了这个子元素的拉伸、缩放、对齐等。

除了控件之外,Silverlight 4还为你带来了Webcam和Microphone,现在你终于可以在你的程序中来捕获外界的视频和音频了。

而且,对于图像的渲染,在WP7的时代只是支持16位色。这也就是为什么升级NoDo之后有人发现颜色数变少的缘故,在Mango时将会正式支持32位色。不过默认的Manifest文件中还是16位色,你需要手工修改为32位。

除了刚才提到的那些特性,Silverlight 4还有很多新的功能,具体的内容您可以参考这里

最后则是Silverlight和XNA的整合。之前我们一直在谈开发Windows Phone 7的应用的时候你可以选择Silverlight框架来做应用程序或者使用XNA来做游戏。对于某些人(嗯,例如我)来说能偷懒则偷懒了,对于游戏一直不 感兴趣所以也就没有怎么关注XNA。但是现在不同了,2者可以有机的结合在一起。也就是说你的程序的某些内容可以用Silverlight来做,而某些对 于图形图像要求较高的部分可以用XNA来渲染。我们相信有了Silverlight和XNA的整合将会有更多高性能高质量的应用出现。

5. Structured Data

数据部分,微软终于为大家提供了本地数据库的支持。毫无意外的,它采用了SQL CE作为数据引擎,而且你自己 的数据库在自己的应用程序的独立存储空间中。当然,现在这都什么时代了还去用SQL语句来查询数据库多老土啊?在Mango中访问SQL CE的标准做法是LINQ to SQL。同时,原则上这个SQL CE数据库可以用一些桌面工具来建立,但是这个数据库并不能加密。

现在Mango中还提供了联系人和日历信息的数据访问能力。等等,不要高兴的太早,只读访问!好吧,又失望了不是?当然,要考虑到微软的苦衷。开放和安全始终是对立的两个方面。有了只读的访问,至少类似于火种通讯录之类的应用可以开始动手了。 微笑

好了,关于Mango中新增加的特性部分我们就先介绍道这里。当然,当然,远远不止前边我这三篇小文所介绍的内容。你想要了解有关Mango新增加的好玩意儿,最正确的途径当然是MSDN了


注意:本文内容源自 MIX11部分课程内容以及Windows Phone Developer Tools 7.1 (Beta)的文档加上本人的理解,所以可能会有所偏差。同时本文提及的Mango相关知识在Mango的正式版本上市之后或许会有所改变。

延伸阅读:【MIX11】多图揭秘Mango;
你不可不知的Mango — 开发者篇(1)
你不可不知的Mango — 开发者篇(2)

posted @ 2011-05-31 08:59 被遗弃的小指 阅读(1769) 评论(5) 编辑

2011年5月27日

在上一篇《你不可不知的Mango — 开发者篇(1)》中我已经给大家介绍了在Mango中新的Sensor API和多任务处理机制,今天我们接着聊聊Live Agents。

image

3。Live Agents

首先我们看看Local Live Tiles。Live Tiles是Windows Phone 7提出来的一个概念,用户可以将多种内容固定在主界面上。例如程序的快捷方式,音乐专辑,网页等等。由于你可以通过Push Notification机制来动态的更改Tiles上的数字、背景图片以及文字。所以称之为Live Tiles,也就是希望给用户带来一些“活”的感觉,而不止是简单的快捷方式。但是更新这个Tile相对比较麻烦,第一种方法就是使用Push Notification,这样你必须假设自己的Push Notification服务器来做处理。第二种方法是使用ShellTileSchedule API,这个API恶心的地方在于更改的背景图片只能是一个远程URL上的图片。而且,不管是通过哪种方法来更新了Tile之后,它始终只是停留在改变后 的那个界面(背景、数字、标题文字),其实并没有多少动感。所以在Mango中又增加了新的ShellTile API来更好的处理Tile。

在新的机制下,每个程序的Tile其实由’Front’和’Back’(即前和后)两部分构成。对于’Front’来说,其实就是以前的Tile,它具有BackgroundImage, Title和Count三个属性:

而’Back’则是新加入的一个界面,不同于Front的地方它设置的属性略有不同,即为BackBackgroundImage, BackTitle和BackContent。注意,也就是数字变成了文字:

如果你设置了Tile的Back部分,则系统会自动地动态切换Front和Back部分。否则,只会显示默认的Front部分。Front和 Back其实是一个Tile的两个不同视图,所以在以前的Push Notification中如果要更新Tile,XML数据可以类似于如下格式:

string tileMessage = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<wp:Notification xmlns:wp=\"WPNotification\">" +
    "<wp:Tile>" +        
    "<wp:BackgroundImage><front side of tile background image path></wp:BackgroundImage>" +        
    "<wp:Count><front side of tile count></wp:Count>" +        
    "<wp:Title><front side of tile title></wp:Title>" +
    "<wp:BackBackgroundImage><back side of tile image path></wp:BackBackgroundImage>"+        
    "<wp:BackTitle><back side of tile title></wp:BackTitle>"+        
    "<wp:BackContent><back side of tile text></wp:BackContent>"+    
    "</wp:Tile> " +
"</wp:Notification>";

这样就可以同时更新Front和Back了,你可以看到这个XML的格式其实和以前发送Push Notification是兼容的,只不过多了后面的3个Backxxxx属性。首先,通过Front和Back可以让你的Tile更加具有动感。其次, 想要更新Tile又多了一种方法,那就是通过ShellTile API。通过ShellTile API你可以方便的更新Tile的属性,而且重要的是背景图片终于可以是本地的了。ShellTile API不止具有更新Tile这么简单的功能。在Mango中,每个程序可以有多个Tile,这多出来的Tile就是使用ShellTile API来建立的。而这些第二个、第三个Tile它们又可以指向程序中的任何一个XAML页面,甚至指向的这些XAML页面还可以带上参数。类似于某个 Tile指向”/news.xaml?id=5”。这也就让程序有能力在桌面上加上不同的Tile,然后每个Tile指向不同的位置。例如,某个新闻阅读 软件可以在桌面上有个主Tile,它就是之前的常规的那个Tile,用来打开程序本身。而第二个Tile可以指向某个具体的新闻页面。这个直接跳转到某个 应用的某个具体页面的技术就叫做Deep Linking

Bing Search在Mango中越来越有意思了。首先,在你搜索某一个关键词的时候,如果Marketplace中某个软件和这个关键词有关系,那么这个软件 会出现在结果列表的最上端。你可以选择安装这个软件,或者如果你已经按安装了的话则可以选择运行这个软件。例如你搜索由WPMind代为提交的快递检索软 件”PocketExpress”的话,列表中会直接出现这个软件让你安装(当然,如果你已经安装这里提示的就是运行)。

image

App Connect这个词儿目前资料比较少,在Beta版的Mango SDK中并没有被提及。但是它似乎就是之前MIX11中提及过的Bing Search Extras。在你搜索电影、音乐或者其他几种特定类型,结果页面中会特定的卡片。例如搜索”water for elephants“(这是部电影的名字),在搜索结果页面中首先会出现电影的播放时刻表:

image

点击时刻表进入后则是该电影的一些详细信息:

image

这时,如果你的手机上安装过具有Search Extras功能的应用的时候。例如IMDB(针对Mango的版本,经实测Marketplace中的版本还不行)会出现在这个电影卡片中的一 个”app”枢轴视图页面中。而你点击这个列表中的应用(在这里是IMDB)的时候,会直接跳转到该应用的具体信息页面(根据传入的参数)。

image

image

这就是App Connect功能,它完全将你的应用和Bing Search的结果结合了起来。通过增强的Bing Search以及App Connect功能,使得你的软件和系统的交互性得到了更进一步的增强。不过可惜的是目前的Beta版Mango SDK中并没找到相关的API介绍。


注意:本文内容源自 MIX11部分课程内容以及Windows Phone Developer Tools 7.1 (Beta)的文档加上本人的理解,所以可能会有所偏差。同时本文提及的Mango相关知识在Mango的正式版本上市之后或许会有所改变。

延伸阅读:【MIX11】多图揭秘Mango

本文首发:WPMind.com

posted @ 2011-05-27 01:09 被遗弃的小指 阅读(1831) 评论(5) 编辑

2011年5月26日

摘要: 昨天微软对外公布了Windows Phone的下一个代号为Mango的重要更新的更多细节,并在同时也发布了Mango的开发工具,Windows Phone Developer Tools 7.1(Beta)。本文将从开发者角度简单谈谈Mango带来哪些改变。What’s New首先让我们从上面这张图片来简单的看看Mango中都有啥让你心动不已的新玩意儿呢?1。Sensor API:增强了的各种传感器API。首先,在Mango中终于增加了指南针传感器的API,其次是Mango中新加入的可选的陀螺仪传感器及其API。在MIX11中曾经提及过一个被称之为Motion Sensor的东东,不过这名字太阅读全文

posted @ 2011-05-26 02:03 被遗弃的小指 阅读(2593) 评论(6) 编辑

2011年5月25日

摘要: Mobile Dev Day是从2006年开始每年都会在北京举办一次免费的移动技术研讨沙龙活动。今年是我们的第六届活动,这次的主题是”WP7优秀应用经验分享日”。在本次活动中将会有来自新浪微博、Viva电子杂志以及OpenXLive团队的朋友为大家介绍他们在研发WP7平台上的产品的一些心得体会。如果您是移动应用方面的开发人员、产品经理或者是技术爱好者,如果您想从这些优秀的Windows Phone 7应用程序中学到一些经验技巧,您一定不希望错过这次活动。 最后提醒大家的是,在这次活动上我们也为各位来宾准备了大量精美的礼物哦,有U盘、贴纸、笔记本、T恤衫、小音箱等~~~ 怎么样?心动了的话就来参阅读全文

posted @ 2011-05-25 09:16 被遗弃的小指 阅读(303) 评论(4) 编辑

2011年1月7日

摘要: 或许有很多朋友已经开始了Windows Phone 7的开发,但是有个很现实的问题就是目前市面上Windows Phone 7的手机还比较难买,或者说价格还比较高。而且就算你购买了一个手机,也必须将该手机解锁后才能够拿来在上面进行程序的调试。所以,现在国内绝大部分 Windows Phone 7的开发人员还停留在模拟器调试的阶段。WPMind为了帮助诸位开发人员,特意提供一台解锁后的Windows Phone 7手机借给大家用于程序调试。 此次活动我们称之为“Windows Phone 7漂流记”,希望这台WP7手机在国内漂流的这段时间能够为大家带来一些方便。 活动时间:即日起开始,结束阅读全文

posted @ 2011-01-07 01:59 被遗弃的小指 阅读(620) 评论(3) 编辑

2010年12月20日

摘要: 随着Windows Phone 7的逐步升温,越来越多的开发人员也投入到了WP7的开发大潮中。为了更好的帮助大家开发Windows Phone 7上的应用程序,WPMind发起一个针对Windows Phone 7的开源项目“WPMind Framework for WP7”,目的在于为大家提供丰富的Windows Phone 7上的Silverlight控件。 此项目托管在Codeplex上(http://WPMind.codeplex.com),项目采用MS-PL(Microsoft Public License)协议。目前此项目尚处于初始阶段,故尚未对外正式开放。在2011年1月10阅读全文

posted @ 2010-12-20 22:24 被遗弃的小指 阅读(491) 评论(3) 编辑

2010年12月1日

摘要: 一年一度的微软技术盛会TechEd将于今日起(12月1日~12月3日)在国家会议中心召开,这次大会上将有很多Windows Phone 7相关的内容。如果您在会场,千万不要忘了将这些Windows Phone 7相关的课程加入您的日历中哦。 Keynote : 12月1日:14:00~15:30, 讲述云的故事12月1日:17:00~18:00, 云计算趋势下的客户端特性 开放课程: 12月2日...阅读全文

posted @ 2010-12-01 01:06 被遗弃的小指 阅读(291) 评论(1) 编辑