Windows Phone 8.1 Update1 支持中文“小娜”及开发者模拟器更新

千呼万唤的 Windows Phone 8.1 Update1 在 developer Perview 发布了还没有升级的朋友随我先睹为快吧。升级了的盆友来看看 WP8.1 update1 还有哪些你不知道的功能。当然这里包括我们一直念叨的中文版 Cortana。 首先介绍一下 Windows Phone 8.1 New features 1. Cortana 中文版不用多说,升级后尽情的调戏吧。(做开发的朋友参考 如何将 Cortana 与 Windows Phone 8.1 应用集成 ) 2. Live Folders ( 暂且翻译成 动态文件夹吧 ):原因很简单,即使将应用的 Tile 放到文件夹后也可以保持 live Tile的特性,并且可以调整 Tile 的大小。   3. Store Live Tile(应用商店动态磁贴):应用商店可以显示最新的应用情况。(每六小时更新一次)     4. 信息的多选和转发功能: 增加了信息的多选并且可以选择新建消息和多选删除。 5. Apps…

0

如何将 Cortana 与 Windows Phone 8.1 应用集成 ( Voice command – Natural language recognition )

随着 Windows Phone 8.1 GDR1 + Cortana 中文版的发布,相信有很多用户或开发者都在调戏 Windows Phone 的语音私人助理 Cortana 吧,在世界杯的时候我亲测 Cortana 预测德国和阿根廷的比赛很准的。(题外话扯远了),可是作为开发者我们怎么将Cortana集成到应用中呢,今天我用一点时间给大家介绍一下如何使用 voice command 集成 Windows Phone 8.1 的应用。 首先要明确两个名词 Voice command & Voice Command Definition 即 VCD文件,相信做过windows Phone 8.0 开发的朋友应该有所了解,通过注册VCD文件 Windows phone 8.0 的应用当中就可以实现 voice command 的功能,如果你不了解请先读一下我之前的文章(这里我就不在过多介绍 8.0 Voice command 的重复内容了),Windows Phone 8 语音 – Speech for Windows Phone 8 快速了解一下Windows…

0

Windows / Windows Phone 8.1 预留应用名称及应用上传

最近比较懒好久没有来这里跟大家聊了,WP 8.1 的 preview 发布已经有一阵子了,并且商店支持 8.1 应用也有一段时间了。我就把这篇 8.1 的应用商店预留提交作为 8.1 的一个开始吧。 1. 首先登陆 Windows Phone DevCenter 链接  点击屏幕左侧的 提交应用 按钮 会看到如下页面,和以前的 8.0 商店的步骤一致,我们直接进入应用信息的填写。 WP 8.1 这里和 WP 8.0 有所不同,关键是以前8.0的应用名称是从应用包中读取的,这样会造成 WP 8.0 应用名称重复的情况发生,但是 8.1解决了这个问题并且,8.1的应用商店实现了 universal (通用)的概念,换句话说就是我一个应用名称我们可以在WIN8.1 和 WP8.1 都可以使用。或者说我已有了一个Win8/8.1的应用我可以使用关联功能使用 Win 应用的名称。 这里总结了一下大家可能会遇到的几种场景: 实际操作中来看我们既可以在这里申请一个新的应用名称也可以和现有8.0/8.1的应用名称进行关联。这个关联非常重要,微软商店目前来说是先到先得的原则,所以你心仪的应用名称有可能被抢注滴,让然微软也有正规渠道来申诉你的应用名称。 关联以后我们的应用就会在应用商店中显示 universal APP的 logo,这里对于我们的应用体验也是非常有帮助的。 如果没有Win8应用我们也可以直接在这里保留一个新的应用名称。 这里会列出你的应用的一些打包信息(剩下的市场和价格部分和8.0是一致的) 打包一个WP8.1的应用包 这个过程和 Win8 非常相似。鼠标右键我们的项目然后选择 store – create…

0

Windows 8.1 应用开发后台任务概述(Windows XAML)

说到后台任务,这是在和许多 Android 开发者聊天的时候,经常被提起的话题之一, Windows 移动平台的后台任务的形式有别与 Android 的后台 service,简单的说在 Windows RT 移动平台下只有在满足一定条件的时候才能运行一部分预先设置好的制的代码。并且 Windows 8.1 和 Windows Phone 8.0 对后台任务有些区别,今天我就为大家介绍一下 Windows 8.1 移动平台下的后台任务,以及他们的运行条件。 首先给大家介绍下 Windows 移动平台的应用运行后台的情景分为多种。 今天我只为大家介绍以下基础任务,后台任务响应系统事件 ( 后台任务的运行条件、ServicingComplete  – 应用更新触发器 )、维护触发器、计时器后台任务,这些内容后面我一个一个的给大家介绍。 在此之前我先介绍下使用后台的应用配置。 手动在 Package.appxmanifest 文件中声明支持的后台任务类型 声明在  <Extensions> 节点中 <Application Id="BackgroundTaskSample.App" Executable="BackgroundTaskSample.exe" EntryPoint="BackgroundTaskSample.App"> <VisualElements DisplayName="BackgroundTaskSample" Logo="Images\squareTile-sdk.png" SmallLogo="Images\smallTile-sdk.png" Description="BackgroundTaskSample" ForegroundText="dark" BackgroundColor="#222222"> <LockScreen Notification="badgeAndTileText" BadgeLogo="images\badgelogo.png" /> <DefaultTile ShowName="allLogos" WideLogo="images\tile-sdk.png"…

