android應(yīng)該如何學(xué)習(xí)
安卓開發(fā)學(xué)習(xí)已經(jīng)成為IT行業(yè)的新潮流。時下,安卓也以其創(chuàng)造力、前瞻性、延續(xù)性和實現(xiàn)能力成為行業(yè)首領(lǐng),可是怎么學(xué)好安卓呢?下面學(xué)習(xí)啦小編收集了一些關(guān)于android學(xué)習(xí)方法,希望對你有幫助
android學(xué)習(xí)方法
熟悉一門編程語言
現(xiàn)在大學(xué)里面和計算機(jī)相關(guān)的專業(yè)甚至理工類專業(yè)一般都會開設(shè)C語言課程,只是很多同學(xué)在大學(xué)期間并沒有好好學(xué)習(xí),如果對它掌握的不太好或者很久沒用了,建議先從將其好好復(fù)習(xí)一下,將其基本的語法再好好回顧一下,最好能搭建一個環(huán)境來運行、調(diào)試它。如果沒有學(xué)過,不妨也提前學(xué)習(xí)一下。大部分的高校所開設(shè)的C語言使用的教材都是用它作為教材,因此無論是購買還是借閱,都容易找到。
熟悉數(shù)據(jù)結(jié)構(gòu)和算法基礎(chǔ)知識
如果后續(xù)有志于游戲方面的開發(fā),最好具備一定的數(shù)據(jù)結(jié)構(gòu)和算法基礎(chǔ)知識。雖然現(xiàn)代的高級編程語言中,其類庫中已經(jīng)幫我們實現(xiàn)了大部分的數(shù)據(jù)結(jié)構(gòu),一般情況下,我們直接使用即可。但如果能對其原理有所了解,當(dāng)需要在這些數(shù)據(jù)結(jié)構(gòu)和算法中間的時候,可以更加的清楚到底應(yīng)該選擇哪個數(shù)據(jù)結(jié)構(gòu)或者算法。另外,在圖形圖像處理上面,線性代數(shù)的作用也非常重要,如果能掌握一點這方面的基礎(chǔ)知識,無疑也會在后續(xù)的學(xué)習(xí)中如虎添翼;
熟悉Java基礎(chǔ)知識
Android應(yīng)用的開發(fā)語言用的是Java語言,并且在Android中也用到了Java核心類庫的大量的類,因此,在學(xué)習(xí)Android開發(fā)之前,可以先把Java基本語法和Java SE的基礎(chǔ)類庫好好學(xué)習(xí)一下。Android應(yīng)用程序開發(fā)是以Java語言為基礎(chǔ)的,所以沒有扎實的Java基礎(chǔ)知識,只是機(jī)械的照抄別人的代碼,是沒有任何意義的。 建議在安卓課程前期的java學(xué)習(xí)階段中,需要用心的學(xué)好。
Android開發(fā)者應(yīng)該深入學(xué)習(xí)的10個開源應(yīng)用項目
1.Android團(tuán)隊提供的示例項目
如果不是從學(xué)習(xí)Android SDK中提供的那些樣例代碼開始,可能沒有更好的方法來掌握在Android這個框架上開發(fā)。由Android的核心開發(fā)團(tuán)隊提供了15個優(yōu)秀的示例項目,包含了游戲、圖像處理、時間顯示、開始菜單快捷方式等。
2.Remote Droid
RemoteDroid是一個Android應(yīng)用,能夠讓用戶使用自己的無線網(wǎng)絡(luò)使用無線鍵盤、觸摸屏操作手機(jī)。這個項目為開發(fā)者提供了如網(wǎng)絡(luò)連接、觸摸屏手指運動等很好的樣例。
3.TorProxy和Shadow
TorProxy應(yīng)用實現(xiàn)了Android手機(jī)無線電電傳通訊(TOR),和Shadow應(yīng)用一起使用,可以使用手機(jī)匿名上網(wǎng)。從該項目源代碼中,可以掌握socket連接、管理cookie等方法。
4、 Android SMSPopup
SMSPopup可以截獲短信內(nèi)容顯示在一個泡泡形狀的窗口中。從這個項目中可以掌握到如何使用內(nèi)置的短信SMS接口。
5、 Standup Timer
Standup Timer應(yīng)用用于控制站立會議時間,類似秒表倒計時,可以提醒每個人的講話時間已到,從而保證每個與會者使用時間一樣。從該項目的代碼中,可以學(xué)會如何使用時間函數(shù)。另外,這個項目的代碼是采用視圖view、模型model嚴(yán)格分離的設(shè)計思路。
6、 Foursquare
是Foursquare.com的一個客戶端應(yīng)用,該應(yīng)用主要分為兩個模塊:API(com.joelapenna.foursquare)和界面前端(com.joelapenna.foursquared)兩部分。從該項目代碼中,可以學(xué)會如何同步、多線程、HTTP連接等技術(shù)。
7、 Pedometer
Pedometer應(yīng)用用于記錄你每天走路步數(shù)的。盡管記錄不一定精準(zhǔn),但是從這個項目中,可以學(xué)習(xí)幾個不同的技術(shù):加速器交互、語音更新、后臺運行服務(wù)等。
8、 OpenSudoku-android
OpenSudoku是一個簡單的九宮格數(shù)獨游戲。從代碼中可以學(xué)習(xí)到如何在視圖中顯示表格數(shù)據(jù),以及如何和一個網(wǎng)站交互等技術(shù)。
9、 ConnectBot
ConnectBot是Android平臺的一個客戶端安全殼應(yīng)用。從該項目代碼中,可以學(xué)習(xí)到很多Android安全方面的內(nèi)容,這些是你在開發(fā)應(yīng)用時經(jīng)常需要考慮的安全問題。
10、 WordPress的Android應(yīng)用
當(dāng)然在最后不能不提Wordpress的Android應(yīng)用了,這是Wordpress官方開發(fā)團(tuán)隊提供的一個項目。從代碼中可以學(xué)習(xí)到XMLRPC調(diào)用(當(dāng)然還有更多的優(yōu)秀內(nèi)容)。
Android應(yīng)該向iOS學(xué)習(xí)的10個特點
1、設(shè)計不一致
讓我們面對現(xiàn)實,即使谷歌公布了 Material Design(材料設(shè)計)作為設(shè)計語言,并希望開發(fā)者能夠遵循,但是目前真正采用Material Design 風(fēng)格界面的應(yīng)用程序非常少,而大多數(shù)仍然使用老舊的Holo Design設(shè)計語言。
不清楚是否是因為Material Design不佳還是開發(fā)者認(rèn)為沒必要,Google Play上還是有很多不同風(fēng)格應(yīng)用程序,而且看起來統(tǒng)一設(shè)計的道路還非常長。就設(shè)計語言凝聚力和統(tǒng)一性而言,蘋果的應(yīng)用程序做得好很多,大多數(shù)應(yīng)用程序都已經(jīng)專門針對新的系統(tǒng)風(fēng)格調(diào)整用戶界面設(shè)計。
2、本身就不像精簡的iOS
Android操作系統(tǒng)遠(yuǎn)不及iOS直觀,隨便一臺Android設(shè)備總能找到不同的選項或功能,而蘋果的iOS系統(tǒng)上做每一件事情都使用了同樣的方式。當(dāng)然,原生的Android操作系統(tǒng)可能最為直觀,但設(shè)備制造商就是不喜歡原生Android,幾乎每一個品牌的智能手機(jī)都有自家定制的用戶界面。
這意味著,一個用戶如果要換不同品牌的手機(jī),必須要通過一定的學(xué)習(xí)才能適應(yīng),這個學(xué)習(xí)過程有可能是輕量級,也可能難以使用。更重要的是,同一品牌的智能手機(jī),每一款的界面還不一樣,這一點與iOS用戶更換新 iPhone 直接上手相比體驗大為不同。
3、系統(tǒng)更新升級
這一點也是事實。每當(dāng)Android的新版本出來時,大多數(shù) Android 用戶必須等待很長一段時間,才能夠獲得來自官方的正式版系統(tǒng)升級,而這已經(jīng)是幸運兒了,如不幸可能永久等待也無任何升級希望。
反觀iOS設(shè)備,在規(guī)定新系統(tǒng)版本發(fā)布之日,總是會有大量用戶直接升級,隨后新系統(tǒng)的人數(shù)占據(jù)絕大多數(shù)。當(dāng)然,如果用戶手持Nexus設(shè)備的話,將最快獲得升級,不過Nexus在全球Android手機(jī)之中市場份額相當(dāng)之低。
4、內(nèi)置大量臃腫的應(yīng)用程序
內(nèi)置應(yīng)用程序的數(shù)量和臃腫程度,完全取決于用戶購買的是哪一款A(yù)ndroid智能手機(jī)。品牌制造商和運營商,兩者都非常喜歡在智能手機(jī)里預(yù)裝各種應(yīng)用程序,而且大部分沒辦法直接禁用或者完全手動刪除,不過其中也有一些設(shè)備不會太過于臃腫。
反觀iOS設(shè)備,雖然也有不少預(yù)裝應(yīng)用程序,一些對個人可能沒有多大用處,比如Apple Watch,但所預(yù)裝的應(yīng)用程序并沒有讓用戶感受到十分臃腫??傊?,雖然iOS系統(tǒng)正在變大,但不可否認(rèn)很多Android設(shè)備的體驗的確毀在大量預(yù)裝應(yīng)用上。
5、控制中心更直觀易用
這一點不同的用戶感受不同,反應(yīng)有好有壞。iOS設(shè)備支持直接從任何界面向上滑動訪問控制中心,并提供一些重要的開關(guān),包括音樂控制和音量調(diào)節(jié)。
Android是最早提供快捷設(shè)置和通知欄智能手機(jī),但是一些用戶認(rèn)為其排列混亂不夠直觀,比如Android Lollipop系統(tǒng)里,用戶必須滑動那個兩次頂部或者使用雙指手勢,才能找到需要的快捷開關(guān),而iOS只要簡單的從底部滑動,顯得更簡單也更人性化,只是缺陷在于快捷開關(guān)無法自定義。
6、內(nèi)置的相機(jī)應(yīng)用功能有限
就默認(rèn)相機(jī)功能而言,iOS相比Android看起來更直觀功能也更多,比如手動控制曝光,自動曝光/自動對焦等,很多功能在Android設(shè)備上的默認(rèn)相機(jī)里缺失。不過,新版Android以及大多數(shù)設(shè)備制造商提供的相機(jī)應(yīng)用,可以作為彌補(bǔ)。
7、無iCloud備份功能
iOS自帶的強(qiáng)大的數(shù)據(jù)備份功能莫過于iCloud,而且直觀性和易用性良好,用戶只要打開開關(guān),選擇需要備份的應(yīng)用和數(shù)據(jù)即可,在Wi-Fi環(huán)境下還能自動備份,隨時還原。
Android上也有相類似的解決方案,只是大多數(shù)難以完整的備份,真要完美則需要Root獲取權(quán)限,然后再通過第三方Recovery備份和恢復(fù),比如Nandroid和鈦備份的方案。
8、應(yīng)用程序更新
這一點也是事實,Google Play現(xiàn)在的確比蘋果App Store擁有更多的游戲和應(yīng)用,但后者總是更討開發(fā)者歡迎,尤其當(dāng)涉及到發(fā)布新款或新版應(yīng)用程序,iOS總是開發(fā)者優(yōu)先首選,Android才緊隨其后,很多用戶對開發(fā)者或開發(fā)商的“應(yīng)用無更新”不滿也源于此,不過蘋果的確為開發(fā)者帶來了更多的收入。
9、缺乏連續(xù)互通功能
如果家里有蘋果家族全套產(chǎn)品,比如Mac、iPad和iPhone,只要移動設(shè)備升級到了新版iOS 8,很多工作和生活上的任務(wù)處理將變得更方便一些,比如Mac未完成的工作可以在iPad上繼續(xù),iPhone來電時Mac可以代替接電話,就算沒有Wi-Fi也能共享熱點等等,很多功能在蘋果設(shè)備之間都能實現(xiàn)無縫銜接。
而這一點在Android上還無法真正實現(xiàn),谷歌也正在完善Chrome OS,讓其代替接受通知,甚至就直接運行Android應(yīng)用。
10、蘋果的健康應(yīng)用目前比Google Fit完善
提到蘋果的健康應(yīng)用就難免不讓人想起Google Fit。相比蘋果而言,谷歌的方案目前在功能上還是令很多很多用戶失望,尤其是生態(tài)系統(tǒng)不夠完善。蘋果的健康功能更為豐富一些,同時還擁有很多配套的第三方應(yīng)用程序和配件產(chǎn)品,得益于完善的 HealthKit 和 ResearchKit,iOS設(shè)備就像是一個強(qiáng)大的醫(yī)學(xué)平臺。