成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

寫給Android開發者的Windows Phone開發秘籍

譯文
移動開發 新聞 Android
.NET/Windows Phone 7和Java/Android Api之間雖有很多不同點,但兩者的相似點讓你在移植應用程序時不需要費太大的力氣。本文將告訴Android開發者如何進行Windows Phone開發。

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

.NET/Windows Phone 7和Java/Android Api之間雖有很多不同點,但兩者的相似點讓你在移植應用程序時不需要費太大的力氣。

平臺差異

在深入了解轉換或創建Windows Phone 7應用程序相關的工具和過程之前,我們先簡單介紹一下Windows Phone 7和Android各自使用的術語和技術。Windows Phone 7***個重大的不同點是,應用程序是用C#編寫的托管.NET程序集,平臺支持兩種類型的應用程序:Silverlight和XNA游戲。

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

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

頁面(Page)和導航(Navigation)

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

Android Layout和Activity是松耦合的,你需要自己編寫代碼,以便和Activity內的UI元素連接起來,對給定的Page來說,C#代碼是和它捆綁到一起的,因此不需要編寫UI附屬元素,平臺會自動為對象創建相關的“線路”,為Page和UI創建相關的事件,這樣可以預防在Task onCreate方法中經常出現的混亂。

這兩個平臺另一個重要的不同之處是導航,在Android中,你可以通過創建一個Intent從一個任務切換到另一個任務,它和Windows Phone 7中的Navigation功能相同,Navigation允許你在Page之間移動,和Android Intent類似,你可以向你要導航的Page傳遞數據,Windows Phone 7中的Page和ASP.NET中的Page有某些屬性是相似的。

將Layout轉換成Page

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

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

布局控件

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

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

#p#

應用程序存儲

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

Windows Phone 7應用程序允許你訪問本地數據,但它目前并沒有提供內置的數據庫API,如SQLServer精簡版或SQLite,如果你現在的Android應用程序使用的是SQLite存儲數據,你需要提出一個替代方案,在寫這篇文章的時候,在Codeplex上有幾個開源項目為IsolatedStorage接口增加了數據庫存儲功能。

根據你應用程序的數據存儲需要,不需要數據庫API,也許就能將數據存儲在本地,例如,如果你在構建一個RSS/ Podcast應用程序,你可以把RSS種子就保存在XML文件中,當你需要訪問數據時,你只需要載入數據,使用LINQ獲取特定的數據即可。

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

  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. ));
 這段代碼創建的XML結構如下:
  1. <DataRoot>
  2. <Record>
  3. <value>data1value>
  4. Record>
  5. <Record>
  6. <value>data2value>
  7. Record>
  8. DataRoot>

為了將這個XML隔離存儲,我們使用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. }

正如你所看到的,隔離存儲XML數據是如此的簡單,讀取XML和使用LINQ to XML查詢結果的的代碼如下:

  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. }

雖然上面的例子非常簡單,它也說明了即使沒有數據庫,在手機上存儲數據是多么容易,這些代碼還可以進一步擴展,存儲更復雜的數據。

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

開發工具

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

相比之下,微軟平臺可供選擇的工具就要多得多,現在在create.msdn.com上提供的工具有:

◆Microsoft Visual Studio 2010 Express for Phone

◆Microsoft Expression Blend for Phone

◆Microsoft XNA Game Studio for Phone

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

Microsoft Expression Blend for Phone主要是針對專業設計人員的,設計人員可以使用它從零開始創建Page。

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

小結

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

51CTO題外話

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

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

原文名:Windows Phone 7 Development for Android Developers

作者:Chris Bennett

【51CTO譯稿,非經授權謝絕轉載,合作媒體轉載請注明原文出處、作者及51CTO譯稿和譯者!】

【編輯推薦】

  1. 諾基亞微軟聯盟 智能手機市場三分天下?
  2. Windows Phone 7 免費線下培訓火熱報名中
  3. 諾基亞向開發者贈送E7及Windows Phone 7手機
  4. 錢景無限 Android應用開發者曬收入
  5. Android開發者:開發難度高 用戶不愿付費
  6. iPhone vs Android 擁戴者的奇特世界觀
  7. Windows Phone開發工具下載地址
  8. Windows Phone開發工具修正版下載地址

 

責任編輯:楊鵬飛 來源: 51CTO譯文
相關推薦

2014-03-07 11:16:12

2012-06-05 14:25:46

Windows Pho

2013-07-17 09:08:15

2012-05-18 20:17:15

Windows Pho開發者

2010-12-16 10:06:31

Windows Pho

2013-12-05 10:44:19

TechEd2013

2014-04-14 11:23:27

WP8.1Build2014

2012-06-29 10:51:44

Windows Pho

2013-11-07 17:08:39

微軟Windows StoWindows Pho

2012-03-27 22:56:36

Windows Pho

2010-10-14 09:41:10

Windows Pho

2011-10-20 13:29:02

Windows Pho應用商店

2012-05-03 09:54:01

Windows Pho

2012-05-16 17:36:36

Windows Pho

2010-12-14 09:55:44

注冊Windows P

2012-05-14 18:35:20

Windows Pho

2012-02-06 09:04:00

Windows Pho開發者體驗總監

2013-08-13 14:22:33

開發者微軟Windows Pho

2012-05-23 23:34:29

Windows Pho

2011-03-23 16:05:48

微軟
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲在线成人 | 69性欧美高清影院 | 色888www视频在线观看 | 中文字幕在线观看成人 | 成年人视频在线免费观看 | 91精品国产综合久久久动漫日韩 | 精品国产精品一区二区夜夜嗨 | 久久99网站 | 亚洲日韩中文字幕一区 | 久久久久一区 | 在线观看国产视频 | 美美女高清毛片视频免费观看 | 黄色大片网站 | 色婷婷激情 | 欧美专区在线 | 国产黄色大片 | 在线不卡视频 | 希岛爱理在线 | 一区二区三区四区免费视频 | 可以看黄的视频 | 成人教育av| 黄 色 毛片免费 | av网站在线播放 | 九九热在线视频观看这里只有精品 | 999久久精品| 在线精品观看 | 国产精品久久久久久久久免费软件 | 欧美高清性xxxxhd | 日批免费看 | 欧美日韩国产综合在线 | 日日操夜夜干 | 成人一区二 | 日韩精品一区二区在线 | 蜜臀网 | 日韩中文在线观看 | 国内精品久久久久久久 | 美女午夜影院 | 久久久久www | 国产精品视频一区二区三区四区国 | 天天干 夜夜操 | 久久久久久av |