[Android Studio] 如何安全的管理 API Key

當我們在開發 Android 時,遇到 API Key 或者密碼等機密資料,常見的作法是將這些資料用字串寫在程式裡,可是這些資料一旦隨著程式發佈到 Github ,就有可能會被有心人士拿去使用。

以下分享三種管理在實務上管理 API Key 的方法:

放在 Constant.java 檔案

public static final String API_KEY = "xxxxxx"; 
使用上只要這樣呼叫,就能取得資料
Constant.API_KEY
然後把 Constant.java 加入 .gitignore 不簽入 Git 版控系統,不過這樣作,日後有其他人使用這個專案,會造成專案完整性有問題。

放在 grade.properties 檔案

在 Android 專案根目錄下,找到 grade.propertie 檔案(這個檔案要加入 .gitignore 不簽入 Git 版控系統),把 API Key 加入其中。
MyKey = "xxxx"
在 build.gradle 檔案加上
apply plugin: 'com.android.application'

android {
    ...

    defaultConfig {
        ...
    }
    buildTypes {
        release {
            ...
        }
        buildTypes.each {
            it.buildConfigField 'String', 'API_KEY', MyKey
        }
    }
}
然後可以在程式中使用它
String KEY = BuildConfig.API_KEY;

放在系統環境變數(限定 Windows 作業系統使用)

將 API Key 加入 Windows 環境變數
然後在 build.gradle 加入
apply plugin: 'com.android.application'

android {
    ...

    defaultConfig {
        ...
    }
    buildTypes {
        release {
            ...
        }
        buildTypes.each {
            it.buildConfigField 'String', 'API_KEY', "$System.env.API_KEY"
        }
    }
}
然後可以在程式中使用它
String KEY = BuildConfig.API_KEY;

建議使用第二種方式,將 API Key 加入 grade.properties 檔案,然後不要簽入版控系統

分類: ,

Mac 安裝 GO 環境

要在 Mac 上安裝 GO 語言的環境,以往要自行用 xcode 編譯,現在官網已經推出 pkg 安裝檔,所以安裝上相對非常簡單。

首先到官網下載 Apple OS X 版本的安裝檔


下載之後執行 pkg 檔進行安裝


安裝成功之後,GO 的預設路徑會是 /usr/local/go,而 /usr/local/go/bin 應該會在安裝後自動加到  PATH 環境變數,因此可以用終端機執行 go 指令,來驗證環境是否正確安裝。


分類:

重新定義

看一個產品有沒有前瞻性,要看它是否重新定義了某件事。亨利福特曾說:「如果問在騎馬車那個年代,你覺得最好的一部座騎是什麼,那答案一定是更大的馬車、更穩的馬車,而不會是汽車。」

以下怒舉十個重新定義的例子:
  • 福特T型車重新定義交通工具
  • iPad + iTunes 重新定義隨身聽
  • iPhone 重新定義手機
  • iPad 和 Kindle 重新定義閱讀
  • Gmail 重新定義電子郵件
  • Google 重新定義搜尋
  • Evernote 重新定義寫筆計的方式
  • Amazon 重新定義書店
  • eBay + Paypal 重新定義交易的方式
  • Facebook 重新定義社交
  • Netflix 重新定義影音租借
不過也有失敗的例子
  • Google Glass
  • Apple Watch ?
至於正在發展中科技,也許加以時日,可以重新定義人們的生活吧
電動車及自動駕駛汽車(Tesla、Google Car、Apple Car...)
  • 3D 列印
  • VR 頭盔 ? 目前為止還沒真正成功,因為加了頭盔的 VR,根本零分
  • ...



分類:

[Android] 現在可用 Gradle 管理 Volley 套件了

一些網路上的教學在介紹 Volley 時,都建議要從 Git 下載 Volley 原始碼,然後匯入成為 Android Studio 的 Module。可是把 Volley 當作是專案的一個 Module,雖然整包 Volley 只有 3.5 MB 的大小,但升級時得將源碼下載後再重新匯入 Module,實在很麻煩。

2016 年 2 月,Volley 套件已經被放到 JCenter(一個 Maven Repository) ,目前是 1.0.0 版,但這不是最新版,因為 Volley 是跟隨著 Android  AOSP  的專案,會隨著 Android 的開發進度,每隔一陣子會 Tag 一個版本。

請將下面這行加到 build.gradle,然後就可以在專案中移除 Volley Module 了。
compile 'com.android.volley:volley:1.0.0'



分類:

中華電信如意卡

當初為了前公司系統維護 24 小時 on call,必要無時無刻可以上網的需求,去申辦「大公司」遠傳電信的 3G 上網。最近 30 個月合約到期,因為不上班後,除了偶爾接到業務行銷或詐騙電話之外(還好都被 Whoscall 過濾掉),幾乎不會接打電話,而且日常生活周遭都有 wifi,較少使用行動上網,很少有什麼急事需要在外面上網,我也不需要行動網路。所以決定攜碼 NP 到「小公司」的中華電信預付卡(如意卡)。

攜碼中華電信預付卡的手續很簡單,只要先和原電信業者確認合約已到期,就可攜帶雙證件到中華電信門市申辦 ,請指定 4G 如意卡,大約十分鐘就辦好了,之後會拿到 SIM 卡,隔天凌晨就能使用。

申辦時可以儲值 300 元(300 型),內有 120 元通話費,加上 1.2 GB 上網傳輸量,以下是明細。

300型 備註
售價 300 元
儲值金 120 元 因為180元被拿去買網路
基本網路量 180MB 180天有效 網路先從此部份使用
贈送網路量 1 GB 30天有效 上面用完才開始抵用這裡
網內通話 2000 分 30天有效
網內簡訊 100則 30天有效

通話的部分,只要 6 個月儲值一次(至少100元)就能無限期使用。不但每個月不會收到帳單,也不用月租費,更不用擔心使用量超過。非常適合超少通話量與上網需求的人。

儲值的部分,可以到便利商店購買儲值卡,或者直接上網儲值。

中華電信預付卡也有 APP,可以隨時查詢餘額。

優點:

  • 不會收到帳單
  • 講多少用多少,不用擔心使用量超過

缺點:

  • 不能國際漫遊
  • 有時中華電信會針對月租戶有優惠活動,如意卡因為不是月租戶,就無法享有這些優惠







分類:

Copyright © Andy Cheng

Distributed By My Blogger Themes | Blogger Theme By NewBloggerThemes Up ↑