很多同學(xué)在昆明北大青鳥java學(xué)院學(xué)完java開發(fā)后因工作需要要求做android開發(fā),于是問(wèn)我們的咨詢老師說(shuō):Java能轉(zhuǎn)Android開發(fā)嗎?怎么轉(zhuǎn)?需要注意什么了?昆明北大青鳥java培訓(xùn)老師為你解答。
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供達(dá)坂城企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、H5建站、小程序制作等業(yè)務(wù)。10年已為達(dá)坂城眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
1、Java和Android程序的區(qū)別
Android是主流智能手機(jī)的操作系統(tǒng),Java是一種開發(fā)語(yǔ)言,兩者沒(méi)有好壞優(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í)還是沒(méi)有什么難度的,畢竟語(yǔ)言相通,特性相似,閱讀安卓源代碼的門檻以比較低一些,學(xué)習(xí)安卓也相對(duì)比較輕松一些。
所以Java程序員轉(zhuǎn)安卓開發(fā)可以看做是一次“增量更新”,只需要學(xué)習(xí)一下安卓的基本組件:Activity、ContentProvider、Service、BroadcastReceiver;
了解一下安卓中的Intent,Handler,Adapter以及各類事件的傳遞方式(onClick,onTouch等);
同時(shí)輔助一定的代碼量,像JNI、AIDL什么的都可以看一下;你還要摒棄“UI元素像素位置”這個(gè)概念,安卓本身是允許通過(guò)設(shè)定元素位置來(lái)制作UI的,如果你這樣做導(dǎo)致的結(jié)果便是大批機(jī)器不適配,那么顯示效果就有點(diǎn)慘不忍睹了,所以不要妄想通過(guò)獲取屏幕大小來(lái)調(diào)整UI。
還有熟悉ide,安卓提供的開發(fā)框架、Java及其他編程知識(shí)等。
3、Java轉(zhuǎn)Android經(jīng)驗(yàn)分享
移動(dòng)開發(fā)和PC上的開發(fā)帶來(lái)了哪些不一樣?
從2002年之后,傳統(tǒng)桌面的開發(fā)者基本都轉(zhuǎn)向了J2EE/.NET/LAMP等以Web技術(shù)或者服務(wù)器端開發(fā)技術(shù)為主的開發(fā)方式。使用C/C++/MFC/Delphi等開發(fā)C/S模式的用戶越來(lái)越少,甚至工作的需求也開始變得越來(lái)越少。
那對(duì)于移動(dòng)開發(fā)上需要什么?
從桌面端轉(zhuǎn)向移動(dòng)端,一定要認(rèn)識(shí)到二者不同的側(cè)重點(diǎn)。桌面端包括web更側(cè)重于邏輯復(fù)雜,高級(jí)的任務(wù),而移動(dòng)端的娛樂(lè)性明顯更強(qiáng)。
就從操作方式說(shuō)起吧,桌面端主要靠鼠標(biāo)鍵盤和touchpad,所以操作精度要高得多,很容易將很多功能集成到一個(gè)界面里;但同樣的思路就完全不適用于移動(dòng)端了(反例我是實(shí)在想不起來(lái)了,大家可以幫忙想想),相信一個(gè)clutteredui的app,就算功能再?gòu)?qiáng)大,用戶盯著你的界面超過(guò)3s就會(huì)頭暈,點(diǎn)擊某個(gè)button要點(diǎn)好幾下才會(huì)成功,也必定是一個(gè)糟糕的app。
將apk文件拷貝至sdcard上。
命令順序如下:
進(jìn)入Android sdk文件夾/tools目錄下
輸入adb shell
輸入su
輸入cd data
輸入cd app
這時(shí)就可以看到你安裝的所有的apk文件。輸入cp 空格 對(duì)應(yīng)的apk 空格 /sdcard/
這樣就將apk文件拷貝出來(lái)了。
將apk文件后綴直接變成rar格式,可以看到熟悉的目錄結(jié)構(gòu)了,
其中xml文件打開后都是二進(jìn)制的,無(wú)法查看。
這時(shí)就用到了一個(gè)android4me的AXMLPrinter2工具。(請(qǐng)自行百度搜索)
輸入以下命令,將xml文件解析出來(lái)
java -jar AXMLPrinter2.jar showtimes_list.xml
此命令是在命令行中查看此showtimes_list.xml
將showtimes_list.xml生成xml文件,則輸入以下命令:
java -jar AXMLPrinter2.jar showtimes_list.xml h.xml
目前進(jìn)行到這一步,只能看到xml文件的內(nèi)容,其工程中的java源文件還是看不到,看目錄結(jié)構(gòu)下有一個(gè)classes.dex文件,我們需要將dex文件變?yōu)閖ar文件。
這里用到了另一個(gè)工具dex2jar。(自行搜索下載)
在Windows下解壓之后的目錄如下圖所示:
在命令行中,進(jìn)入到此目錄下:
在Windows下,輸入以下命令:
dex2jar.bat c:\classes.dex
運(yùn)行完之后,在C盤會(huì)多一個(gè)classes.dex.dex2jar.jar文件,此文件就是我們需要的jar文件。
利用jd-gui,將jar文件反向工程為java代碼。(請(qǐng)自行搜索下載)
它分為Windows、Linux、和max三個(gè)版本,這里我下載的是Windows版本的。
解壓之后,雙擊運(yùn)行exe文件,選擇classes.dex.dex2jar.jar文件,相應(yīng)的jar文件中的Java文件就被反向工程顯示出來(lái)了!
Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。尚未有統(tǒng)一中文名稱,中國(guó)大陸地區(qū)較多人使用“安卓”或“安致”。Android操作系統(tǒng)最初由Andy Rubin開發(fā),主要支持手機(jī)。2005年8月由Google收購(gòu)注資。2007年11月,Google與84家硬件制造商、軟件開發(fā)商及電信營(yíng)運(yùn)商組建開放手機(jī)聯(lián)盟共同研發(fā)改良Android系統(tǒng)。隨后Google以Apache開源許可證的授權(quán)方式,發(fā)布了Android的源代碼。第一部Android智能手機(jī)發(fā)布于2008年10月。Android逐漸擴(kuò)展到平板電腦及其他領(lǐng)域上,如電視、數(shù)碼相機(jī)、游戲機(jī)等。2011年第一季度,Android在全球的市場(chǎng)份額首次超過(guò)塞班系統(tǒng),躍居全球第一。 2013年的第四季度,Android平臺(tái)手機(jī)的全球市場(chǎng)份額已經(jīng)達(dá)到78.1%。?[1]??2013年09月24日谷歌開發(fā)的操作系統(tǒng)Android在迎來(lái)了5歲生日,全世界采用這款系統(tǒng)的設(shè)備數(shù)量已經(jīng)達(dá)到10億臺(tái)。
Android一詞最早出現(xiàn)于法國(guó)作家利爾亞當(dāng)(Auguste Villiers de l'Isle-Adam)在1886年發(fā)表的科幻小說(shuō)《未來(lái)夏娃》(L'ève future)中。他將外表像人的機(jī)器起名為Android。
Android的Logo是由Ascender公司設(shè)計(jì)的,誕生于2010年,其設(shè)計(jì)靈感源于男女廁所門上的圖形符號(hào), [1]? 于是布洛克繪制了一個(gè)簡(jiǎn)單的機(jī)器人,它的軀干就像錫罐的形狀,頭上還有兩根天線,Android小機(jī)器人便誕生了。其中的文字使用了Ascender公司專門制作的稱之為“Droid ” 的字體。Android是一個(gè)全身綠色的機(jī)器人,綠色也是Android的標(biāo)志。顏色采用了PMS 376C和RGB中十六進(jìn)制的#A4C639來(lái)繪制,這是Android操作系統(tǒng)的品牌象徵。有時(shí)候,它們還會(huì)使用純文字的Logo。
一開始都會(huì)感覺到疑惑,網(wǎng)絡(luò)上,論壇上,甚至是書本上都講不清楚,不知道這是什么原因,我想人類的私心在里面會(huì)占據(jù)很大的因素。
不是每個(gè)人都愿意分享自己辛苦得來(lái)的經(jīng)驗(yàn)和心得。
android軟件,你可以這么看,它是用java語(yǔ)言+很多很多的現(xiàn)成的已經(jīng)被別人寫到的包組合成的。
其實(shí)它的本質(zhì)就是java,然后那些界面什么,其實(shí)核心就是一個(gè)叫做XML的東西。
這個(gè)XML其實(shí)也沒(méi)什么神秘,就是一個(gè)國(guó)際化的,標(biāo)準(zhǔn)的標(biāo)簽。
然后標(biāo)簽其實(shí)說(shuō)白了就是記號(hào),你在這個(gè)XML文件里面,按照谷歌給你定好的游戲規(guī)則,寫標(biāo)簽,然后這個(gè)標(biāo)簽會(huì)被自動(dòng)解析成相應(yīng)功能。
整個(gè)android界面其實(shí)就是一個(gè)XML文件,android表面上的東西幾乎都是XML文件組成的,剩下的核心程序邏輯,其實(shí)就是java程序。
再換句話說(shuō),你可以在java上把程序邏輯寫好,然后單獨(dú)寫個(gè)XML文件,然后合并起來(lái),就是android
能。
1、在百度上搜索AIDE程序并下載安裝好;
2、打開程序默認(rèn)進(jìn)入的JAVA源代碼編寫界面。系統(tǒng)自動(dòng)給出了一段JAVA “hello world”源代碼。點(diǎn)擊右上角的播放器按鈕即可編譯運(yùn)行。如果源代碼有誤編譯器會(huì)提示錯(cuò)誤地方,還是比較人性化的。成功編譯則可以看到屏幕上打印出“hello world”兩個(gè)單詞;
3、根據(jù)自己需要可以選擇編寫其他代碼就可以了;
以上是在手機(jī)上編寫代碼的步驟,感興趣的可以試試!