編輯:Android開發實例
當前就移動系統來說,最火的兩個系統應該是WM和Android了,自己工作的關系兩個系統都有所接觸,在這裡想談一下我對兩個系統的認識,希望同大家一起分享。
開發工具
Windows Mobile的主流開發工具肯定是VS了,Android是Eclipse,兩個比較來說,從移動開發方面來說,VS無疑要好過Eclipse,從調試來說,VS+ActiveSync對於模擬器和真機的支持做的很不錯,VS的調試器比Eclipse要強好多,開發Android程序,經常會由於調試麻煩,退化到不用調試器,而是使用Logcat來定位錯誤,原因是adb(Android中類似於ActiveSync一樣的同步工具)真的還是一個beta的產品,能用但不好用。但是Android可以在Linux開發,我也相信,在大多數企業級開發中,基於成本的考慮,企業也會一般選擇ubuntu來進行開發,在Linux的世界裡,免費開源才是王道。
SDK資源
MSDN+Emulator+廣闊的博客資源(但我們Windows Mobile 博客園小組就有很多資料),Windows Mobile的開發非常豐富,而Android也因為事剛剛推出的系統,學習的資源很少,google開放的SDK也並不全面,經常在開發Android的時候,一個小小的問題通常都會研究很久,代碼資源就更少了,而且一個事實是:很多廠商都在定制自己的Android,這樣Android可能會因為不同的裁剪修改而讓SDK統一不起來,進而讓Anroid程序不能相互兼容。
開發語言與系統結構
JAVA與C#,不分伯仲,語言的特性來說,就不用細說了, 這裡想從一個HelloWorld來談一下在開發思路上,兩者有多少不同。對於Windows Mobile來說,
一個HelloWorld,只需要創建一個工程,拖個Lable和Button,在Button響應事件裡寫:this.lable1.Text="Hello Wolrd";
而Android,也需要創建一個Anroid工程,完了之後,就不能拖拽了,如果要實現一個和上面一樣的效果,首先得創建一個Activity(這個東西類似於一個Form減去UI的東西,他加上View就能實現和Form一樣的UI),然後到layout裡,添加一個Layout.xml,這個事用來配置Form上Lable和Button的布局,然後,在Activiy中要寫上一句: setContentView(R.id.Layout),R這個類是自動生成的類,類似於WM中Designer.cs,然後獲取以下Layout中的Button,
Button button = (Button) findViewById(R.id.btn);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
TextView text=(TextView)findeViewById(R.id.text);
text.setText("Hello World");
}
完事之後,Debug一下。比較下來,確實麻煩一點。
另外我想說一下Anroid中的Intent,在WM中,窗體之間是可以相互引用 ,這樣可以實現功能和界面上的跳轉,而Android中Activity是不建議進行相互間引用的,他們之間是通過Intent相互通信的,Intent不但可以實現應用程序內的通信,還可以實現同一平台下應用程序之間的相互通信的,這一點來說,WM正是欠缺的。
類庫和應用軟件
這裡想說一下浏覽器和數據庫,WM有Mobile IE和Sqlserver Compact,Android有WebKit和SqlLite,未來的移動操作系統將會是Web OS特性的系統,本人覺得WM最欠缺的也就是這個方面,未來的Web應用將會更加多元化,web程序和本地程序對用戶來說應該是透明的,Android中一個非常大的亮點就是Widget,在Home上Widget的數量要遠遠大於本地應用,因為Widget是輕量級的,誇平台的。 Moible IE的核心與WebKit是不同的,但是使用HTML+JS+CSS的應用程序,將使Widget無論在PC還是各種手機上,只要有浏覽器,就又可以至少跑起來,也希望MS不要冒天下之大不惟,再搞一套自己的JS標准。在WM 6.5中,Mobile IE雖然有不錯的進步,但創新的應用還是遠遠不夠的,希望MS在WM上能少一點抄襲模仿,多一點創新性革命性的應用。另外,Android集成sqlLite,這樣很容易能夠配合著做一些復雜的信息處理應用,包括Android中SMS,MAIL等也都是使用SQLLITE,WM的SQLSERVER比較起來還是有點大,以後希望WM直接集成進去,並且推出一套類似於Android的ContentProvider(對數據庫,XML等信息載體進行集中管理存取的對象),能夠更加方便高效的使用這些信息載體。
雲計算
在本次的MWC上,MS推出了MyPhone,這是個很實用的雲應用,對於Android與WM來說,討論雲計算並沒有太多意義,這裡只是想說google與MS的競爭,對於Google來說,己出的Android未來肯定會獲得google的移動精確搜索,google地圖等雲計算的支持 ,對於MS來說這些都是短板,希望MS趕緊把yahoo搜索搞定,將來手機服務才是王道,也許Android與WM都會退化成一個帶著浏覽器的OS,那個時候,才是MS與google死掐最激烈的時候。
本文實例講述了Android實現文字和圖片混排(文字環繞圖片)效果。分享給大家供大家參考,具體如下: 在平時我們做項目中,或許有要對一張圖片或者某一個東西進行文字
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
可以顯示在的Android任務,通過加載進度條的進展。進度條有兩種形狀。加載欄和加載微調(spinner)。在本章中,我們將討論微調(spinner)。Spinner 用
引言在windows安裝Android的開發環境不簡單也說不上算復雜,本文寫給第一次想在自己Windows上建立Android開發環境投入Android浪潮的朋友