開(kāi)發(fā)第一個(gè)Android應(yīng)用前你必須知道的5件事
我最近剛剛閱讀了Praneeth VT發(fā)表在 Reddit 上的一個(gè)帖子,是關(guān)于他如何開(kāi)發(fā)自己第一款A(yù)ndroid手機(jī)應(yīng)用——一個(gè)GPA計(jì)算器的。可以看出來(lái)他在這個(gè)編程世界還是新手,所以我想深入探討一下他是如何做到的,以便于大家學(xué)習(xí)和借鑒。
在此之前,我想先介紹一下Praneeth VT。
畢業(yè)于計(jì)算機(jī)工程專(zhuān)業(yè)實(shí)際上,他才總共學(xué)了為期6個(gè)月的編程課在上了兩門(mén)CS課程導(dǎo)論之后,他又學(xué)了Java語(yǔ)言暑假期間,他決定學(xué)以致用,自己開(kāi)發(fā)一個(gè)Android應(yīng)用我和Praneeth VT進(jìn)行了一次關(guān)于如何在Android應(yīng)用這一領(lǐng)域起航的談話(huà),下面我整理了這次談話(huà)的內(nèi)容(問(wèn)題為粗斜體)。
最后我總結(jié)了5個(gè)對(duì)于新手而言,極其重要的基礎(chǔ)技能。
你能否詳細(xì)講述一下,在開(kāi)發(fā)Android應(yīng)用過(guò)程中每一階段要用到的技能和編程語(yǔ)言?建立一個(gè)Android應(yīng)用程序可以歸結(jié)為兩個(gè)主要技能/語(yǔ)言:Java和Android系統(tǒng)。Java是Android的通用編程語(yǔ)言,但是Android還包括學(xué)習(xí)用于app界面設(shè)計(jì)的XML語(yǔ)言,學(xué)習(xí)Android概念,以及從Java編程角度運(yùn)用這些概念。
學(xué)了Java和XML之后,再用Android理念將兩者連接起來(lái)。
我在Reddit也有分享過(guò)一些學(xué)習(xí)Activities和 Fragments等的Android相關(guān)知識(shí)。我最喜歡的是《Big Nerd Ranch》系列書(shū)籍,因?yàn)楫?dāng)我們?cè)陂_(kāi)發(fā)過(guò)程中碰到問(wèn)題,都能在書(shū)中受到啟發(fā),找到答案。
如果一個(gè)初學(xué)者想開(kāi)發(fā)Android應(yīng)用,要先學(xué)什么,你有什么建議嗎?對(duì)于一個(gè)初學(xué)者,我的建議是一定要學(xué)Java。別想什么捷徑,Java是必須的。
另外,我推薦YouTube上的視頻教程來(lái)學(xué)習(xí)如何安裝Eclipse(用于Java開(kāi)發(fā)的集成開(kāi)發(fā)環(huán)境)和Java開(kāi)發(fā)工具包(JDK)的基本方法。這也有助于理解Java開(kāi)發(fā)的基本方法,例如循環(huán)語(yǔ)句和if語(yǔ)句。
不過(guò)在打好了這些基礎(chǔ)之后,我強(qiáng)烈建議各位可以將YouTube視頻教程拋棄了,轉(zhuǎn)而投向書(shū)籍和系列講座的懷抱。YouTube的教程往往并不會(huì)著重講述某些很重要的概念,而這些概念我覺(jué)得對(duì)于我們想要開(kāi)發(fā)Android應(yīng)用的程序員來(lái)說(shuō),其重要性是100%的。
Eclipse和Android Studio究竟是什么?開(kāi)發(fā)Android應(yīng)用是不是非它們不可?Android Studio和Eclipse是一種集成開(kāi)發(fā)環(huán)境,即IDE(Integrated Development Environments)。當(dāng)然你也可以選用其他工具來(lái)編寫(xiě)Java,不過(guò)因?yàn)槲覀€(gè)人不太熟悉那些,所以也不好隨口推薦。
不像其他應(yīng)用程序,除了需要寫(xiě)代碼進(jìn)行編譯,還要寫(xiě)運(yùn)行代碼,在IDE中編譯只需點(diǎn)擊一個(gè)按鈕即可運(yùn)行代碼。不過(guò)得在Eclipse里安裝Android SDK,而且所有的安裝進(jìn)程都能在專(zhuān)門(mén)的Android開(kāi)發(fā)網(wǎng)站上找到。
你每天/每周花多少時(shí)間編程?我?guī)缀跤昧苏麅蓚€(gè)月的時(shí)間廢寢忘食地才完成了我的第一個(gè)app。
一開(kāi)始的時(shí)候,每天差不多要花4個(gè)多小時(shí)去看《Big Nerd Ranch》,然后根據(jù)教程練習(xí)。當(dāng)我真正開(kāi)始寫(xiě)程序的時(shí)候,哪怕是解決一個(gè)很小的問(wèn)題,比如儲(chǔ)存數(shù)據(jù),我都得用不少時(shí)間才能充分理解。
不過(guò)我的時(shí)間很多,因?yàn)槟菚r(shí)我正在放暑假,而且沒(méi)別的事情做。
如果不得不尋求幫助和咨詢(xún)問(wèn)題,你會(huì)怎么做?通常情況下我會(huì)用Google搜索。不過(guò)因?yàn)槲疫€是新手,這得花我很多時(shí)間。最優(yōu)選擇是去 Stack Overflow。如果Stack Overflow仍然沒(méi)能給出頭緒,我會(huì)在reddit上的/r/androiddev Subreddit 上面發(fā)帖子,社區(qū)成員通常非常熱心。
非常感謝PraneethVT能在關(guān)于建立第一個(gè)Android應(yīng)用的問(wèn)題上面,給出了他獨(dú)特的見(jiàn)解。下面我總結(jié)一下,
在開(kāi)發(fā)第一個(gè)Android應(yīng)用之前需要知道的5件事:
Java語(yǔ)言是必備技能。Android系統(tǒng)里面的app設(shè)計(jì)需要涉及XML,請(qǐng)了解Android的概念和編程方式。建議初學(xué)者使用IDE(相比Eclipse ,PraneethVT更喜歡 Android Studio)。這是一個(gè)漫長(zhǎng)的過(guò)程,需要不斷堅(jiān)持,如果你只是為了敷衍,那么此文不適合你。陷入困境的時(shí)候,可以向Stack Overflow求助。還是不行,那么試試Android Subreddit社區(qū)。你有什么要補(bǔ)充的嗎?歡迎點(diǎn)評(píng),與君共勉。
原文:learntocodewith.me 翻譯:codeceo – 小峰
相關(guān)文章:
1. python中scrapy處理項(xiàng)目數(shù)據(jù)的實(shí)例分析2. js抽獎(jiǎng)轉(zhuǎn)盤(pán)實(shí)現(xiàn)方法分析3. IntelliJ IDEA導(dǎo)入jar包的方法4. Python requests庫(kù)參數(shù)提交的注意事項(xiàng)總結(jié)5. 教你在 IntelliJ IDEA 中使用 VIM插件的詳細(xì)教程6. SpringBoot參數(shù)校驗(yàn)與國(guó)際化使用教程7. iOS實(shí)現(xiàn)點(diǎn)贊動(dòng)畫(huà)特效8. python操作mysql、excel、pdf的示例9. 通過(guò)Python pyecharts輸出保存圖片代碼實(shí)例10. vue-electron中修改表格內(nèi)容并修改樣式
