給菜鳥看的Android應用開發全流程

給菜鳥看的Android應用開發全流程——好多Android開發中,沒人告訴過你的事

很多菜鳥開始學習Android開發,去網上搜集過很多“Android開發教程”,但是搜索出來的東西,如果不是特別針對性的關鍵詞,基本上內容都是:環境配置-工具安裝-第一個Hello Android項目-項目結構、文件作用-佈局-控件-……等等涉及具體開發內容的文章,最後打包發佈了事;且不說這些文章又有一大半都是互相轉載來轉載去,單看內容,大部分都是講具體功能實現手段,或者某個API怎麼用,然而很多細節可能雖然確實很簡單,卻往往令菜鳥迷惑頭痛不已……唉,我當年不堪回首的歲月啊!雖然這些問題可能日後看來是小意思,但當初一個菜鳥可能根本不知道這個問題的存在,更不用說用什麼詞去搜索;所以雖然這些問題可能也是有專門文章講,但菜鳥們根本不知道這個關鍵字啊~~~~

本人靠着一本書+網上各種搜,現在總算能完成一個完整的Android開發流程。回頭看看,總結一下這些經驗,即給自己加深印象,也幫助後來的菜鳥,也是功德無量啊

話說本人半路出家,編程水平實在一般,所以此文重點在流程,至於技術細節和各種實現功能的技巧,還是專門搜索專業的文章吧,不過想必彼時已經能夠知道自己想要什麼了,那些問題也就不算個事了。

該流程基本是本人的經驗總結,未必是完全官方和教科書式的。不過雖然不一定是最好的解決辦法,但起碼都走得通,替後來人排除一些彎路。如果有幸被大牛看到此文,還請對不妥之處不吝賜教,哪怕路過留個名也好啊~

一、準備工作

1.技能儲備

         1)Java

    重要程度:★★★★★

    當然是掌握的越多越好,畢竟Android就是用Java語言來開發的。遇到很多沒有Java基礎的朋友問:要想直接學AndroidJava應該掌握到什麼程度?個人認爲,如果一個熟練的Java程序員技能算100分的話,掌握到40-50分,基本開發Android不會有語言上的太大障礙了。其實主要也就是Java的類、繼承、接口、IOXML解析等這些基本的操作掌握了也就可以開始用Android開發些簡單應用了。話說我一個朋友完全沒有Java基礎,直接上手開發Android,沒幾天也就能寫出個應用,雖然他是個C++C#高手……編程這玩意很多東西都是相通的,基本的搞明白了,再學學Java特有的也就算入門了。不過還是強烈建議——掌握的越多越好

不過也不用摸不着頭腦,太刻意去學,沒目標抱着本《Java編程思想》學也不見得有多大效果。自己動手做個Android小應用,遇到問題了回頭再針對性的去學Java。我這個半吊子也是這樣,開發Android時,經常碰到一些Java比較基礎的類的使用,但當時沒弄明白,所以需要回頭專門再看看。

2)XML

   重要程度:★★★★

          Android開發中很重要的一類文件,也是一種標記語言,與平臺和編程語言無關,所以一般用來保存和傳遞各種數據、參數。在Android中,很多配置信息、數據存儲,尤其是Android界面,要大量的和xml打交道。雖然很重要,但其實並不複雜,找些基本教程看看,明白xml結構和語法特點也就基本夠用了。(這裏順便強烈推薦新手一個入門網站:http://www.w3school.com.cn/,簡潔,全面,有力!沒有多餘的廢話,頁面乾淨無廣告!……最主要我覺得有一定的權威性,作爲XML等學習的入門網站和查詢工具很有用)

3)數據庫

   重要程度:★★★

         Android要保存數據,經常使用內置的SQLite數據庫,可以使用SQL查詢語言操作。所以如果有數據庫使用經驗,這個就簡單多了。如果沒接觸過,就瞭解一些基本的SQL語句:增加、刪除、修改、查詢。

4)Dos

   重要程度:★★

   這個,貌似也談不上掌握了,會操作就行了,因爲之前碰到幾個哥們,確實連cddir等一點dos操作都不會用,這就稍微麻煩點了,因爲無論一開始配置java,還是最後生成簽名,當然還有很多場合會需要在Dos環境操作,雖然可能有部分操作已經有圖像界面替代了,但還是稍微看看吧,起碼很酷麼~~

5)Linux

   重要程度:★

   好像不應該是“重要程度”,應該是會使用程度吧。Android本身是基於Linux內核開發,說不重要可能會被拍唉。

主要就是會一些基本的linux命令,su,sh,cd什麼的,後期調試Android程序可能會用到,比如查看SQLite數據。也不用特意去學,需要的時候網上現找找,多用幾次也就記住了。

2.工具準備

     1)Eclipse

  最強大的Java開發工具,安裝Android開發插件後可以方便快速的開發和調試Android程序。

