首先學(xué)習(xí)java,java如果搞定,android學(xué)起來(lái)會(huì)比較輕松。
成都創(chuàng)新互聯(lián)長(zhǎng)期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為歷下企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì),歷下網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
android基礎(chǔ)(Android開(kāi)發(fā)環(huán)境調(diào)試,Android應(yīng)用結(jié)構(gòu),界面組件與界面編程,四大組件)
android中級(jí)(文件IO與SQLite,圖形、圖像與動(dòng)畫、音頻、視頻的錄制于播放,傳感器編程,GPS應(yīng)用)
android高級(jí)(網(wǎng)絡(luò)編程與Web Service,OpenGL-ES 3D開(kāi)發(fā),整合Google服務(wù),使用NDK開(kāi)發(fā),java和c相互調(diào)用)
…………………………………………………………
如果對(duì)android感興趣,看看一個(gè)中專生怎么自學(xué)android到找到工作。
我是一名中專生,在學(xué)校里讀的是計(jì)算機(jī)專業(yè),一次偶然的機(jī)會(huì)我在網(wǎng)上看到了一段新聞?wù)f安卓現(xiàn)在特別火有一年工作已經(jīng)的工資可以達(dá)到8000元左右就算沒(méi)工作經(jīng)驗(yàn)起薪也有5000元,5000元對(duì)我來(lái)說(shuō)簡(jiǎn)直就是個(gè)天文數(shù)字,于是我決定學(xué)習(xí)安卓,后來(lái)我到書店找了一些安卓的書但是由于基礎(chǔ)太差,很多都看不明白,網(wǎng)上看到可以報(bào)培訓(xùn)班都是幾乎每所都要上萬(wàn)大洋,對(duì)于我一個(gè)一個(gè)月只能賺幾百元的中專生來(lái)說(shuō)簡(jiǎn)直是個(gè)天文數(shù)字,后來(lái)在IT學(xué)習(xí)聯(lián)盟這個(gè)網(wǎng)站看到了一套安卓視頻叫安卓就業(yè)班(喜歡《安卓就業(yè)班》的可以復(fù)制 sina.lt/brxC 粘貼瀏覽器地址欄按回車鍵即打開(kāi))。價(jià)格還挺合理的。覺(jué)得內(nèi)容挺不錯(cuò)的于是我決定買下來(lái),我想既然我看書看不明白,看視頻應(yīng)該容易看明白吧,自從我把視頻買下來(lái)后就就天天看,因?yàn)樽约夯A(chǔ)太差了,所以每天至少學(xué)習(xí)5個(gè)小時(shí)以上,那段日子真的很辛苦但又很充實(shí),覺(jué)得我的人生最有意義的時(shí)間段。我拿到光碟后首先跟著他要求的學(xué)習(xí)順序?qū)W習(xí)(因?yàn)樗呀?jīng)偏好了學(xué)習(xí)的順序)從第一塊開(kāi)始到第十七塊,首先學(xué)的是JAVA,是一個(gè)培訓(xùn)視頻,總共十幾G,但老師幽默風(fēng)趣而又輕松的課堂教課,使我發(fā)現(xiàn)原來(lái)學(xué)習(xí)JAVA并不是一件很難的事情,但我的基礎(chǔ)太差了有些地方還是不容易看懂,于是有些地方重復(fù)看了兩,三篇,甚至四,五篇,大概這樣過(guò)了一個(gè)月我就把JAVA給學(xué)會(huì)了,這個(gè)月因?yàn)橐习嗨越?jīng)常學(xué)到晚上1,2點(diǎn)早上6點(diǎn)多就起床,星期六,星期天的話就從早上看到晚上,所以有段時(shí)間眼睛經(jīng)常通紅通紅的,但是我知道天道酬勤這個(gè)成語(yǔ),你努力付出就一定得到回報(bào)的,于是我堅(jiān)持了下來(lái),到了第二階段,學(xué)習(xí)android了,他有基礎(chǔ)篇和深入篇,基礎(chǔ)篇比較容易,深入篇的話還是有點(diǎn)難度的,但是我覺(jué)得JAVA學(xué)好了,android并不難學(xué),學(xué)起來(lái)還覺(jué)得挺容易的,心里不由自主的笑了,覺(jué)得是不是我的付出有了回報(bào),到了第三階段也是最難的了,是基于linux的嵌入式,因?yàn)閍ndroid的是由linux底層開(kāi)發(fā)的再加上界面是JAVA,所以學(xué)好linux的嵌入式也比較重要(如果你以后想成為android內(nèi)核移植這個(gè)方向走的非常重要,工資可是很高的哦,如果你只想做界面的話了解一下也不錯(cuò)),他首先從C語(yǔ)言開(kāi)始教,然后到linux嵌入式,我覺(jué)得這部分太難理解了,很多都是硬著頭皮看完的,因?yàn)橛胁坏胤娇床幻靼?,斷斷續(xù)續(xù)的來(lái)到了第四階段項(xiàng)目階段這里總共有22個(gè)大項(xiàng)目,一開(kāi)的時(shí)候還是跟不上老師的腳步但是后來(lái)就慢慢的跟上了,我覺(jué)得項(xiàng)目很重要,他把之前的所有的東西都復(fù)習(xí)了一遍而且讓你熟悉了真正企業(yè)項(xiàng)目實(shí)線,使你以后工作的時(shí)候更容易上手,學(xué)習(xí)了大概4個(gè)多月。終于學(xué)完了。就開(kāi)始找工作。最后找到一份在小公司工作,待遇也有4500元,感覺(jué)還行。但是這4500元對(duì)我只有中專文聘來(lái)說(shuō)已經(jīng)很多很多了,我很滿足了,我覺(jué)得只有肯努力,也會(huì)有成功的一天的。
……………………………………
將apk放置系統(tǒng)目錄:/vendor/companyname/
新建apk目錄(apk為名)--放入apk和Android.mk文件
Android.mk作用主要是解壓apk包將lib庫(kù)文件解壓到 system/lib或system/lib64包下,拷貝到system/app或system/pri-app/ 下
第一種方式? ? Android.mk通過(guò)shell命令 mkdir -p? 創(chuàng)建對(duì)應(yīng)的文件夾,shell cp命令拷貝到對(duì)應(yīng)的system/app或system/priv-app:
include $(CLEAR_VARS)
LOCAL_MODULE := TestDemo
$(shell mkdir -p $(PRODUCT_OUT)/system/priv-app/TestDemo)
$(shell cp $(LOCAL_PATH)/$(LOCAL_MODULE).apk $(PRODUCT_OUT)/system/priv-app/TestDemo/)
第二種方式:如果apk文件中有依賴的so文件庫(kù),可以解壓將其拷貝到系統(tǒng)system/lib和system/lib64
Android.mk的內(nèi)容主要就是解壓拷貝:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := TestDemo
LOCAL_MODULE_CLASS := APPS
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := TestDemo.apk #源文件
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_POST_INSTALL_CMD := $(hide) UNZIP_PATH=$(LOCAL_PATH)/$(LOCAL_MODULE); \
? ? unzip -o $(LOCAL_PATH)/$(LOCAL_SRC_FILES) -d $$UNZIP_PATH; \
? ? mv $$UNZIP_PATH/lib/armeabi-v7a/ $$UNZIP_PATH/lib/arm; \
? ? mv $$UNZIP_PATH/lib $(TARGET_OUT)/app/$(LOCAL_MODULE)/lib; \
? ? rm $$UNZIP_PATH -rf;
include $(BUILD_PREBUILT)
相同的方式建立文件夾,腳本文件和Android.mk文件:
Android.mk內(nèi)容:
include $(CLEAR_VARS)
LOCAL_MODULE := test.sh? ? #腳本名稱
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_PATH := $(TARGET_OUT)/bin #編譯后生成位置
LOCAL_SRC_FILES := $(LOCAL_MODULE)? #源碼文件
LOCAL_MODULE_CLASS := FAKE
如/vendor/companyname/mycompany.mk
PRODUCT_PACKAGES := \
? ? ? ? ? ? PrebuiltGmsCore \
? ? ? ? ? ? GmsCoreSetupPrebuilt \
? ? ? ? ? ? GoogleServicesFramework \
? ? ? ? ? ? GoogleLoginService \
? ? ? ? ? ? Phonesky \
? ? ? ? ? ? libDPN_SECURITY \
test.sh? \ #加入
然后在device/目錄下找到本工mk文件,例如:device/softwinner/mycompany/mycompany.mk
加入
$(call inherit-product,vendor/companyname/mycompany.mk) #這樣系統(tǒng)就可以找到這個(gè)mycompany.mk文件,將這些申明的apk編譯進(jìn)系統(tǒng)
Android一詞的本義指“機(jī)器人”,同時(shí)也是Google于2007年11月5日宣布的基于Linux平臺(tái)的開(kāi)源手機(jī)操作系統(tǒng)的名稱。該平臺(tái)由操作系統(tǒng)、中間件、您界面和應(yīng)用軟件組成,號(hào)稱是首個(gè)為移動(dòng)終端打造的真正開(kāi)放和完整的手機(jī)操作系統(tǒng)。 截至2011年3月,android操作系統(tǒng)已更新至2.3版本。(上述內(nèi)容僅適用于廣東聯(lián)通用戶)
這里我們拿“android的ScrollView滾動(dòng)布局獲取數(shù)據(jù)基礎(chǔ)方法”這個(gè)示例中利用HttpUtils工具類獲得json數(shù)據(jù)為例,利用單元測(cè)試進(jìn)行測(cè)試。
首先,在AndroidManifest.xml清單文件中使用鼠標(biāo)點(diǎn)擊的方法添加android.test.InstrumentationTestRunner(如果使用代碼容易出錯(cuò)),之后再添加Instrumentation的Name和Target package,全部自動(dòng)完成這一過(guò)程。具體方法如圖。
然后在AndroidManifest中使用Alt+/自動(dòng)添加單元測(cè)試包,單元測(cè)試準(zhǔn)備工作完成,方法如圖。
在第二步中targetPackage指定的包名com.example.layout,意思是在com.example.layout包下所有包下的類都可以進(jìn)行單元測(cè)試,所以我們?cè)谠摪陆⒁粋€(gè)測(cè)試類MyTest,并繼承AndroidTestCase,寫一個(gè)testjson()方法,用于測(cè)試android語(yǔ)句是否能正確輸出json數(shù)據(jù),具體代碼如下。
寫好測(cè)試代碼之后,進(jìn)行如圖方式執(zhí)行測(cè)試代碼。如果出現(xiàn)“綠色”,則測(cè)試成功,這樣就完成了單元測(cè)試,模擬器只需要在旁邊掛著,不用模擬器,而可以進(jìn)行多個(gè)函數(shù)的獨(dú)立單元測(cè)試,不僅節(jié)省了時(shí)間,還提高了工作效率。
第一階段的課程一般都是Java編程開(kāi)發(fā)
這一部分應(yīng)該會(huì)和Java后臺(tái)有相關(guān)聯(lián)的地方,但是比Java后臺(tái)簡(jiǎn)單,這一階段一般要學(xué)習(xí)Java語(yǔ)法和Java面向?qū)ο笏枷?、Java數(shù)據(jù)結(jié)構(gòu)及算法、GUI界面編程、Java進(jìn)程與線程、Java網(wǎng)絡(luò)通信與流、設(shè)計(jì)模式、數(shù)據(jù)庫(kù)和Javaweb,安卓在這一階段的學(xué)習(xí)內(nèi)容看似和后臺(tái)關(guān)聯(lián)性很大,但是這一部分我們只學(xué)習(xí)后臺(tái)一些基礎(chǔ)的東西和日后會(huì)用到的東西,我們要把基礎(chǔ)奠定好。
第二階段要學(xué)習(xí)的內(nèi)容是安卓基礎(chǔ)開(kāi)發(fā)
主要的課程內(nèi)容為Android界面編程(界面編程是Android入門的核心技術(shù),內(nèi)容縱多,涉及四大組件之一Activity、Wedget、自定義View、事件處理、動(dòng)畫處理、列表、圖片處理、國(guó)際化、資源文件、菜單、通知、對(duì)話框、Tools/ActionBar/Fragment、樣式/主題、Intent。)、進(jìn)程與線程、服務(wù)與廣播、數(shù)據(jù)存儲(chǔ)、網(wǎng)絡(luò)通信、多媒體以及硬件相關(guān),這一階段更注重安卓入門基礎(chǔ)的培訓(xùn),一定要好好的把握。
接下來(lái)學(xué)習(xí)的內(nèi)容是一個(gè)進(jìn)階階段,主要學(xué)習(xí)的是安卓的高級(jí)開(kāi)發(fā),一般的課程內(nèi)容為HOME開(kāi)發(fā)、NDK開(kāi)發(fā)等、地圖開(kāi)發(fā)項(xiàng)目發(fā)布等等,以上就算是安卓培訓(xùn)的所有學(xué)習(xí)內(nèi)容,但是你掌握了學(xué)習(xí)內(nèi)容之后還是遠(yuǎn)遠(yuǎn)不夠的,一般的培訓(xùn)班都會(huì)給我們安排項(xiàng)目實(shí)戰(zhàn)的,這是一種思想的鍛煉,我們做什么就要有什么的思維做后臺(tái)的有做后臺(tái)的思維,做前端的有做前端的思維,我們學(xué)安卓的進(jìn)行手機(jī)端APP開(kāi)發(fā)的就要有安卓的思維,這一階段也是很重要的,就好比我們?cè)谌A清遠(yuǎn)見(jiàn)學(xué)完整體的內(nèi)容之后也參與了一些項(xiàng)目的實(shí)戰(zhàn)。
我把每一階段要學(xué)習(xí)的課程都給你整理了,你可以現(xiàn)在有準(zhǔn)備的去看一些基礎(chǔ)的視頻或者相關(guān)的書籍了。
安卓培訓(xùn)視頻資料都有
Android開(kāi)發(fā)工程師主要從事Android移動(dòng)應(yīng)用操作系統(tǒng)、游戲和各種Android平臺(tái)功能的應(yīng)用、開(kāi)發(fā)和測(cè)試。工作內(nèi)容包括設(shè)計(jì)app構(gòu)架、UI制作、業(yè)務(wù)邏輯實(shí)現(xiàn)、測(cè)試、升級(jí)維護(hù)