日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
寫給Android開發(fā)者的WindowsPhone開發(fā)秘籍

【外電頭條】和Android平臺(tái)移動(dòng)應(yīng)用程序非常類似,Windows Phone 7(WP7)應(yīng)用程序也是用托管語言編寫的,Android使用Java,Windows Phone 7使用C#,各自都提供了豐富的開發(fā)庫,Java和C#之間的許多差異都與樣式有關(guān),它們都和C/C++有著千絲萬縷的聯(lián)系,因此它倆也有很多相似之處。

創(chuàng)新互聯(lián)建站專注于北流網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供北流營銷型網(wǎng)站建設(shè),北流網(wǎng)站制作、北流網(wǎng)頁設(shè)計(jì)、北流網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造北流網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供北流網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

.NET/Windows Phone 7和Java/Android Api之間雖有很多不同點(diǎn),但兩者的相似點(diǎn)讓你在移植應(yīng)用程序時(shí)不需要費(fèi)太大的力氣。

平臺(tái)差異

在深入了解轉(zhuǎn)換或創(chuàng)建Windows Phone 7應(yīng)用程序相關(guān)的工具和過程之前,我們先簡單介紹一下Windows Phone 7和Android各自使用的術(shù)語和技術(shù)。Windows Phone 7***個(gè)重大的不同點(diǎn)是,應(yīng)用程序是用C#編寫的托管.NET程序集,平臺(tái)支持兩種類型的應(yīng)用程序:Silverlight和XNA游戲。

大多數(shù)Windows Phone 7應(yīng)用程序都是用Silverlight創(chuàng)建的,通過常見的控件,如標(biāo)簽、文本框和列表等,提供典型的基于表單的用戶交互,Android Layout和Activity與Silverlight中的Page類似。

Windows Phone 7還支持XNA,它允許用戶創(chuàng)建2D和3D游戲,它們分別等同于Android SurfaceView和GLSurfaceView的2D和3D模式,但和Android不同的是,XNA游戲使用的是Direct3D,因此更容易將PC和Xbox 360游戲移植到手機(jī)上,而Android使用的是OpenGL。

頁面(Page)和導(dǎo)航(Navigation)

Silverlight Page實(shí)際上是一個(gè)XML文件,它和Android Layout類似,XML定義一個(gè)Page時(shí)是使用XAML(可擴(kuò)展應(yīng)用程序標(biāo)記語言)創(chuàng)建的,XAML和Android Layout類似,但它支持更多的功能,XAML允許開發(fā)人員在Page內(nèi)執(zhí)行操作,包括Animations和Data Binding等,從此不再需要為這些功能編寫代碼。

Android Layout和Activity是松耦合的,你需要自己編寫代碼,以便和Activity內(nèi)的UI元素連接起來,對(duì)給定的Page來說,C#代碼是和它捆綁到一起的,因此不需要編寫UI附屬元素,平臺(tái)會(huì)自動(dòng)為對(duì)象創(chuàng)建相關(guān)的“線路”,為Page和UI創(chuàng)建相關(guān)的事件,這樣可以預(yù)防在Task onCreate方法中經(jīng)常出現(xiàn)的混亂。

這兩個(gè)平臺(tái)另一個(gè)重要的不同之處是導(dǎo)航,在Android中,你可以通過創(chuàng)建一個(gè)Intent從一個(gè)任務(wù)切換到另一個(gè)任務(wù),它和Windows Phone 7中的Navigation功能相同,Navigation允許你在Page之間移動(dòng),和Android Intent類似,你可以向你要導(dǎo)航的Page傳遞數(shù)據(jù),Windows Phone 7中的Page和ASP.NET中的Page有某些屬性是相似的。

將Layout轉(zhuǎn)換成Page

在深入了解代碼之前,我們先來看看Android Layout XML如何向Windows Phone 7 XAML Page轉(zhuǎn)換,在Windows Phone 7免費(fèi)工具箱中,最耀眼的莫過于XAML設(shè)計(jì)工具,Visual Studio? 2010中的XAML設(shè)計(jì)器只適合初級(jí)開發(fā)人員,它只能對(duì)Page做一些基本的控制,Expression Blend?則是專業(yè)化的工具,需要改造UI時(shí),你應(yīng)該使用它,和Android Layout一樣,你也可以使用文本編輯器直接編輯XAML文件,因?yàn)閷?shí)際上它是一個(gè)XML文件。

