在移動互聯網快速發展的時代,android開發可以說是當前的一個熱門職業。那么在學習android開發過程中,我們有哪些相關問題需要了解呢?
中培偉業《android APP開發架構應用實戰》培訓專家張老師在這里介紹了與該職業密切相關的10個問題,并對這些問題進行了詳細解答,希望可以對大家的選擇有所幫助。
何謂Android?
做什么事情首先就應該知道自己做的是什么,作為一個android開發者首先就應該知道什么是Android。張老師介紹,“android”一詞的本義指“機器人”,同時也是Google于2007年11月5日宣布的基于Linux平臺的開源手機操作系統的名稱,該平臺由操作系統、中間件、用戶界面和應用軟件組成,號稱是首個為移動終端打造的真正開放和完整的移動軟件。簡單來說是個開源的手機操縱系統。
Android開發者的就業前景如何
張老師指出,Android是Google開發的基于Linux平臺的開源移動操作系統。它包括操作系統、用戶界面和應用程序----移動電話工作所需的全部軟件,而且不存在任何以往阻礙移動產業創新的專有權障礙,號稱是首個為移動終端打造的真正開發和完整的移動軟件。
國外Android市場正在如日中天的擴展,據市場調研機構最近發布的一份報告稱,今年第一季度基于Android操作系統的智能手機在美國智能手機總銷量中所占比例達到28%,首度超過蘋果iphone,蘋果iphone約為21%,相信在不久的將來會有更多的用戶選擇Android系統的手機或是無線終端設備。
Android有哪些特點
任何技術都有其資深的特點,Android也不例外。張老師在這里介紹了Android的以下10個特點:
1)應用程序框架:支持組件的復用和更換
2)Dalvik 虛擬機:專門為移動設備進行過優化
3)集成的瀏覽器:基于開源的 WebKit 引擎 ,TV上會內置Chrome瀏覽器
4)優化的圖形機制:自定義的2D圖形庫,基于OpenGL ES 1.0規范的3D圖形實現(本項為硬件加速器可選)
5)SQLite:輕量級的數據庫,支持結構化數據的存儲
6)媒體支持:面向常見的音頻、視頻以及靜態圖形檔案格式 (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
7)GSM 技術 GSM:global system for mobile communications (依賴硬件支持)
8)Bluetooth, EDGE, 3G, and WiFi (依賴硬件支持)
9)Camera, GPS, compass, and accelerometer (依賴硬件支持)
10)Rich development environment:豐富的開發環境,包含一套硬件仿真器,一些用于程序調試、內存和性能剖析的工具,以及支持Eclipse集成開發環境的插件(ADT )。
學習android需要哪些基礎
張老師介紹,學習Android一定要有Java基礎,最差也要類似Java的其他面對像對象語言的基礎。很多朋友從來沒有搞過編程,聽說Android能賺錢,就瘋了一樣沖過來要學習。這明顯是不靠譜的,甚至有的朋友一個字母一個字母的按照我的例子去敲代碼,然后非常努力的把代碼背下來。像背英文單詞一樣的背代碼,這其實是不可取的!不管怎樣,你最少也要掌握Java語言的如下知識點才能夠開始學Android:
a)Java基本數據類型及其特點
b)Java分支語句和循環語句的使用
c)類和對象的創建和使用方法
d)函數的使用
e)抽象類和接口
f)繼承和實現
g)對象的多態性
h)包和訪問權限
i)異常的處理
j)類集框架
k)eclipse的基本用法
Android上編程使用的開發語言
張老師指出,Android應用基于Java,支持SQL,由于底層是Linux所以底層支持C/C++。
目前有兩種編程:
1)基于ADT的JAVA編程
2)基于NDK的C編程
Android開發需要的編程環境
張老師指出編程離不開以下環境:Ide 、Android SDK、JDK、Java
官方推薦用JDK+ECLIPSE+ADT+ADK(WINDOWS開發環境下。
何謂APK
APK是Android Package的縮寫,即Android安裝包(anapk)。APK是類似Symbian Sis或Sisx的文件格式。通過將APK文件直接傳到Android模擬器或Android手機中執行即可安裝。
apk文件和sis一樣最終把android sdk編譯的工程打包成一個安裝程序文件格式為apk。 APK文件其實是zip格式,但后綴名被修改為apk,通過UnZip解壓后,可以看到Dex文件,Dex是Dalvik VM executes的全稱,即Android Dalvik執行程序,并非Java ME的字節碼而是Dalvik字節碼。
何謂SDK
張老師的回答是,SDK,Software Development Kit 的縮寫,中文即“軟件開發工具包”。廣義上指輔助開發某一類軟件的相關文檔、范例和工具的集合。
什么是API
所謂,API(Application Programming Interface)其實就是操作系統留給應用程序的一個調用接口,應用程序通過調用操作系統的 API 而使操作系統去執行應用程序的命令(動作)。
什么是TCP協議和UDP協議
張老師介紹,TCP/IP協議的名稱中只有TCP這個協議名,但是在TCP/IP的傳輸層同時存在TCP和UDP兩個協議。Tranfer Control Protocol的簡稱,是一種面向連接的保證可靠傳輸的協議。
通過TCP協議傳輸,得到的是一個順序的無差錯的數據流。發送方和接收方的成對的兩個socket之間必須建立連接,以便在TCP協議的基礎上進行通信,當一個socket(通常都是server socket)等待建立連接時,另一個socket可以要求進行連接,一旦這兩個socket連接起來,它們就可以進行雙向數據傳輸,雙方都可以進行發送或接收操作。
UDP協議是User Datagram Protocol的簡稱,是一種無連接的協議,每個數據報都是一個獨立的信息,包括完整的源地址或目的地址,它在網絡上以任何可能的路徑傳往目的地,因此能否到達目的地,到達目的地的時間以及內容的正確性都是不能被保證的。