??xml version="1.0" encoding="utf-8" standalone="yes"?>日本大片在线观看,中文在线一二区,91精品国产综合久久久久久豆腐 http://www.aygfsteel.com/TiGERTiAN/category/50745.html----TiGERTiANzh-cnFri, 14 Sep 2012 19:59:46 GMTFri, 14 Sep 2012 19:59:46 GMT60WindowsPhone中资源国际化的开?/title><link>http://www.aygfsteel.com/TiGERTiAN/archive/2012/09/14/387708.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Fri, 14 Sep 2012 03:28:00 GMT</pubDate><guid>http://www.aygfsteel.com/TiGERTiAN/archive/2012/09/14/387708.html</guid><wfw:comment>http://www.aygfsteel.com/TiGERTiAN/comments/387708.html</wfw:comment><comments>http://www.aygfsteel.com/TiGERTiAN/archive/2012/09/14/387708.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/TiGERTiAN/comments/commentRss/387708.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/TiGERTiAN/services/trackbacks/387708.html</trackback:ping><description><![CDATA[1、对于应用名U?App Title)和开始屏q的快捷方式(Tile)名称Q需要参?a >http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff967550%28v=vs.92%29.aspx</a> 来开发,q里提供一个快L(fng)生成工具<a href="/Files/TiGERTiAN/WP7AppResLib.zip">/Files/TiGERTiAN/WP7AppResLib.zip<br /></a>在WMAppManifest.xml中的调用方式Title="@AppResLib.dll,-100"     <Title>@AppResLib.dll,-200</Title>Q?00?00分别对应了App Title和Tile?br /><br />2、在E序内的国际化,在开发工E中Q新Z个Resource目录Q下面新建AppResource.resx资源Q针对不同语a可以建立不同的资源AppResource.en-US.resx{。在E序中直接用以下函数就可以调用已经配置好的国际化资源:(x)<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->        <span style="color: #0000FF; ">private</span> <span style="color: #0000FF; ">static</span> <span style="color: #0000FF; ">readonly</span> ResourceManager ResourceManager = <span style="color: #0000FF; ">new</span> ResourceManager("XXXX.Resource.AppResource", Assembly.GetExecutingAssembly());<br />        <br />        <span style="color: #0000FF; ">public</span> <span style="color: #0000FF; ">static</span> <span style="color: #0000FF; ">string</span> GetString(<span style="color: #0000FF; ">string</span> keyName)<br />        {<br />            <span style="color: #0000FF; ">return</span> Utilities.ResourceManager.GetString(keyName);<br />        }</div><br />3、对于需要支持的语言Q还要修改csproj文gQ修改如下:(x)<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->    <span style="color: #0000FF; "><</span><span style="color: #800000; ">SilverlightApplication</span><span style="color: #0000FF; ">></span>true<span style="color: #0000FF; "></</span><span style="color: #800000; ">SilverlightApplication</span><span style="color: #0000FF; ">></span><br />    <span style="color: #0000FF; "><</span><span style="color: red; ">SupportedCultures</span><span style="color: #0000FF; ">></span>zh-CN;en-US;<br />    <span style="color: #0000FF; "></</span><span style="color: red; ">SupportedCultures</span><span style="color: #0000FF; ">></span><br />    <span style="color: #0000FF; "><</span><span style="color: #800000; ">XapOutputs</span><span style="color: #0000FF; ">></span>true<span style="color: #0000FF; "></</span><span style="color: #800000; ">XapOutputs</span><span style="color: #0000FF; ">></span></div><img src ="http://www.aygfsteel.com/TiGERTiAN/aggbug/387708.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2012-09-14 11:28 <a href="http://www.aygfsteel.com/TiGERTiAN/archive/2012/09/14/387708.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Windows Phone 7中的Background Agenthttp://www.aygfsteel.com/TiGERTiAN/archive/2012/02/05/369413.htmlTiGERTiANTiGERTiANSun, 05 Feb 2012 11:43:00 GMThttp://www.aygfsteel.com/TiGERTiAN/archive/2012/02/05/369413.htmlhttp://www.aygfsteel.com/TiGERTiAN/comments/369413.htmlhttp://www.aygfsteel.com/TiGERTiAN/archive/2012/02/05/369413.html#Feedback0http://www.aygfsteel.com/TiGERTiAN/comments/commentRss/369413.htmlhttp://www.aygfsteel.com/TiGERTiAN/services/trackbacks/369413.html