2)Android SDK

       Android開發工具包,包括核心APIAVDAndroid虛擬設備)等,可以到Android官網下載。具體安裝配置就不多寫了,網上很多,我再引用這文章寫成書了……

   參考:http://android.tgbus.com/Android/tutorial/200812/171154.shtml

3)Java SDK

         Java工具包,包括JDKJRE,可到Java官網下載。

   安裝,配置環境變量。

   參考:http://blog.csdn.net/huanghm88/article/details/3965218(很全,一般到path和classpath設置完就ok了)

4)其他

         FireWorks:用於編輯png圖片,Android中主要的圖片格式。純粹個人喜好,有其他圖片編輯工具也行。

3.文檔資料

        1)一本紙質書

   最好有本入門的紙質書,畢竟寫的質量比較好的書能夠儘量全部的涵蓋Android開發各個方面,對新手很有幫助。

   說下我當時看的吧:《深入淺出Google Android》,人民郵電出版的,不過很老了,09年的,還是基於Android API1.5。

2)API文檔

         Java APIAndroid API,重要的查詢手冊。不能上傳附件,這個搜一下吧,很多。

二、開發

1.建立項目

   在Eclipse中新建一個Android項目,基本流程是:新建項目,選擇Android Project,然後輸入package名、應用名和Activity名,選擇Android Api版本。

   菜鳥提示package,包名,一般的命名規則是儘量獨一無二,方便區分和管理,所以一般比較規範的命名都是公司域名的倒寫,比如google的包,google域名是google.com,所以包名是:com.google.*

2.基本開發流程

 1)構思佈局,用xml構建基本的佈局和控件

2)java程序,實體化xml的佈局、控件、實現業務邏輯。

     菜鳥提示:很多控件既可以在xml文件中設定各種屬性,也可以在java文件中設定屬性;通常如果需要動態的改變某些屬性,比如setText(),則需要在java中實現,這也是非常常用的,比如按下按鍵,按鍵顏色變深等等。

3)運行,調試程序:即可以使用Android模擬器調試,也可以通過數據線,直接接手機調試。提示:如果是用模擬器調試,調試後需要修改程序再次調試時,不需要關閉模擬器,直接再次運行就可以。

4)美化、找圖片:菜鳥提示Android標準圖標根據手機分辨率不同,分別有36*36/48*48/72*72這三種尺寸,你會看到drawable-hdpi/drawable-ldpi/drawable-mdpi不同的目錄用來存儲不同尺寸的圖標,在AndroidManifest.xml中只需要寫@drawable/icon就可以,它會根據屏幕分辨率去找不同目錄下的圖標。(參考:http://zl4393753.iteye.com/blog/1056785

 5)關於應用中的文字等引用資源:重點說說文字吧,應用中比如菜單名字,標題等,既可以直接寫在java文件中,也可先寫在res/values/strings.xml文件裏。不過呢,還是強烈建議,儘量都寫在strings.xml文件裏,這樣以後要修改文字,直接改這個文件就行,否則在java程序裏找可費了大勁了,尤其是要開發多語言版本的話,所有文字全部要改成外語,當然還是在strings.xml裏寫方便的多。養成個好習慣,不要嫌麻煩,Android系統裏專門弄這麼個文件是有道理的。

        6)最後,切記切記,修改AndroidManifest.xml文件,修改版本信息,加上需要的各種權限,如發送短信,訪問網絡等等,否則程序發佈了,很多相關功能沒法用。

三、打包發佈

     每次發佈前都是最激動人心的時刻啊~然而這部分網上很少有專門講的(也許我手拙沒找到),針對這部分我還專門到開發論壇發佈了很多帖子提問,時至今日,除了同樣困擾的菜鳥幫頂,無人回答……鄙視一下。也正因如此,動了寫這篇文章的念頭,Android開發,很多東西簡單,但是從沒有人和你說過~

1.加入廣告

我們很多開發的應用,最終目的是發佈到網上給大家用,如果順便能有收入也是我們的一項勞動成果,雖然很多很慘淡(又是我不堪回首的過去啊)。

1)選擇廣告平臺:常用的有GoogleAdMob,國內的有:有米,微雲等等,至於說哪個效果最好,衆說紛紜,最好還是自己親自試試。還有一種平臺是各種廣告平臺的集成,能根據使用者優化,動態選擇。但因爲某些電子市場不允許這個,我就沒用,也就暫時不點名了,想試試的,百度……(我沒說是第一個哈~)。

不過呢,最好固定一兩個效果比較好的,因爲很多平臺要提款的話,必須達到一定額度,而且太分散的話,自己添加着也挺麻煩的。當然,如果這個平臺效果公認的已經落後了,還是要毅然換平臺的,畢竟不同的廣告聯盟廣告主資源水平還是有差距。

 2)普遍有一個說法,如果是針對國外的應用,最好還是GoogleAdmob,針對英文環境能夠提供的廣告數量也多。不過本人沒用過,不多說了。至於爲什麼沒用,見下文。