Windows Phone 7 Page提供了Android Layout類似的布局能力,下表列出了它支持的布局屬性和Android對(duì)應(yīng)的屬性。

布局控件

Windows Phone 7

Android

Canvas

AbsoluteLayout

Grid

GridView

ScrollView

ScrollView

StackPanel

LinearLayout

正如你所看到的,Windows Phone 7提供了和Android幾乎相同的布局能力,下表列出了Windows Phone 7的基本控件和Android的同等控件。

基本控件

Windows Phone 7

Android

TextBlock

TextView

TextBox

EditText

Button

Button

CheckBox

CheckBox

RadioButton

RadioButton

Image

ImageView

ProgressBar

ProgressBar

ListBox

ListView

Map

MapView

WebBrowser

WebView

你應(yīng)該注意到Windows Phone 7的基本控件和Layout類型能夠一一對(duì)應(yīng),但也有些特殊的Layout和控件無法對(duì)應(yīng)起來,其原因在于XAML的強(qiáng)大,通過XAML,我們可以在一個(gè)控件中嵌入另一個(gè)控件,這意味著你不用創(chuàng)建復(fù)雜的控件,這一切都可以在你的應(yīng)用程序中創(chuàng)建和自定義。

#p#

應(yīng)用程序存儲(chǔ)

對(duì)大多數(shù)移動(dòng)應(yīng)用程序而言,數(shù)據(jù)的存儲(chǔ)是一件大事,對(duì)Windows Phone 7來說,***的辦法是選擇云服務(wù)作為數(shù)據(jù)存儲(chǔ)的主要手段,你可能會(huì)感到很奇怪,但如果你是為你的網(wǎng)站開發(fā)一個(gè)前端程序,你就會(huì)明白了。如果你不是做的這種開發(fā),你有兩種數(shù)據(jù)存儲(chǔ)方法:使用商業(yè)云存儲(chǔ)服務(wù),如Windows Azure云存儲(chǔ),或使用本地IsolatedStorage接口,IsolatedStorage允許你為應(yīng)用程序存儲(chǔ)文件。

Windows Phone 7應(yīng)用程序允許你訪問本地?cái)?shù)據(jù),但它目前并沒有提供內(nèi)置的數(shù)據(jù)庫API,如SQLServer精簡版或SQLite,如果你現(xiàn)在的Android應(yīng)用程序使用的是SQLite存儲(chǔ)數(shù)據(jù),你需要提出一個(gè)替代方案,在寫這篇文章的時(shí)候,在Codeplex上有幾個(gè)開源項(xiàng)目為IsolatedStorage接口增加了數(shù)據(jù)庫存儲(chǔ)功能。

根據(jù)你應(yīng)用程序的數(shù)據(jù)存儲(chǔ)需要,不需要數(shù)據(jù)庫API,也許就能將數(shù)據(jù)存儲(chǔ)在本地,例如,如果你在構(gòu)建一個(gè)RSS/ Podcast應(yīng)用程序,你可以把RSS種子就保存在XML文件中,當(dāng)你需要訪問數(shù)據(jù)時(shí),你只需要載入數(shù)據(jù),使用LINQ獲取特定的數(shù)據(jù)即可。

在RSS應(yīng)用程序示例中,我們可以使用RSS種子的原始XML文件,也可以使用LINQ to XML創(chuàng)建XDocument存儲(chǔ)下面這樣的記錄:

 
 
 
  1. //Create XML
  2. XDocument doc = new XDocument();
  3. doc.Add(new XElement("DataRoot",
  4. new XElement("Record",
  5. new XElement("value","data1")),
  6. new XElement("Record",
  7. new XElement("value","data2"))
  8. ));

 這段代碼創(chuàng)建的XML結(jié)構(gòu)如下:

 
 
 
  1. data1value>
  2. Record>
  3. data2value>
  4. Record>
  5. DataRoot>

為了將這個(gè)XML隔離存儲(chǔ),我們使用IsolatedStorageFile和IsolatedStorageFileStream,如:

 
 
 
  1. //Save the XML
  2. using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
  3. {
  4. using (IsolatedStorageFileStream file = isf.OpenFile("data.xml", FileMode.OpenOrCreate))
  5. {
  6. doc.Save(file);
  7. file.Close();
  8. }
  9. }