在WP7.1中针对Background Agent的新API增加了蛮多非常强大的部分Q以下将介绍Scheduled Multi Tasking的部分?/p>

  Scheduled Multi Tasking主要是让Application支援多工模式来执行Q务,让Application不在前景模式下也可以l箋在背景执行某些特定的dQ例如:(x)背景下蝲、背景更新资料、背景唿叫服?#8230;{?/p>

  然而,W(xu)P7.1提供Agent的模式,让开发Application时将要背景执行的逻辑Q独立放|于Agent之中透过排程来完成Q务?/p>

  但要注意的是QAgent与Application必竟q是属于不同的专案,因ؓ(f)IsolatedStorage中的IsolatedStorageSettings无法qQ要交换资料需透过IsolatedStorage档案或其他方式来交换?/p>

  因此Q在设计一个支援Background Agent(ScheduledTaskAgent)的ApplicationӞ我个Z(x)有几个考量Q?/p>

  1. 背景执行的逻辑独立成一个类别或模组Q由该模l完成所有背景的d;

  2. 使用讑֮?config)的方式,参数或执行l果独立于档案,提供Application与Agent均可以取?

  3. Agent是背景的dQ在背景发生Exception的容错机刉要特别设计,量透过通知告知用户;

  接下来,细部去讨论Scueduled Tasking由那些重要的元素l成Q?/p>

  〉Microsoft.Phone.Scheduler - Scheduled Multi TaskingQ?/p>

  WP7.1允许Schedule Task与Background Agent在背景执行它们的dQ然而Schedule Task与Background Agent使用上却有所不同Q?/p>

  ‧Schedule TaskQ重点在于指定「週期?延迟性」执行Q务,透过讑֮Schedule的时间频率重覆地L行Q?

  ‧Background AgentQ根据不同的Agent可在l分使用重点Q但较属性一ơ性Q务或接收外部事g所触发的Q?

  在Microsoft.Phone.Scheculer针对Scheulde提供了Task与Notification的用,其用法上Schedule Task又是另一U用途,针对Schedule Notification?x)在另一?lt;>q行说明?/p>

  然而,在Scheulde Task的用上有几个重要元pM定要M解的Q以下将详细说明Q?/p>

  A. ScheduledActionServiceQ?/p>

  专用于管理该讑֤所有的Scheduled Actions。Scheduled Actions包括了可用于通知的Alarm、ReminderQ更包括下方介绍的二个运行于Background Agent的Periodic Task与Resource-Intensive Task。其重要的方法如下:(x)

名称说明
Add向作业系l註册一个Scheduled Action。主要透过Scheduled Action的Name做ؓ(f)识别倹{?/td>
Find透过特定的Name扑ևScheduled Action?/td>
GetActions(Of T)回传pȝ中所有特定类型的Scheduled Actions?/td>
LaunchForTest指定特定的gq时间与ScheduledTask后,要求Background Agent执行该ScheduledTask?/td>
Remove从Scheduled Action Service指定的名称的Scheduled ActionU除?/td>
Replace通常?x)配合F(tun)ind扑և指定Name的Scheduled ActionQƈ加以取代它?/td>

  B. PeriodicTaskQ?/p>

  Periodic(定期) Task是一U定期代理运作的观念Q专门针对运作背景Q务所需旉较少Q而且是执行隔间具有规律週期性的情境?/p>

  常见的用情境,例如Q定期上传手机的Location资讯、完成少量资料的同步、更新Tile状?#8230;{?/p>

  B-1. 使用Periodic Task的约束与旉週期

U束/说明
排程旉间隔Q?0?/td>通常?0分执行一ơ,在电(sh)力状况不错的情Ş下可以配合其他background process使用Ӟ也可以设定接q上下差?0U的使用?/td>
排程持箋旉通常支援持箋执行25U,但也可能因ؓ(f)其他塬因造成该agent被提早结束?/td>
甉|U模式时Q能防止Exception׃甉|是否要用节U模式是q戯行选择。如果该模式被选择Ӟ当电(sh)池进入节U模式时Qperiodic task有可能无法使用?/td>
每一个设备在Periodic Task的限?/td>Z让电(sh)池最大化使用Q不同的讑֤对电(sh)池的使用有一定的控制围Q因此,可能限制一个设备最多有几个Agent可以被执行,如果过Q它?x)自动被turn off?/td>

  C. ResourceIntensiveTaskQ?/p>

  Resource-Intensive(资源密集) Task是针寚w要相对较长的处理旉Q或是遇到需使用大量手机甉|、网路等资源时较为适用的类型?/p>

  常见的用情境,例如Q同步大量的资料(如App需要下载大量的资料x机端才能让Appq行)…{?/p>

  C-1. 使用ResourceIntensiveTask的约束与旉週期

U束/说明
持箋旉Q?0分鐘通常resource-intensive agent一般执行持l约10分鐘Q如果有其他如下方的限制Q将?x)提早停止agent的执行?/td>
外部?sh)力需?/td>除非讑֤已连接外部的?sh)力来源Q否则无法执行?/td>
无行动网路能U能?/td>除非讑֤已通过Wi-Fi、行动网路或q接到PCQ否则无法执行?/td>
最电(sh)力需?/td>除非?sh)力?0%的情形,否则无法执行resource-intensive agent?/td>
讑֤萤幕被锁定状?/td>除非?sh)话处于锁定的状态,否则无法执行resource-intensive agent?/td>
通话中无法?/td>当手机处于通中状态时Qresource-intensive agent无法使用?/td>
不能改变|\状态ؓ(f)行动|\如果resource-intensive agent企图d叫AssociateToNetworkInterface(Socket, NetworkInterfaceInfo)来指定Q何一U行动网?GSM或CDMA)Q则?x)失败?/td>

  q二个元素其实都是由ScheduleAction与ScheduledTask抽象cd实作出来的,它们分别有自w用的情境与适用性,

  二者最大的差别卛_于用情境与需要耗用手机资源的多,以及(qing)resource-intensive task要在萤幕锁定与电(sh)?0%以上才能执行?/p>

  ׃使用resource-intensive task要求的限制实在很多,因此Q在设计Scheduled Task旉要特别考虑q个部分Q至于其他相关的

  属性就大同异了,以下介其较长使用到的属性:(x)