0

Windows 8/8.1 及 Windows Phone 8 应用神器 – APP Producer

继 App studio 以及  Project Siena 之后 微软再次打造应用生成器 APP Producer,这个版本的应用生成器功能相对比之前两个版本要简单许多,更适合入门并且真正的支持全平台(WP8 + Win8/8.1)。 下面我就为大家简单介绍一下 App Producer 整个应用生成的流程大致如下: 1.注册 – 所有使用 App producer 的朋友都需要使用MSA注册,只需要简单的填写基本信息即可。(这个过程大概需要一天,因为目前为止是人工审核的)   2. 登录到 App Producer 我们会看到导航栏目中有以下一些选项 Create new: 顾名思义就是创建一个新的应用,一会儿我们来详细看看。 Live Site Health 和 Analytics 都是对于你的应用下载或者访问量的一个数据统计的服务,这个应该是和国内三方统计服务比较相似的。 Store:如果你打算发布你的应用,那么这里就是提供了 Win8 和 WP 商店上传应用的入口。   3. 填写应用名称和市场 (Win8 / Windows Phone 相同名称,默认应用市场 – 就是你应用程序中的内容语言)   4. 应用内容设置…

0

如何获得 Microsoft Push Notification Service(MPNS)的最佳体验

有很多同学抱怨MPNS的各种问题,其中包括服务超时、返回各种错误代码不知如何处理等等。。今天我用一点时间来为大家介绍下如何处理和操作咱们的MPNS。 首先为大家明确一个问题,Microsoft Push Notification Service (MPNS) 是执行的异步推送。今天将介绍如何使用高效的服务将我们的推送信息发送至云端最终发送到 Windows Phone 手机。 第一 如何设置发送超时 对于超时时间我建议大家设置为 15秒。例如:你使用的 ASP.NET 进行数据推送时,建立 WebRequest 对象设置超时时间 HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState; request.Timeout = 15000;     第二 处理推送通道的更新 当你的客户端程序发现推送通道更新后,应用一定要将最新的推送通道 URL 更新到你的服务器端。要保证您的服务器端的推送通道是最新的。建议你可以使用 device ID 与推送通道进行匹配,如果发现推送通道的URL更新就立刻进行推送通道更新,服务器通过device ID进行判断是,新用户注册还是已有用户的推送通道更新。 Windows Phone 的官方资料中提供了如何建立一个接受推送消息的应用代码示例,其中包括了如何处理,推送通道更新事件。您可以参考 如何发送和接收 Windows Phone 的磁贴通知 了解如何使用PushChannel_ChannelUriUpdated方法。(另:推送通道长度也许会超过 1024 characters) 第三 使用已验证的 Web 服务以发送 Windows Phone 的推送通知 使用MPNS认证端,如果你的推送服务针对一台WindowsPhone设备24小时内推送消息数量超过500条,或者您想更安全的推送消息。另使用没有MPNS验证的终端进行推送,每日的推送限额是500条/每个device。 如何设置…

0

WP8: 一个在ListBox 中ItemTemplate中放入ScrollViewer导致SelectedChangd不能触发的状况,及其解决办法

