zoukankan      html  css  js  c++  java
  • Windows Phone 7 问答(答案部分)

    前阵子发布了Windows Phone 7 问答 涉及到Windows Phone 中基本的问题,现在把参考答案也贴出来,供大家学习之用。

     1. Windows Phone 7 应用程序的xap包最大为多大 ?

    参考答案: 400MB  225MB

    2. 怎么设置Windows Phone 7应用程序的ico图标?

    参考答案 :右击项目--设置icon属性为自己的图片即可,注意图片生成方式选择content

    3. 怎么替换Windows Phone 7中的启动画面?

    参考答案: 将SplashScreenImage替换为自己的图片即可,注意图片的分辨率跟原来默认的保持一致

    4. 谈谈怎么在Windows Phone 7 中使用别名进行页面的导航。

    参考答案: 在App.xaml中配置匹配别名,添加命名空间

    xmlns:nav="clr-namespace:System.Windows.Navigation;assembly=Microsoft.Phone" 配置匹配标签如下:
    <Application.Resources> <nav:UriMapper x:Name="uriMapper"> <nav:UriMapping Uri="Pan" MappedUri="/PanoramaPage1.xaml"></nav:UriMapping> </nav:UriMapper> </Application.Resources>
    然后在其后置代码App.xaml.cs的App()方法中添加如下代码:
    
    this.RootFrame.UriMapper = Resources["uriMapper"] as UriMapper; 然后我们就可以在XAML代码中使用别名来找到具体的页面了
    <HyperlinkButton Content="Alexis" Height="30"  Name="hyperlinkButton1"  Width="200" NavigateUri="Pan" />

    5. 谈谈Windows Phone 7 中页面的传值方式。

    参考答案: 传递页

    <HyperlinkButton Content="Alexis" Height="30" Name="hyperlinkButton1"  Width="200"  NavigateUri="/PanoramaPage1.xaml?username=alexis" />
    或者使用别名
    <HyperlinkButton Content="Alexis" Height="30" Name="hyperlinkButton1"  Width="200" 
    NavigateUri="Pan?username=alexis" />
    接受页 在Load事件中
    
    if (NavigationContext.QueryString.ContainsKey("username")) { tbUserName.Text = NavigationContext.QueryString["username"].ToString(); }

    6. 怎么在Windows Phone 7 中禁用物理回退键?

    参考答案: 在PhoneApplicationPage_BackKeyPress中设置e.Cancel = true

    7. 怎么在Windows Phone 7 中隐藏和显示系统托盘?

    参考答案: 在后置代码中Microsoft.Phone.Shell.SystemTray.IsVisible = true; 或者在XAML中也可以同样可以设置

    8. Application Bar最多支持几个图标?

    参考答案:4个 

    9. 谈谈Windows Phone 7中常见的UI布局控件。

    参考答案: Canvas:绝对定位控件,速度快,可用于游戏

    Grid:网格定位控件,比较常用
    StackPanel:自动定位控件,推荐使用与小区域

    10. 谈谈Windows Phone 7中应用程序的生命周期,能不能画张图演示下程序的生命周期?

    参考答案: 

    11. 知道图片的生成方式为Resource和Content的区别么?

    参考答案: 生成方式为Resource的图片会被编译到应用程序集(DLL)里,而生成方式为Content的图片则会被部署到XAP包中

    12. 说说当我点击Windows Phone 7 的物理回退键时可能发生的情况。

    参考答案: (1). 当你点击回退按钮式,程序必须返回上一个页面

    (2). 如果你是在程序的第一个页面点击回退按钮,则应用程序必须推出

    (3). 如果你的应用程序真在现实一个对话框或者Context Menu,点击回退按钮时,Windows Phone 7自动关闭对话框或者 Context Menu。

    13. 谈谈你知道的启动器、选择器,选择器和启动器有什么区别?

     参考答案:一些内置的启动器:EmailComposeTask、MarketplaceDetailTask、MarketplaceHubTask、MarketplaceReviewTask、MarketplaceSearchTask、MediaPlayerLauncher、PhoneCallTask、SearchTask、SmsComposeTask、WebBrowserTask。

    一些内置的选择器:CameraCaptureTask、EmailAddressChooserTask、PhoneNumberChooserTask、PhotoChooserTask、SaveEmailAddressTask、SavePhoneNumberTask

    区别:启动器没有返回值,选择器有返回结果 。

    14. 什么是墓碑机制(Tombstoning)?为什么要有这个机制?

    参考答案 :在Windows Phone中,由于用户离开当前应用程序,操作系统暂停该应用程序,但保存瞬间状态,以便随时恢复。为了保证快速而且一致的用户体验,Windows Phone仅允许唯一的应用程序占用系统资源在前台运行。区别于桌面操作系统,Window Phone不支持应用程序在后台运行。这是为了避免了多个应用程序竞争有限的手机资源,由此避免了的处理速度和电池电量的急速下降。

    15. 怎么判断Windows Phone 7中的网络是否可用?

    参考答案:NetworkInterface 提供了一个判断当前网络是否可可用的方法GetIsNetworkAvailable。

     if (Microsoft.Phone.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())

    { //网络可用情况下的代码}

    else

    { //网络不可用,给以提示}

    16. 在Windows Phone 7中WMAppManifest.xml这个文件是做什么用的?

    参考答案: 一个包含了应用程序特定数据的元数据文件,包括标题,图标位置,功能等等。

    17. 在Windows Phone 7中有几种页面导航方式,具体说说。

    参考答案: (1)在XAML代码直接写XAML文件地址,如<HyperlinkButton Content="Pasta" NavigateUri="/Pasta.xaml" Height="30" HorizontalAlignment="Left"

    Margin="10,10,0,0" Name="hyperlinkButton1" VerticalAlignment="Top" Width="200" />
    (2)在XAML代码中利用别名进行导航,需要在App.xaml中配置
    (3)利用事件处理,如 NavigationService.Navigate(new Uri("/Pasta.xaml", UriKind.Relative));

    18. Windows Phone 7 中应用程序设计需要遵循的Three Red Threads是什么?

    参考答案: Personal、Relevant、Connected(可以略微描述下)

    19. 怎么让我们的手机震动?

    参考答案: 申明一个VibrateController对象,调用其Start方法

    VibrateController vib = VibrateController.Default;

    vib.Start(TimeSpan.FromMilliseconds(100));

    20. Windows Phone 7 中常见的页面布局有哪些?

    参考答案: 

    21. 谈谈 HttpWebRequest和WebClient的区别 。

    参考答案: 1,HttpWebRequest是个抽象类,所以无法new的,需要调用HttpWebRequest.Create();

    2,其Method指定了请求类型,这里用的GET,还有POST;也可以指定ConentType;
    3,其请求的Uri必须是绝对地址;
    4,其请求是异步回调方式的,从BeginGetResponse开始,并通过AsyncCallback指定回调方法;
    5,WebClient 方式使用基于事件的异步编程模型,在HTTP响应返回时引发的WebClient回调是在UI线程中调用的,因此可用于更新UI元素的属性,例如把 HTTP响应中的数据绑定到UI的指定控件上进行显示。HttpWebRequest是基于后台进程运行的,回调不是UI线程,所以不能直接对UI进行操作,通常使用Dispatcher.BeginInvoke()跟界面进行通讯。

    22. Windows Phone 7 中的EnableFrameRateCounter 它是作什么用的?

    参考答案: 监视程序运行时的帧速率

    23. 怎么将模拟器中的键盘输入切换到本机的实体键盘? 模拟器(或者实体机)中弹出的键盘称为SIP,它的全称是什么?

    参考答案:  可以使用Pause/Break键,或者Ctrl+PageUp(Page Down)。 全称为Soft Input Panel。

    我已经将Windows Phone Tips 系列连同Windows Phone 7问答整理为电子书,下载地址 点我下载 

  • 相关阅读:
    mysql 的事件之 Waiting for table metadata lock
    postgresl 10 的逻辑复制 logical replication 之一
    postgresql 物理备份 pg_rman
    pg_waldump pg_xlogdump 的初步使用
    centos 7 添加 aliyun yum 源、epel源
    pg_dump 迁移 prod 环境的 function 到 uat 环境
    POSTGRESQL 11 BETA 1 RELEASED!
    使用 mtools 搭架 mongodb 的自动化日志分析平台
    将xml转换为PHP数组
    php自动获取字符串编码函数mb_detect_encoding
  • 原文地址:https://www.cnblogs.com/alexis/p/2047003.html
Copyright © 2011-2022 走看看