名称说明
Description讑֮/取得有关该Scheduled Task的描q。该描述的内容将?x)出C手机「Settings/Applications/Background Tasks Settings」的画面中?nbsp;
如下图:(x)以Background Scheulde为程式名Uͼ(x) 
0000 0001
ExpirationTime讑֮/取得Scheduled Task到期的时间?/td>
IsScheduled取得Scheduled Task状态是否ؓ(f)启动?/td>
LastExitReason取得Agent执行最q一ơTask被结束的理由?/td>
LastScheduledTime取得Agent执行最q一ơTask的时_(d)以手机时间ؓ(f)丅R?/td>
Name取得Scheduled Action的名U?/td>

  了解了二个元素的基本属性与使用情境后,有几个用Background Agent要特别注意的Q?/p>

  1. 一个Application只能有一个Background agent(ScheduledTaskAgent)Q但Agent可以单独使用PeriodicTask、ResourceIntensiveTask

  或者二个同时用。要注意的是一个Agent只能有一个PeriodicTask与一个ResourceIntensiveTask?/p>

  2. Background Agent(ScheduledTaskAgent)Q?/p>

  2-1. 透过OnInvoke(ScheduleTask)触发Agent逻辑的部?

  2-2. 已成功执行完所有Q务时Q记得唿叫NotifyComplete()告知Agent已完成Q?

  2-3. 如果在执行过E发生错误或是无法执行TaskӞ要记得唿叫Abort()告知Agent接下来取消运作,然而即可以在Application端取?/p>

  ScheduledTask中的IsScheduled属性ؓ(f)false。但要注意的是如何Abort()之后Q要记得使用ShellToast告知用户Q以免用户不知道?/p>

  3. Background Agent在记忆体使用量的控制Q?/p>

  3-1. Periodic agents与resource-intensive agents允许在每ơ执行TaskӞ不超q?MB记忆体用量?/p>

  3-2. Audio agents则限制不能超q?5MB记忆体用量?/p>

  3-3. 在Debug模式下则不限Ӟ但可以透过APIL询在每一个部分用记体忆的状c(din)?/p>

  4. 预设AgentZ个星期后需要重新安排ScheduledQ?/p>

  虽然可以透过ScheduledTask中的LastScheduledTimeȝ认究竟最q一ơ执行的DatetimeZQƈ且用ExpirationTimeL定Task

  可运行的旉长度。但是用ScheduledTask可能因ؓ(f)条g限制(例如遇到执行Task时没|\能力Q自动要求Agent延后执行)Q造成Task

  长时间没有被执行Qؓ(f)了确保Task不会(x)一直占住不使用Q透过讑֮2个星期可存活旉Q可以自动解册个问题。设定ExpirationTime?/p>

  在每一ơ执行Application于前景状冉|Q进行判断与讑֮?/p>

  5. Scheduled Agent在连l二个Crash后自动取消:(x)

  ׃使用Periodic agents与resource-intensive agetns是交由AgentLӞ因此Q当Agentq箋出现二次以上的Crash或无法预期的错误Q?/p>

  该Agent会(x)被停止,需透过Application回到前景模式再重新启动它?/p>

TiGERTiAN 2012-02-05 19:43 发表评论
]]>
վ֩ģ壺 ƽ| ˮ| | ϵ| | ʡ| | | | Ļ| | ƾ| | ˹| | ɽ| ʦ| | ʲ| | û| ɽ| »| | | | | ΢| ɽ| | ʯɽ| | | | ֦| ˮ| | ɽ| ͨ| | ϼ|