반응형
Greensky0026
삽질러의 대환장 공사판
Greensky0026
전체 방문자
오늘
어제
  • 분류 전체보기 (241)
    • Language (56)
      • JAVA (13)
      • Swift (38)
      • Kotlin (4)
      • Dart (0)
      • PHP (0)
      • JavaScript (1)
    • IDE & Framework (92)
      • Spring (10)
      • Android (48)
      • iOS (8)
      • NodeJS (1)
      • CodeIgniter (3)
      • Flutter (1)
      • 분류중 (18)
    • Infra (8)
    • Database (12)
    • VCS (4)
    • Debug Log (34)
      • java (7)
      • swift (3)
      • Android (9)
      • Web (7)
      • 삽질기 (7)
    • Others (19)
      • 코딩테스트 풀이 (0)
      • IT 이야기 (18)
    • 쉼터 (2)
    • 개발공부 (14)
      • Network (1)
      • 자료구조와 알고리즘 (2)
      • Code design (8)
      • ETC (1)
      • 아카이브 (1)

블로그 메뉴

    공지사항

    • 프로그래머스 코딩 테스트 관련글 비공개 처리

    인기 글

    태그

    • xcode
    • swfit
    • ios
    • Java
    • 구축
    • Android
    • kotlin
    • 코딩테스트
    • 공부
    • IT
    • swift
    • reduce
    • 개발
    • level1
    • JSP
    • 프로그래머스
    • map
    • 프로그래밍
    • 타입
    • 예제

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    Greensky0026

    삽질러의 대환장 공사판

    [Kotlin]local properties에 변수 저장하기
    IDE & Framework/Android

    [Kotlin]local properties에 변수 저장하기

    2022. 1. 22. 21:29
    반응형

    Local properties에 변수를 왜 저장해야 하나요?

     외부에 노출되면 안되는 중요한 자료들(인증받은 API Key, 메일을 보내기위한 메일계정 등)은

    코드상에 하드코딩하게 되면 의도치않게 git으로 공유될 수가 있으므로, 이를 방지하기 위해 사용합니다.

    gitignore에는 local.propeties에 등록이 되어 있거든요. 기본으로 있다면 상관이 없지만, 만약 없다면 꼭 추가해 주세요 ㅎ

    Local properties에 변수를 저장하면 어떻게 되나요?

     Local properties에 변수를 저장하게 되면, app level gradle의 defaultConfig 태그 내에서 불러올 수 있습니다.

    그렇게 되면, 프로젝트를 빌드할 때 BuildConfig 클래스에 해당 값이 추가되어 프로젝트에서 자유롭게 사용할 수 있습니다.

    local properties에 변수 저장하기

     local.properties파일은 프로젝트 최상위 루트폴더에 저장되어 있습니다.

    없다면, 파일을 만들어도 무관합니다.

     

    local.properties 위치

    ## This file must *NOT* be checked into Version Control Systems,
    # as it contains information specific to your local configuration.
    #
    # Location of the SDK. This is only used by Gradle.
    # For customization when using a Version Control System, please read the
    # header note.
    #Thu Dec 30 15:38:35 KST 2021
    api.key="DO_NOT_PUBLIC"

    위처럼 key=value 쌍으로 입력해주시면 됩니다.

    app level build.gradle에서 local.properties변수 호출

    plugins{
    	//...
    }
    
    Properties properties = new Properties() 
    properties.load(project.rootProject.file('local.properties').newDataInputStream()) 
    
    android { 
        //... 
        defaultConfig { 
            //... 
            buildConfigField "String", "API_KEY", properties["api.key"] 
        } 
        //...
    }

    위의 위치에 추가해주면 됩니다.

    local.properties에 있는 api.key의 값을 API_KEY라는 변수명에 String 타입으로 빌드한다는 뜻힙니다.

     

    사용하기

    위처럼 입력을 다 하셨다면, 프로젝트를 빌드해주고 나면 언제 어디서든 프로젝트 내부에서 호출해 사용할 수 있습니다.

    BuildConfig.API_KEY

     

    반응형
    저작자표시 비영리 (새창열림)

    'IDE & Framework > Android' 카테고리의 다른 글

    [Kotlin] RecyclerView (1) - 기본 예제  (0) 2022.01.30
    Android Background Service 작업 제한  (1) 2022.01.22
    [Kotlin] Broadcast recevier란? 사용법과 예제  (1) 2022.01.15
    [Kotlin] Broadcast 란? 사용법과 예제  (0) 2022.01.15
    [Kotlin] RemoteConfig 적용하기 [간단]  (0) 2022.01.09
      'IDE & Framework/Android' 카테고리의 다른 글
      • [Kotlin] RecyclerView (1) - 기본 예제
      • Android Background Service 작업 제한
      • [Kotlin] Broadcast recevier란? 사용법과 예제
      • [Kotlin] Broadcast 란? 사용법과 예제
      Greensky0026
      Greensky0026
      점이 모여 선이 된다. 내 삽질도 언젠간 거대한 지하 도시가 되겠지!

      티스토리툴바