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