App里如何獲取gradle里的配置信息?

在Android開發(fā)中我們一般需要在app里獲取gradle里的配置信息:

1.在程序里使用gradle里的配置項,

2.在resouce里使用gradle里的配置項?

方法一:

一,為什么使用gradle.properties栈虚?

1袖外,對于項目而言,有時候需要配置某些敏感信息魂务。比如密碼曼验,帳號等。而這些信息需要被很多類共同使用粘姜,所以必須有一個全局的配置

2鬓照,當(dāng)需要把項目push到git上時,我們不希望別人看到我們項目的key孤紧,token等豺裆。我們可以將這些信息設(shè)置在gradle.properties中。(這一點后續(xù)需要詳解)

二号显,如何使用gradle.properties?

1臭猜,在gradle.properties文件中進行變量初始化。

2押蚤,在build.gradle(module app)中進行變量的重定義蔑歌,即將配置內(nèi)容轉(zhuǎn)化成java能夠使用的形式

其中,buildConfigField定義的方式是

buildConfigField 類型揽碘,變量名次屠,值

resValue定義的方式是

resValue XML中的類型,變量名雳刺,值

3劫灶,在java中使用。

使用BuildConfig可以直接讀取配置信息

注:在項目中直接使用“BuildConfig.APPNAME”,是因為系統(tǒng)根據(jù)build.gradle文件自動生成了BuildConfig類掖桦,該類里是一些配置常量:

4浑此,在布局文件中使用

通過build.gradle中的配置,可以直接使用@string 訪問

方法二:(不常用滞详,推薦使用方法一)

項目中有登錄頁面凛俱,但平時調(diào)試的時候每次都輸入用戶名密碼來登錄太麻煩,寫成固定值發(fā)布的時候又要重新替換和注釋料饥。所以就想從不同版本獲得信息然后代碼中控制蒲犬。

在Android項目文件中的build.gradle中,在android標簽下的defaultConfig標簽下岸啡,可以添加manifestPlaceholders原叮,里面可以存一些app的配置信息值,比如是否是發(fā)布版本。如下圖:

這樣平時編譯調(diào)試的時候使用的是debug版本默認的false奋隶,發(fā)布的時候使用的是release版本為true擂送,即只需要在代碼中獲取這個isRelease值就可控制登錄時候是否填寫用戶名密碼或者直接賦值固定值。

那怎么獲取build.gradle文件中的值呢唯欣,整個app項目中有個配置文件AndroidManifest.xml嘹吨,在application標簽下,可新寫meta-data標簽境氢,其中的value值用${value}來表示蟀拷,花括號中的value為gradle文件中的變量名。如下圖:

然后代碼中就可以寫個工具類來獲取manifest文件的meta-data的值萍聊。

代碼:


代碼中再根據(jù)返回的值進行判斷和控制即可问芬。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市寿桨,隨后出現(xiàn)的幾起案子此衅,更是在濱河造成了極大的恐慌,老刑警劉巖亭螟,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件炕柔,死亡現(xiàn)場離奇詭異,居然都是意外死亡媒佣,警方通過查閱死者的電腦和手機匕累,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來默伍,“玉大人欢嘿,你說我怎么就攤上這事∫埠” “怎么了炼蹦?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長狸剃。 經(jīng)常有香客問我掐隐,道長,這世上最難降的妖魔是什么钞馁? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任虑省,我火速辦了婚禮,結(jié)果婚禮上僧凰,老公的妹妹穿的比我還像新娘探颈。我一直安慰自己,他們只是感情好训措,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布伪节。 她就那樣靜靜地躺著光羞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪怀大。 梳的紋絲不亂的頭發(fā)上纱兑,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機與錄音化借,去河邊找鬼潜慎。 笑死,一個胖子當(dāng)著我的面吹牛屏鳍,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播局服,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼钓瞭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了淫奔?” 一聲冷哼從身側(cè)響起山涡,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎唆迁,沒想到半個月后鸭丛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡唐责,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年鳞溉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鼠哥。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡熟菲,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出朴恳,到底是詐尸還是另有隱情抄罕,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布于颖,位于F島的核電站呆贿,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏森渐。R本人自食惡果不足惜做入,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望同衣。 院中可真熱鬧母蛛,春花似錦、人聲如沸乳怎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至秫逝,卻和暖如春恕出,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背违帆。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工浙巫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人刷后。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓的畴,卻偏偏與公主長得像,于是被迫代替她去往敵國和親尝胆。 傳聞我的和親對象是個殘疾皇子丧裁,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)含衔,斷路器煎娇,智...
    卡卡羅2017閱讀 134,693評論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,838評論 6 342
  • Gradle對于很多開發(fā)者來說有一種既熟悉又陌生的感覺,他是離我們那么近贪染,以至于我每天做項目都需要他缓呛,但是他又是離...
    阿_希爸閱讀 9,582評論 10 199
  • 說明 本文主要介紹和Gradle關(guān)系密切、相對不容易理解的配置杭隙,偏重概念介紹哟绊。部分內(nèi)容是Android特有的(例如...
    jzj1993閱讀 15,646評論 1 62
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,262評論 25 707