正如你所看到的,隔離存儲(chǔ)XML數(shù)據(jù)是如此的簡單,讀取XML和使用LINQ to XML查詢結(jié)果的的代碼如下:

 
 
 
  1. //Load the XML
  2. using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
  3. {
  4. using (IsolatedStorageFileStream file = isf.OpenFile("data.xml", FileMode.OpenOrCreate))
  5. {
  6. XDocument d = XDocument.Load(file);
  7. var query = from r in d.Root.Elements("Record")
  8. select r;
  9. //Process the list of record
  10. }
  11. }

雖然上面的例子非常簡單,它也說明了即使沒有數(shù)據(jù)庫,在手機(jī)上存儲(chǔ)數(shù)據(jù)是多么容易,這些代碼還可以進(jìn)一步擴(kuò)展,存儲(chǔ)更復(fù)雜的數(shù)據(jù)。

Windows Phone 7支持存儲(chǔ)應(yīng)用程序設(shè)置和用戶偏好設(shè)置,在Android中,它叫做Shared Preferences,支持存儲(chǔ)Key/Value類型的信息,在Windows Phone 7中,它叫做Local Settings,通過IsolatedStorage接口可以訪問它們,同樣,信息訪問也是通過Key/Value的格式進(jìn)行的。

開發(fā)工具

作為一名Android開發(fā)人員,你可能對(duì)開源開發(fā)工具情有獨(dú)鐘,使用Eclipse作為Android應(yīng)用程序開發(fā)IDE無疑是大多數(shù)人的選擇,但Android Development Toolkit(ADT)缺乏許多必要的工具,如適合的布局工具,雖然ADT帶有布局工具,但不夠強(qiáng)大,很多時(shí)候,我們不得不手寫XML。

相比之下,微軟平臺(tái)可供選擇的工具就要多得多,現(xiàn)在在create.msdn.com上提供的工具有:

◆Microsoft Visual Studio 2010 Express for Phone

◆Microsoft Expression Blend for Phone

◆Microsoft XNA Game Studio for Phone

這三個(gè)工具允許你免費(fèi)使用,Microsoft Visual Studio 2010 Express for Phone是主要的Windows Phone 7應(yīng)用程序集成開發(fā)環(huán)境,它包括了所有必需的工具,如Page布局工具,C#編譯器,Windows Phone 7模擬器等。

Microsoft Expression Blend for Phone主要是針對(duì)專業(yè)設(shè)計(jì)人員的,設(shè)計(jì)人員可以使用它從零開始創(chuàng)建Page。

Microsoft XNA Game Studio for Phone則是為2D和3D游戲開發(fā)準(zhǔn)備的,它包括了XNA框架,以及處理游戲音效和圖像需要的工具。

小結(jié)

Windows Phone 7給智能手機(jī)操作系統(tǒng)市場注入了新的活力,它基于成熟的技術(shù),如Silverlight,WPF,C#等,正如本文介紹的,Android和Windows Phone 7之間的差異主要集中在表面上,Android開發(fā)人員要轉(zhuǎn)向Windows Phone 7開發(fā)并不是什么難事。

題外話

前段日子諾基亞與微軟結(jié)盟,未來諾基亞的主推智能手機(jī)平臺(tái)將為Windows Phone平臺(tái),對(duì)諾基亞和微軟來講都將是一個(gè)雙贏的局面,而對(duì)Windows Phone平臺(tái)的開發(fā)者來講有諾基亞這樣的手機(jī)廠商支持,開發(fā)Windows Phone應(yīng)用將更加“錢途”。到目前為止,Android平臺(tái)比Windows Phone平臺(tái)的開發(fā)者要多得多,希望本文能夠給Android開發(fā)者一個(gè)啟迪。

原文出處:http://www.devx.com/VS_2010/Article/45898

原文名:Windows Phone 7 Development for Android Developers

作者:Chris Bennett


網(wǎng)站欄目:寫給Android開發(fā)者的WindowsPhone開發(fā)秘籍
瀏覽路徑:http://m.5511xx.com/article/cojhcic.html