3)進入正題,如何給程序加入廣告呢?通常步驟是:下載該平臺的sdk包,把jar加入到你項目的buildpath,然後在主程序里加上調用廣告的程序,再在界面中設置展示廣告的位置,最後修改AndroidManifest.xml文件,加入廣告涉及的程序、權限等。然後,歐了!

     具體詳細的安裝方法,看廣告平臺提供的說明文檔就行了,放心,一定會非常詳細,一步一步教你,因爲他們比你更希望你的應用中展示他們的廣告。

2.添加最終用戶許可協議

類似License授權使用之類的,可能你已經在某些程序中見過,第一次啓動,顯示的那一大篇文字,卻幾乎不看,直接點“Accept”……具體添加步驟……網上還真沒有幾個講這玩意的,要不說很多東西沒人告訴你呢。我還是從書上看來的,好幾頁,也懶得抄了。話說,其實這東西主要就是保護你的知識產權的,也不知道是咱們缺少這意識,還是太簡單沒人寫。

      找了半天找到個老外寫的:http://bees4honey.com/blog/tutorial/adding-eula-to-android-app/,差不多就是這個步驟。我也只用過一次,是在給摩托羅拉電子市場提交應用時,人家明確要求要有這個東西。到時候需要的話就參考一下,不想弄這個呢,也完全不影響你程序的正常使用。

3.數字簽名:你開發的Android應用必須有簽名才能安裝。之前調試的時候,是Android SDK自動用默認的簽名調試,發佈的時候必須要重新生成一個簽名;另外,同一個應用的不同版本,要使用同一個簽名,這樣安裝程序的時候,纔會自動升級,新版本代替舊版本。否則,不同的簽名系統會認爲是不同的應用,而且包名(之前的package)必須不一樣。具體簽名過程,參考這裏:http://www.cnblogs.com/feisky/archive/2010/01/17/1650076.html

還有這裏:

http://lufengdie.iteye.com/blog/814660

其實這裏連帶打包都包括了。

4.打包爲可安裝的apk文件Eclipse,右擊需要簽名的工程-->android tools-->export signed application package...
出現對話框,選擇需要簽名的工程;next,選擇上面生成的android.keystore文件位置和設置的密碼next
next,選擇簽名生成文件的位置和名稱
finish,搞定啦...

5.發佈你的應用程序

1)首先,如果應用中有廣告,應先上傳到對應廣告平臺。審覈通過後,你的廣告才真正啓用。

2)發佈到其他電子市場。這一步其實可以和上一步同時進行。但一般爲了防止你沒測試到的錯誤或者其他原因,廣告平臺審覈未通過,還需要再次修改,而且一般的廣告平臺1~2個工作日就可以審覈完成,稍微等一下不誤事。

    廣告審覈通過後,就可以發佈到各大電子市場啦!

    以安卓市場爲例,先要到這裏註冊開發者身份,然後提交你的應用,當然一般還要提交應用截圖等信息,截圖可以在模擬器上用電腦截圖,也可以在手機上用截圖軟件截圖(推薦個截圖軟件:ScreenCapture,http://bbs.hiapk.com/thread-737845-1-1.html下載)。

    上傳完,填好信息,就等着審覈吧。審覈通過了,正式上線,然後你就可以在安卓電子市場搜索到你的應用了~

其他的電子市場類似,我常用的有:

http://www.eoemarket.com

http://www.goapk.com

http://www.hiapk.com

     其他還有好多,木螞蟻,愛米,機鋒網等等。另外中國移動MM市場不允許廣告,要注意一下。其他電信、聯通也有自己的應用市場。

     當然,還有個最重要的GoogleAndroid Market,這個電子市場可是全球銷售啊~不過因爲你懂的原因,沒有直接的中國大陸地區註冊。要註冊這裏的開發者,必有有個支持美元的信用卡,而且需要25美元/每年(好像是)的註冊費,註冊地中國地區最近的只有香港,而且貌似有點麻煩,所以我也沒去註冊,有興趣的試試。

     其實直接把apk文件複製給別人就可以用了,只不過電子市場終究是傳播最快的一種途徑。如果有自己的博客、微博等等,也可以發個鏈接推廣。

P.S.:多去論壇看看,多提問,還是會有很多同好回覆的~多試驗。再推薦兩個常用網站:

http://stackoverflow.com/questions 一個老外的編程論壇,繼承了老外事無鉅細、不厭其煩解答的風格,基本你能想到的問題大部分都有

http://findicons.com/ 很棒的圖標搜索網站,美化必備。

嗯,差不多就這些吧,the END. Happy Androiding~


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章