LoginSignup
1
0

More than 3 years have passed since last update.

【Android/Kotlin】Gitに保存しないデータを扱う

Last updated at Posted at 2021-01-16

なんでそんなことするの?

github等でgitを共有する時に、データベース接続用パスワード等は公開したくない

説明

.gitignoreファイルに記載されているファイルはgitに保存されなくなる
AndroidStudioでプロジェクトを作成すると、自動的に.gitignoreとlocal.propertiesが作成され、
.gitignoreの中にlocal.propertiesも入っているのでそれをそのまま使用する

結論

github
この中にlocal.propertiesは入っていない

コード

gitの例外にするファイルを指定する

local.propertiesが入っていることを確認

.gitignore
/local.properties
local.properties

使用するファイルと定数名を指定

ここのやり方はわからなかったらbuildConfigFieldでググってください

build.gradle(app)
android {
    defaultConfig {
        // local.propertiesファイルを指定
        def properties = new Properties()
        properties.load(project.rootProject.file('local.properties').newDataInputStream())

        // buildConfigFieldで値を保存
        def LOCAL_PROPERTIES_SAMPLE = properties.getProperty("LOCAL_PROPERTIES_SAMPLE")
        buildConfigField("String", "LOCAL_PROPERTIES_SAMPLE", "\"${LOCAL_PROPERTIES_SAMPLE}\"")
    }
}

使用する値を入力

ここに隠したい値を入れる
文字列でもクォーテーションは要らない
半角スペースを使用できない

local.properties
LOCAL_PROPERTIES_SAMPLE=SAMPLE

値を受け取る

今回はtext_viewでlocal.propertiesで指定した値を表示してみる

activity_main.xml
<TextView
    android:id="@+id/text_view" />

BuildConfigやその中の値は最初存在せず、赤くなってるけど、初回ビルド時にBuildConfig.javaが生成・更新され、使えるようになる

MainActivity.kt
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // BuildConfig.javaは初回ビルド時に生成される
        text_view.text = BuildConfig.LOCAL_PROPERTIES_SAMPLE
    }
}
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0