很多同學(xué)在達(dá)內(nèi)java學(xué)院學(xué)完java開發(fā)后因工作需要要求做android開發(fā),于是問我們的咨詢老師說:Java能轉(zhuǎn)Android開發(fā)嗎?怎么轉(zhuǎn)?需要注意什么了?達(dá)內(nèi)java培訓(xùn)老師為你解答。
1、Java和Android程序的區(qū)別
Android是主流智能手機(jī)的操作系統(tǒng),Java是一種開發(fā)語言,兩者沒有好壞優(yōu)劣之分,只是兩種職業(yè)崗位的選擇。學(xué)安卓從事移動(dòng)互聯(lián)方向開發(fā),學(xué)Java從事軟件、網(wǎng)站開發(fā)。而安卓上的應(yīng)用大多是Java編寫的,所以建議在安卓前期的Java學(xué)習(xí)階段中,要用心學(xué)好。
2、Java轉(zhuǎn)Android前的準(zhǔn)備
其實(shí)Java程序員要自學(xué)安卓開發(fā)的基礎(chǔ)知識(shí)還是沒有什么難度的,畢竟語言相通,特性相似,閱讀安卓源代碼的門檻以比較低一些,學(xué)習(xí)安卓也相對(duì)比較輕松一些。
所以Java程序員轉(zhuǎn)安卓開發(fā)可以看做是一次“增量更新”,只需要學(xué)習(xí)一下安卓的基本組件:Activity、ContentProvider、Service、BroadcastReceiver;
了解一下安卓中的Intent,Handler,Adapter以及各類事件的傳遞方式(onClick,onTouch等);
同時(shí)輔助一定的代碼量,像JNI、AIDL什么的都可以看一下;你還要摒棄“UI元素像素位置”這個(gè)概念,安卓本身是允許通過設(shè)定元素位置來制作UI的,如果你這樣做導(dǎo)致的結(jié)果便是大批機(jī)器不適配,那么顯示效果就有點(diǎn)慘不忍睹了,所以不要妄想通過獲取屏幕大小來調(diào)整UI。
還有熟悉ide,安卓提供的開發(fā)框架、Java及其他編程知識(shí)等。
3、Java轉(zhuǎn)Android經(jīng)驗(yàn)分享
移動(dòng)開發(fā)和PC上的開發(fā)帶來了哪些不一樣?
從2002年之后,傳統(tǒng)桌面的開發(fā)者基本都轉(zhuǎn)向了J2EE/.NET/LAMP等以Web技術(shù)或者服務(wù)器端開發(fā)技術(shù)為主的開發(fā)方式。使用C/C++/MFC/Delphi等開發(fā)C/S模式的用戶越來越少,甚至工作的需求也開始變得越來越少。
那對(duì)于移動(dòng)開發(fā)上需要什么?
從桌面端轉(zhuǎn)向移動(dòng)端,一定要認(rèn)識(shí)到二者不同的側(cè)重點(diǎn)。桌面端包括web更側(cè)重于邏輯復(fù)雜,高級(jí)的任務(wù),而移動(dòng)端的娛樂性明顯更強(qiáng)。
就從操作方式說起吧,桌面端主要靠鼠標(biāo)鍵盤和touchpad,所以操作精度要高得多,很容易將很多功能集成到一個(gè)界面里;但同樣的思路就完全不適用于移動(dòng)端了(反例我是實(shí)在想不起來了,大家可以幫忙想想),相信一個(gè)cluttered
ui的app,就算功能再強(qiáng)大,用戶盯著你的界面超過3s就會(huì)頭暈,點(diǎn)擊某個(gè)button要點(diǎn)好幾下才會(huì)成功,也必定是一個(gè)糟糕的app。