Windows phone开发(1)一些基本概念
1.什么是智能手机?
智能手机(Smartphone),是相对于功能手机(Featured Phone)而言的,就是具有独立的操作系统,用户可以自己安装第三方软件和应用,可以无线上网的手机。智能手机的三大平台:Android、Windows Phone、Iphone。
Smartphone 2.0 = Phone + Service
Phone:智能手机、Netbook和MID等能够随身携带、连接无线网络、运行在线服务的客户端的智能设备我们都应该算在Phone中。
Service:Cloud和服务提供商的在线服务的融合。Service应该包括两个方面:一端是运行在互联网上的服务(服务器端应用);另一端是运行在智能设备上的服务客户端。
2.什么是移动互联网?
移动+互联网。就是将移动通信和互联网二者结合起来,成为一体。典型的应用微博、微信、LBS等。
3.什么是3G?3G手机?
2000年5月,第三代移动通信技术(3rd-generation,3G),是指支持高速数据传输的蜂窝移动通讯技术。3G服务能够同时传送声音及数据信息,速率一般在几百kbps以上。目前3G存在四种标准:CDMA2000(美国版),WCDMA(欧洲版),TD-SCDMA(中国版),WiMAX。3G与2G的主要区别是在传输声音和数据的速度上的提升。1995年问世的第一代模拟制式手机(1G)只能进行语音通话。1996到1997年出现的第二代GSM、CDMA等数字制式手机(2G)便增加了接收数据的功能,如接收电子邮件或网页。3G手机通俗地说就是指第三代(The Third Generation)手机。 第一代:模拟制式手机。第二代:GSM、TDMA等数字手机。第三代手机:集语音通信和多媒体通信相结合,并且包括图像、音乐、网页浏览、电话会议以及其它一些信息服务等增值服务的新一代移动通信系统。
4.手机操作系统发展史
1).Windows Mobile红极一时,衰落的原因:1、版本混乱,各个厂家自己乱改,应用程序兼容性非常差;2、硬件标准不统一,造成无法发挥好手机的性能、低配手机上运行非常卡;3、不适应新的移动设备的要求,微软把手机当成了“小电脑”PocketPC
2). IPhone内核是Darwin(一种Unix-like 操作系统),打破了windows mobile的地位。
3). Android:它的问题就是windows mobile面对的问题:1、版本不统一:苏老师的联想Android无法安装普通的Android程序,谷歌开始收缩开源的程度;2、造成800元智能机这种垃圾产品的出现;3、由于应用程序的权限很高,造成恶意软件(小偷程序、扣费程序)。
4).windows phone(WP7/WP7.5): 基于Windows CE。解决的问题:1、版本统一,各个厂商除了做简单的OEM,不能做大的改动;就像pc上的windows一样;2、微软规定了安装windows phone手机的硬件的最低配置、3、UI继承iphone,又发扬自己了Metro 4、限制了应用程序的能力,保证非常安全,windows phone上不需要杀毒软件。
注: 对比windows mobile、windows phone、Android、iphone的本质区别详见《Windows Phone 7与Android和iPhone的比较》一文。
5.什么是 xaml?
xaml是微软新一代的UI层技术,手机版的windows phone、网页版的Silverlight、本地应用程序版的WPF、Windows 8 中都是使用xaml技术。(即Xaml-Based)。
6. Tile和Metro是什么?Windows Phone中的安装包文件后缀是什么?
Tile:磁贴的意思,是指向“开始”屏幕中显示的应用程序的链接。它是在Windows Phone手机的桌面上呈现一个小方块,它的作用是在桌面上显示一个启动程序的快捷方式,同时可以动态显示一些提示信息。Merto:是地铁的意思,Metro UI是微软的一种设计方案在Windows Phone中,采用MetroUI作为界面设计风格。Windows Phone中的安装包文件后缀是xap (xap是压缩包,dll、图片等是放到xap中的)。
7.Metro UI设计具备以下五点原则:
1). 干净、轻量、开放、快速
2). 要内容,而不是质感
3). 整合软硬件
4). 世界级的动画
5). 生动,有灵魂
Metro UI是一种界面展示技术,和苹果的iOS、谷歌的Android界面最大的区别在于:后两种都是以应用为主要呈现对象,而Metro界面强调的是信息本身,而不是冗余的界面元素。Metro UI回归质朴,所带给用户的是极简式的操作体验。
8.Windows Phone三个按钮:后退、Home、Bing搜索
9.WPF是什么?Silverlight是什么?WPF和Silverlight的关系。
WPF是基于普通CLR的替代WinForm的客户端UI框架,基于DirectX的。XNA(托管版本的DirectX)。WPF是代替WinForm的运行在桌面上的exe程序;Silverlight则是运行在浏览器上,是一种受限的 .Net环境。WPF要求桌面版本的CLR,但是Silverlight只要网页版本的CLR(CoreCLR,约5M)。Windows Phone上已经内置了SilverLight的CLR,不需要装。WPF、Silverlight都共享类似的技术、类、控件等(Storyboard、Templates、Style等)。Silverlight第一个版本叫WPF/E。(就是WPF Everywhere 是WPF的一个子集。) WPf和SL的技术会有少许的区别。
10.图片如果生成操作是“资源(Resource)”则是生成到dll中,如果是“内容(Content)”则是生成到xap包中。
11.属性的两种赋值方式:aaa=“vvv”和<Button.aaa>vvv</Button.aaa>第二种方式适合于比较复杂的属性值。像width等这种简单的属性直接写就可以了。
12. 如何设置起始“页面”?
在App.xaml.cs中Application_Startup中修改this.RootVisual =xxx(页面类名);
13.SilverLight中的页面布局?
Silverlight中有Canvas(绝对定位,一般不要使用)、StackPanel、Grid三种布局容器,放在布局容器中的控件按照布局容器的特点进行布局。
Canvas就是根据坐标、大小(对子控件)进行绝对定位布局。
<Canvas>
<Button Canvas.Left="28" Canvas.Top="26" Content="Button" Height="45" Width="92" />
<TextBox Canvas.Left="44" Canvas.Top="81" Height="23" Width="183" />
</Canvas>
附加属性: Canvas.Top属性指定控件左上角的纵坐标; Canvas.Left属性指定控件左上角的横坐标。
StackPanel是把子控件横向或者纵向排列。用Orientation属性设定排列方向:Horizontal(水平)、Vertical(纵向,默认值)
<StackPanel>
<TextBox Height="23" Width="120" />
<TextBox Height="23" Width="120" />
<TextBox Height="23" Width="120" />
</StackPanel>
Grid类似于HTML中的Table布局,将容器分为几行几列,可以设定某个元素显示到某个格中,也可以设定跨多行多列。首先定义行数和列数,以及占的宽、高;Grid.Column、Grid.Row设定所在的行、列;Grid.ColumnSpan、Grid.RowSpan设定占据的行、列。
14.控件样式
Silverlight中样式非常类似于HTML中的CSS样式,用户修改控件的外观,存在内联样式、页面样式、样式文件等形式,也存在样式的继承和覆盖问题。SL中所有的属性都是样式。
......
奔跑!狮子赶不上最慢的羚羊就会饿死;羚羊跑不过最快的狮子就会被吃掉