《Android框架搭建》-1前期準備
先扯兩句##
之前聽說在簡書上發(fā)文章可以賺錢,結果后來忙著花錢,忘了這事了,現(xiàn)在錢花光了,忽然又想起來了。
當然,還是要官方一點說,自己能發(fā)些東西出來,或許可以幫到哪些人,這才是我努力奮斗的精神源泉!!!
老頭子我(半壽翁嘛,感覺這個自稱挺好玩的)到現(xiàn)在也就參與過三個項目,流量也不是很大,所以也沒太多特別能炫技的東西,只是總結了一下自己開發(fā)過程中用到過的東西,或者一些將來會有用的點。
那么閑言少敘,這就開始。
前面想說這就開始擼代碼了,不過前期準備,目測也敲不到多少代碼,就還是“開始”吧。
前期準備的前期準備
既然是從零開始,那么我們從物種的起源講起吧!在很久很久以前……
好了,不扯淡了。由于老頭子我太懶了,所以不講故事的同時,一些as的安裝配置之類的也就都省略掉了,如果你真的搞不定的話,歡迎自行百度,如果實在懶的話……
好吧,你贏了,誰讓是我在寫博客呢!
- jdk下載點這里
- jdk安裝點這里
- android studio下載點這里
- android studio安裝點這里
- android studio創(chuàng)建項目點這里
- 有什么不懂的點這里,自行百度
上面這些呢,都是一些基礎的部分也就一筆帶過了,下面的呢,我也是才學的,所以也就只能一筆帶過了。。。
公司為了項目組共同弄開發(fā)項目,因此版本控制是必不可少的一個環(huán)節(jié),而我之前的公司很郁悶的都是使用的SVN,但是其他角度聽到的聲音都是現(xiàn)在應該是git的天下,于是就果斷查了一下,不過很郁悶的是,私人的git是收費的,所以只能選擇我開源中國的碼云了。當然,就我當前的level還看不出來git與碼云誰更有優(yōu)勢,所以具體如何就靠大家去分辨了,不過個人使用,碼云還是可以的。
感謝pyfysf的帖子幫了我個大忙,如果想了解的,可以去他的博客中看看對應的部分,下面是鏈接
http://blog.csdn.net/pyfysf/article/details/72598518
目錄結構
當然,我這里說的目錄結構單純的是指java代碼部分的目錄結構,項目工程的目錄結構各種教學視頻中應該有介紹,如果沒有的話點這里。
插曲過了說正事,先上圖。
(白色背景的主題放上來,確實看著別扭點哈。。。)
-
apimanager
存放api的部分,老頭子多是拿來存放一些網絡接口,例如登錄、注冊等,網上查到的,還可以存放一些接口,不過個人很少使用。 -
base
這個包原本也是應該放置在ui包里的,或者很多工程中不會單獨拿出來創(chuàng)建一個包,主要是用于存放一些基類,方便對整個項目進行統(tǒng)一管理。 -
bean
這個包存放的就是MVC框架中所說的M-model,不過對于這部分,我接觸的項目中有兩種命名方法,一個是pojo、另一個就是當前使用的bean(也就是javabean),也查了一下兩者之間的區(qū)別,發(fā)現(xiàn)果斷沒看懂,最后在鄭文亮轉載的一篇博客里看到這么一句話——“簡而言之,當一個Pojo可序列化,有一個無參的構造函數(shù),使用getter和setter方法來訪問屬性時,他就是一個JavaBean”。就決定使用bean這個名字了,對于這部分,哪位大神有更深入的理解,可以指點一下小弟,小弟不勝感激。 -
db
數(shù)據(jù)庫包,用于創(chuàng)建數(shù)據(jù)庫并提供增、刪、改、查的對應接口 -
event
這個包,我之前的命名是receiver,只不過開發(fā)過程中,使用Broadcast Receiver的地方正在逐漸被EventBus所取代,當然這不是說Broadcast Receiver作為四大組件之一的地位將被撼動,只是在簡單交互的時候的一種優(yōu)化。這部分具體的可以看看crazy_yyyyy的博客,介紹的還是比較中肯的,至少我是收獲不少。 -
service
這個部分自然放的就是service了,暫時項目中使用到service也就是保活、發(fā)送通知以及音樂播放比較多。另外就是我比較偷懶,把UncaughtExceptionHandler做錯誤日志處理的部分也放到了這個包內。 -
ui
這部分是放置的與ui相關的部分,暫時只想到activity、fragment、adapter三部分,各自存放什么內容就不需要說明了吧,再多的內容,在后續(xù)可能會添加。 -
utils
工具包,存放各種工具,暫時也為空,待后續(xù)隨著功能增加,對應添加相應的工具類,這個部分看的就是個人的積累了,也是為數(shù)不多我們可以優(yōu)化的點。所以沒事可以多查查搜集一下,以備不時之需。 -
widget
自定義控件包,這個包中內容的多少,完全看你與產品和UI交鋒的結果了,雖然嘴上我經常取得勝利,可是經常因為UI一句這么設計好看,不得不含淚的在widget包中多創(chuàng)建幾個布局。 -
wxapi
這個包是最最讓我無語的包,也是最躲不開的一個包,里面存放的都是微信相關的類,不要問我為什么非要單獨建個包,打死我也不會說換個包名就無法吊起這些類的,百度一下WXEntryActivity就知道有多坑爹了,沒辦法,我們這小胳膊拗不過人家大粗腿,忍了吧! -
app
app類,自定義的一個類名,你也可以取其他名字,這都不重要,需要做的處理就是繼承application,就我現(xiàn)在的經驗而言,其內進行的操作主要是一些第三方SDK的初始化操作,或者是你自身應用需要進行的初始化操作。
以上部分結束,也就算是完成了一個android工程創(chuàng)建的前期準備操作,雖然正式的準備工作,老頭子我的工作基本也就是給個鏈接,下面目錄的部分,大家有興趣看看,沒興趣也沒所謂,隨著后面的內容展開,運用到時,自然也就理解了。
一個小技巧
有經驗的這段可以略過,不過對于新手而言,可以看看,或許有用。在之前創(chuàng)建目錄的時候,出現(xiàn)了圖中所示的情況
我的本意是要在mybaseapplication(名真長,如果不是我寫的,估計也不知道什么意思。。。)下創(chuàng)建一系列包,可是創(chuàng)建了activity后,將MainActivity拖進去之后,就變成了如上的效果,這個時候直接右擊new一個包出來,則是創(chuàng)建在了activity包下,要個兒子,結果成孫子了,這家得亂成什么樣。
遇到這種情況,比較無腦的解決方法就是,打開文件所在位置,找到mybaseapplication包,在里面創(chuàng)建其他想要創(chuàng)建的包(也就是新建文件夾),在回到android studio中就可以了。
當然,這種方法說起來都費盡,就更別說用了,所以大家可以試試下面這種方法。
第一步打開設置菜單,第二步將Compact Empty Middle Packages前面的對號去掉,你就會發(fā)現(xiàn)自己的目錄發(fā)生了神奇的變化
這樣再創(chuàng)建包想必就容易了吧。不過,在創(chuàng)建結束后,希望大家還是重新打開設置,見對號再勾選上,這樣目錄結構看起來會規(guī)整很多。
ps:博客新手,以上的東西不過是一家淺顯之談(雖然也沒談什么),歡迎大家多多指點批評,我會虛心努力的(沒找到怎么引入表情包,所以大家就當括號內的這段話是“微笑”吧)