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