Android入門還是很簡單的,看兩本書,翻閱幾篇文章,搭建了開發(fā)環(huán)境就算入門了??墒窃鯓娱_發(fā)一款完備的android應(yīng)用呢,開發(fā)一款高端的android應(yīng)用又需要那些知識(shí)呢,作者根據(jù)幾年的開發(fā)經(jīng)驗(yàn)做了一點(diǎn)總結(jié),有不足之處也請(qǐng)讀者補(bǔ)充。
開發(fā)的應(yīng)用肯定會(huì)聯(lián)網(wǎng),在移動(dòng)互聯(lián)網(wǎng)時(shí)代,單機(jī)應(yīng)用會(huì)越來越少。如果我們開發(fā)的應(yīng)用缺少與服務(wù)器的交互,內(nèi)容上不會(huì)豐富,更有可能的是我們無法控制到應(yīng)用,得不到用戶及用戶反饋。網(wǎng)絡(luò)連接中用的最多的無非是Http或者Tcp。Android中http使用提供了三個(gè)包,我們常用的是HttpClient、HttpURLConnection。網(wǎng)絡(luò)上也有對(duì)http的封裝包,例如volley、android-async-http,volley使用的HttpURLConnection,android-async-http使用的HttpClient。雖然http的封裝包使用起來都很簡單,但是我們也應(yīng)該了解一下他們的區(qū)別,作者有一篇文章是介紹HttpClient、HttpURLConnection區(qū)別的,希望對(duì)您有幫助,《AndroidHttp通信 HTTP Client與HttpURLConnection的區(qū)別》。
volley和android-async-http都是非常簡潔、偉大的http開發(fā)庫,android-async-http有詳細(xì)的開發(fā)文檔,作者不做詳細(xì)的說明。 Volley是Ficus Kirpatrick在Gooogle I/O 2013發(fā)布的一個(gè)處理和緩存網(wǎng)絡(luò)請(qǐng)求的庫,能使網(wǎng)絡(luò)通信更快,更簡單,更健壯;他沒有使用文檔,作者有幾篇文章介紹了volley的使用。
《Google I/O 2013 – Volley: Easy, Fast Networking for Android》
《網(wǎng)絡(luò)通信框架Volley使用詳細(xì)說明》
《Asynchronous HTTP Requests in Android Using Volley》
《Android UI開發(fā)第三十六篇——使用Volley加載圖片列表》
客戶端開發(fā)不同于服務(wù)端,服務(wù)端只處理邏輯,客戶端即處理邏輯又處理界面,而且界面又是多變的,不同的客戶端,界面肯定不一樣,相同的客戶端,不同時(shí)期的界面也可能不一樣,所以客戶端開發(fā)者總感覺在修改界面,不是在改界面就是在改界面的路上
我們處在一個(gè)以“用戶體驗(yàn)至上”的時(shí)代,產(chǎn)品經(jīng)理經(jīng)常會(huì)以此為理由修改已經(jīng)確定的UI,為了應(yīng)付多變的需求,我們必須儲(chǔ)備盡可能多的UI處理技能。從最簡單的Button、TextView、EditText到高級(jí)點(diǎn)的Listiew、Tab、ViewPager,我們都應(yīng)該掌握,我們還應(yīng)該跟上時(shí)代掌握ActionBar、Fragment等等,自定義View的技能也必不可少。作者有一個(gè)UI開發(fā)專欄,介紹到了很多常用UI知識(shí),分享給大家。
應(yīng)用安全是我們重點(diǎn)關(guān)注的,尤其涉及到支付相關(guān)應(yīng)用。我們不希望自己的應(yīng)用遭破解、也不希望用戶被釣魚、更不希望出現(xiàn)數(shù)據(jù)漏洞,那我們就需要提高應(yīng)用安全技能。
應(yīng)用安全會(huì)涉及到代碼安全、客戶端與服務(wù)端通信安全、應(yīng)用內(nèi)部組件通信安全、數(shù)據(jù)庫數(shù)據(jù)安全等等,作者也提供了一個(gè)專欄來介紹應(yīng)用安全,內(nèi)容還不夠多,以后會(huì)再補(bǔ)充一些。作者也不是專業(yè)做安全的,難免有不足之處,也請(qǐng)讀者諒解。
Android平臺(tái)從誕生起,就已經(jīng)支持C、C++開發(fā)。雖然Android的SDK基于Java實(shí)現(xiàn),但這并不等同于“第三方應(yīng)用只能使用Java”。在Android SDK首次發(fā)布時(shí),Google就宣稱其虛擬機(jī)Dalvik支持JNI編程方式,也就是第三方應(yīng)用完全可以通過JNI調(diào)用自己的C動(dòng)態(tài)庫,即在Android平臺(tái)上,"Java+C"的編程方式是一直都可以實(shí)現(xiàn)的。涉及到注重性能,或比較底層的程序都會(huì)使用C/C++開發(fā),例如音視頻編解碼。有的應(yīng)用會(huì)使用so文件,以保證應(yīng)用安全。
NDK全稱是Native Development Kit。NDK提供了一系列的工具,幫助開發(fā)者快速開發(fā)C(或C++)的動(dòng)態(tài)庫,并能自動(dòng)將so和java應(yīng)用一起打包成apk。官方關(guān)于NDK開發(fā)的文檔相對(duì)較少,作者也總結(jié)了幾篇文章,幫著初學(xué)者入門。
JNI專欄中包含了JNI入門、C調(diào)Java、Java調(diào)C、
android開發(fā)中,使用到的知識(shí)不只是上面的四點(diǎn),還會(huì)有數(shù)據(jù)庫相關(guān)、Broadcast、Service等等,但是上面的四點(diǎn)在使用過程中更豐富、多變;而數(shù)據(jù)庫相關(guān)、Broadcast、Service等比較簡單、單一,在每個(gè)應(yīng)用中的使用方式都是一樣的。在學(xué)習(xí)中我們更應(yīng)該注重以上四點(diǎn)知識(shí)的積累。有不足之處,望讀者留言補(bǔ)充。
聯(lián)系客服