宅社V0,附帶學習經驗
專案環境
- Android Studio 3.0
- Gradle 4.1
- Kotlin 1.2.21
- compileSdkVersion 26
專案結構
AcgClub
- app 宿主app
- common 基礎庫
- common-res 公用資源
- component-acgcomic 漫畫元件
- src/main
- runalone 元件獨立執行時生效
- component-acgnews 資訊元件
- component-acgschedule 番劇元件
- router 路由配置及相關服務實現
- third-party-libs 三方庫存放
- base_component.gradle 元件依賴配置
- base_component_compiler.gradle java註解處理配置
- base_component_kapt.gradle kotlin註解處理配置
- config.gradle 專案資訊配置
新增元件
-
元件名固定字首為“component-”
- 元件內build.gradle需進行如下配置:
//必備
apply from:"../base_component.gradle"
//使用java
apply from:"../base_component_compiler.gradle"
//或kotlin
apply from:"../base_component_kapt.gradle"
//如果用到資料庫
apply plugin: 'realm-android'
-
元件內res檔案將以元件真名為字首進行約束(例如:component-acgnews,一個佈局檔名則需要以此打頭:acgnews_layout.xml)
- 元件獨立執行時還需要注意提供相關的application,入口activity,AndroidManifest.xml等
專案配置
config.gradle中進行專案專案的屬性配置,例如:包名、版本號、編譯版本...
其中:
//在該屬性中填寫需要合併到主程式執行的元件,沒有填寫的元件將獨立執行
merge = [
"acgnews",
"acgschedule"
//"acgcomic"
]
merge屬性修改完畢後,需要重新構建專案
其他
- 專案中提示缺失DaggerXXX時,通過完成編譯將有Dagger2自動生成
- 在本地的local.properties按自己所需進行一些三方庫的key、簽名的配置,不需要的可以自行去掉
#阿里雲使用者反饋
fbAppKey=""
fbAppSecret=""
#友盟
umengAppKey=""
#bugly
buglyAppId=""
#簽名信息
storeFile=
storePassword=
keyAlias=
keyPassword=
#友盟分享key
SINA_WEIBO_KEY=""
SINA_WEIBO_SECRET=""
QQ_ZONE_ID=""
QQ_ZONE_KEY=""
WEIXIN_ID=""
WEIXIN_KEY=""
- 為了確保bugly熱更新能生效,請每次打出正式包的時候,確認app目錄下tinker-support.gradle檔案中的tinkerId的唯一性
聯絡
專案需要完善的地方還有很多,如有BUG或者更好的建議歡迎提出,如果對你有幫助請隨手star一個,你的支援是我前進的動力!!!
- [issue]( )
- mail: [email protected] 或 [email protected]
- blog:[rabtman.com/]( )
鳴謝
RxJava RxAndroid Dagger2 RxPermissions RxCache Retrofit Okhttp Gson Butterknife Glide LeakCanary Realm MVPArms Jsoup Jsoup-Annotations Fragmentation BlockCanary ARouter DialogUtil Toasty BaseRecyclerViewAdapterHelper HtmlTextView MZBannerView
總結
Android架構學習進階是一條漫長而艱苦的道路,不能靠一時激情,更不是熬幾天幾夜就能學好的,必須養成平時努力學習的習慣。 所以:貴在堅持!
上面分享的位元組跳動公司2020年的面試真題解析大全,筆者還把一線網際網路企業主流面試技術要點整理成了影片和PDF(
《Android學習筆記總結+最新移動架構影片+大廠安卓面試真題+專案實戰原始碼講義》
【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整資料開源分享
實際上比預期多花了不少精力),包含知識脈絡 + 諸多細節。
就先寫到這,碼字不易,寫的很片面不好之處敬請指出,如果覺得有參考價值的朋友也可以關注一下我
①「Android面試真題解析大全」PDF完整高清版+②「Android面試知識體系」學習思維導圖壓縮包閱讀下載,最後覺得有幫助、有需要的朋友可以點個贊
- 35歲危機?內捲成程式設計師代名詞了…
- 線上文字實體抽取能力,助力應用解析海量文字資料
- 不買排名,不去SEO,如何做到登上谷歌搜尋首頁?
- HtmlParse:一款超輕量級的HTML檔案解析和爬取工具
- 五款當下超火熱的相親交友APP測評
- 盡一份孝心,為家人做一個老人防摔報警系統
- 作為軟體工程師,給年輕時的自己的建議(下)
- 技術分享| 淺談排程平臺設計
- 組態介面推陳出新:打造新一代再生水廠工藝二維組態系統
- 平頭哥 芯事訪談 | 全志科技CTO丁然:影片、AI市場爆發,RISC-V生態需要產業一起努力
- IDEA SSM Maven實現商品管理系統(超詳細SSM整合專案)
- 如何為迴歸測試選擇測試用例?
- 前端必學——函數語言程式設計(五)
- 40篇學完C語言——(第八篇)【指標陣列以及指向指標的指標】
- 焱融看|非結構化資料場景下,資料湖到底有多香?
- 低程式碼開發的未來~
- Docker容器:將帶UI的程式直接轉為Web應用,so easy
- PHP 基於 SW-X 框架,搭建WebSocket伺服器(二)
- 低程式碼開發的前後端聯調——APICloud Studio 3 API管理工具結合資料雲3.0使用教程
- 揭祕華為雲GaussDB(for Influx)最佳實踐:hint查詢