在做Windows Phone App开发中,有一项内容是使用ListBox并且将TextBlock放到ItemTemplate中,参考以下代码: 1: <ListBox x:Name=”MyListBox” HorizontalAlignment=”Left” SelectionChanged=”MyListBox_SelectionChanged” > 2: <ListBox.ItemTemplate> 3: <DataTemplate> 4: <StackPanel Orientation=”Horizontal” Background=”Blue” Height=”80″ Margin=”15,0,0,7″> 5: <TextBlock Text=”{Binding SomeContent}” FontSize=”25″/> 6: </StackPanel> 7: </DataTemplate> 8: </ListBox.ItemTemplate> 9: </ListBox> 在这个示例中,我创建了一个ListBox,并且把TextBlock放到了ItemTemplate中。在把TextBlock填充完之前,都是好的。 当我把StackPanel固定高度后,TextBlock不能显示全部内容。不过如果不这样,这个列表里面的内容就会显示很乱。所以,我决定在TextBlock旁边加一个ScrollViewer,这样用户就可以上下滑动显示内容。 1: <ListBox x:Name=”MyListBox” HorizontalAlignment=”Left” SelectionChanged=”MyListBox_SelectionChanged” > 2: <ListBox.ItemTemplate> 3: <DataTemplate> 4: <StackPanel Orientation=”Horizontal” Background=”Blue” Height=”80″> 5: <ScrollViewer HorizontalScrollBarVisibility=”Hidden”> 6: <TextBlock Text=”{Binding…

2

Windows Phone 8 App: ScrollViewer Issue inside Item Template with SelectedChanged in ListBox

While working with Windows Phone App Development, one of the commonest tasks is to use ListBox and put TextBlock inside ItemTemplate, considering the XAML below: 1: <ListBox x:Name="MyListBox" HorizontalAlignment="Left" SelectionChanged="MyListBox_SelectionChanged" > 2: <ListBox.ItemTemplate> 3: <DataTemplate> 4: <StackPanel Orientation="Horizontal" Background="Blue" Height="80" Margin="15,0,0,7"> 5: <TextBlock Text="{Binding SomeContent}" FontSize="25"/> 6: </StackPanel> 7: </DataTemplate> 8: </ListBox.ItemTemplate> 9: </ListBox> In…

3

在WP8中为地图控件加入当前地图的移动和停止的检测

在WP8,地图控件经过了修整,新的Map API 在Microsoft.Phone.Maps.Controls 命名空间下,而原来的BingMap control (在Microsoft.Phone.Controls.Maps命名空间,注意区别)已经不再推荐使用了。 这个CASE的需求非常简单,假设我们当前地图中的内容正在移动的时候,触发某些事件或者显示某些提示,而在停止移动之后,继而有另外一种提示,也就是需要找到一种方法,在WP8中,检测到当前地图正在移动或者停止移动。   我们的研究从Microsoft.Phone.Maps.Controls.Map 对象的若干个事件入手,但是发现都没有现成的能够满足我们要求的对象。诸如CenterChanged, ViewChanged,ZoomLevelChanged这些事件,也是只在某些如Center、ZoomLevel的相关属性变动时才会触发,但是并不能直接告诉我们当前地图正在移动或停止。 我们的解决方案是在CenterChanged事件中,加入一个DispatcherTimer,这个timer每间隔一定事件就进行检测,并和前一次timer触发时center有所改变而记录下的时间来进行比较,判断当前地图是否正在移动。代码实现如下:   1: DateTime lastCenterChangeTime = DateTime.Now; 2:  3: bool isChanging = false; //这里完全也可以设定成一个实现INotifyPropertyChanged的ViewModel的通知属性,这样一旦属性值改变了,就可以通过绑定反馈到视图页面 4:  5: 6:  7: private DispatcherTimer notifyCenterChangedTimer; 8: const int timerInterval = 100; //timer的执行间隔 9: const int changeMinInterval =300;//最小触发地图位置变动的时间间隔 10:  11: private void sampleMap_CenterChanged(object sender, MapCenterChangedEventArgs e) 12:  13: {…

0

关于给WP推送通知启用HTTPS验证的细节

关于整个推送机制, 如何建立推送通道,在服务端和客户端的代码实现,互联网以及MSDN已经有无数中英文资料和示例了。然而,如果希望启用HTTPS推送,相关的资料就很少了。在这篇文章中我们主要希望谈论一下关于Windows Phone中为推送通知Push Notification启用HTTPS验证的一些所需要注意到的细节。 在默认情况下,Windows 8 store app的所有推送都是启用了HTTPS验证的,但是对于WP来说,默认情况下所有推送通道都是基于安全性较低的非加密通道HTTP,所以出于信息安全的考虑,我们推荐开启为推送通知开启HTTPS。除此之外,启用推送HTTPS验证的好处在于,能够解除每个推送通道每天500条推送的上限。而且最主要的是,除了开发商需要花钱购买一个受信任的证书以及一个WP开发者账户,一切都是免费的。 关于HTTP通讯的500条上限的解释,MSDN中的原文是这样的: There is no daily limit on the number of push notifications an authenticated web service can send. Unauthenticated web services, on the other hand, are throttled at a rate of 500 push notifications per subscription, per day. 很多开发者对于这里关于“per subscription, per day”的描述有一些理解偏差。实际情况是,基于对一个APP来说,在一个WP设备上,只能申请到一个Push Notification Channel (“subscription”),而每台不同设备的APP所能申请到的Channel Uri都是独特的,那么这里的限制就是对于这一个Channel Uri,只能够推送500个。所以说,对于每一个APP,HTTP推送在每个单独设备上的每日上限是500个,APP互相之间额度也不共享不冲突。…

0