Android使用Properties保存易變常量

功能目的

將app需要將代碼中經(jīng)常改動的常量,以Properties的方式放到assets目錄下,在修改常量時(shí),將不需要改動代碼,直接修改配置Properties文件即可.

實(shí)現(xiàn)過程

1) 在項(xiàng)目的app/src/main/下如圖創(chuàng)建assets目錄
image.png

2)創(chuàng)建properties文件

在創(chuàng)建好的assets目錄下創(chuàng)建我們需要的properties文件
例子中properties中名字:my.properties

3)properties書寫規(guī)范

my.properties中內(nèi)容為我們需要保存的會經(jīng)常變動的常量,以Key=Value的形式書寫,多常量,以換行分隔,如圖:
image.png

4)獲取properties文件的Java代碼

Properties properties = new Properties();
try {
      properties.load(getAssets().open("my.properties"));
      Log.e("mengqi","hello:" + properties.getProperty("hello"));
      Log.e("mengqi","hi   :" + properties.getProperty("hi"));
} catch (IOException e) {
      e.printStackTrace();
}

其中Properties為java.util包下的系統(tǒng)類,可以直接使用,調(diào)用load接口,使用InputStream作為參數(shù),
參數(shù)為從assets目錄下讀取文件(過程是獲取AssetManager實(shí)例load進(jìn)my.properties文件,獲取InputStream),獲取InputStream對象,
執(zhí)行完畢,Properties實(shí)例加載成功.通過實(shí)例方法getProperty(key),獲取key對應(yīng)的value值.

如此這般,通過將經(jīng)常變動的常量寫入Properties后,再通過Java代碼獲取的整體的流程執(zhí)行完畢了

下面看下執(zhí)行結(jié)果

image.png

發(fā)現(xiàn)問題
在Properties中出現(xiàn)的中文,獲取后為亂碼,首先償試有沒有替換getProerty(key)接口的其它接口,發(fā)現(xiàn)沒有,創(chuàng)建Properties實(shí)例的構(gòu)造方法有沒有,也沒有發(fā)現(xiàn)與編碼相關(guān)的構(gòu)造方法.最后還是google/百度,找到了解決變法.將下圖中的transparent native-to-ascii conversion勾選(大致意思是透明的(對開發(fā)者而言吧)將本地編碼轉(zhuǎn)換成ascii碼)

image.png

再次執(zhí)行,查看結(jié)果如下

image.png

總結(jié)

這只是一種方式將經(jīng)常變動的常量從代碼中提取出來的方式,還有其它方法實(shí)現(xiàn),感覺還算是簡單.過程相對簡單,注意下value為中文的情況,使用起來,還是很方便的

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末兼搏,一起剝皮案震驚了整個濱河市商虐,隨后出現(xiàn)的幾起案子种玛,更是在濱河造成了極大的恐慌,老刑警劉巖耗式,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡典唇,警方通過查閱死者的電腦和手機(jī)馋吗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門焕盟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人宏粤,你說我怎么就攤上這事脚翘。” “怎么了商架?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵堰怨,是天一觀的道長。 經(jīng)常有香客問我蛇摸,道長备图,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任赶袄,我火速辦了婚禮揽涮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘饿肺。我一直安慰自己蒋困,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布敬辣。 她就那樣靜靜地躺著雪标,像睡著了一般零院。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上村刨,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天告抄,我揣著相機(jī)與錄音,去河邊找鬼嵌牺。 笑死打洼,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的逆粹。 我是一名探鬼主播募疮,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼僻弹!你這毒婦竟也來了阿浓?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤奢方,失蹤者是張志新(化名)和其女友劉穎搔扁,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蟋字,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡稿蹲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鹊奖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片苛聘。...
    茶點(diǎn)故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖忠聚,靈堂內(nèi)的尸體忽然破棺而出设哗,到底是詐尸還是另有隱情,我是刑警寧澤两蟀,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布网梢,位于F島的核電站,受9級特大地震影響赂毯,放射性物質(zhì)發(fā)生泄漏战虏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一党涕、第九天 我趴在偏房一處隱蔽的房頂上張望烦感。 院中可真熱鬧,春花似錦膛堤、人聲如沸手趣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绿渣。三九已至朝群,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間怯晕,已是汗流浹背潜圃。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留舟茶,地道東北人。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓堵第,卻偏偏與公主長得像吧凉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子踏志,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評論 2 360

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理阀捅,服務(wù)發(fā)現(xiàn),斷路器针余,智...
    卡卡羅2017閱讀 134,708評論 18 139
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程饲鄙,因...
    小菜c閱讀 6,444評論 0 17
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,859評論 6 342
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法圆雁,內(nèi)部類的語法忍级,繼承相關(guān)的語法,異常的語法伪朽,線程的語...
    子非魚_t_閱讀 31,664評論 18 399
  • 劍主笑道:“我早就達(dá)到宇宙神二層轴咱,又修行漫長歲月,覺得有十足把握在‘毀滅道’上壓圣主一頭烈涮,才真正爆發(fā)搶奪源世界的部...
    im喵小姐閱讀 211評論 0 0