안드로이드 프로젝트에서 설정 값들은 대부분 values/strings.xml에 등록해 놓는데 strings에 입력하지 않고 별도의 파일에 입력을 하지만 strings에 있는것 처럼 사용할 수 있는 방법입니다.





Properties() 함수를 이용하면 되는데 사용방법은

secure.properties 파일을 프로젝트 내 임의의 위치에 생성하고 내용에

 

MAPS_API_KEY=AIxxxxxxXXXXXXxxxxxxxXXXXXXXxxxxxxXxN_K8

 

이런 식으로 설정 값을 입력 합니다.

그리고 build.gradle(Module) 파일에 설정한 값을 읽어 올 수 있도록 Properties 함수를 추가 합니다.

 

defaultConfig {
   
applicationId
"copycoding.tistory.mylocation"
   
minSdkVersion 16
   
targetSdkVersion 29
   
versionCode 1
   
versionName "1.0"

   
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

   
// Read the API key from ./secure.properties into R.string.maps_api_key
   
def secureProps = new Properties()
   
if (file("../secure.properties").exists()) {
        file(
"../secure.properties")?.withInputStream { secureProps.load(it) }
   
}
    resValue
"string", "maps_api_key", (secureProps.getProperty("MAPS_API_KEY") ?: "")
}

 

이렇게 하면 secure.properties 파일에 설정한 값을 가져옵니다파일 명과 파일 위치는 어디에 생성 했는가에 따라 수정을 하면 됩니다.

 

 

이제 AndroidManifest.xml 에서 설정 값을 사용하는 방법 입니다.

 

<meta-data
   
android:name="com.google.android.geo.API_KEY"
   
android:value="@string/maps_api_key" />

 

그냥 strings.xml에 입력해 놓은 것 처럼 동일한 방법으로 사용이 가능 합니다.


- copy coding -


이클립스로 설정 작업을 하려는데 주석이 모두 \uxxxx 형태로 변경되어 읽을 수 없게 되는 경우가 발생하는 경우가 있습니다.  Eclipse Marketplace에 가서 Properties Editor 플러그인을 설치하면 정상으로 돌아온다고 하는데 이것저것 설치하기가 싫은 경우 간단히 설정을 해주기만 하면 다시 한글로 읽을 수 있습니다.

한글이 아래처럼 읽기 어려운 경우


eclipse properties 한글 깨짐


 #-----------------------------------------------------------------------

#

#   globals.properties : \uc2dc\uc2a4\ud15c

#

#-----------------------------------------------------------------------

#   1.  key = value \uad6c\uc870\uc785\ub2c8\ub2e4.

#   2.  key\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \ud3ec\ud568\ubd88\uac00, value\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \uac00\ub2a5

#   3.  key\uac12\uc73c\ub85c \ud55c\uae00\uc744 \uc0ac\uc6a9\ubd88\uac00,   value\uac12\uc740 \ud55c\uae00\uc0ac\uc6a9\uc774 \uac00\ub2a5

#   4.  \uc904\uc744 \ubc14\uafc0 \ud544\uc694\uac00 \uc788\uc73c\uba74 '\'\ub97c \ub77c\uc778\uc758 \ub05d\uc5d0 \ucd94\uac00(\ub9cc\uc57d  '\'\ubb38\uc790\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\ub294 '\\'\ub97c \uc0ac\uc6a9)

#   5.  Windows\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '\\' or '/'  ('\' \uc0ac\uc6a9\ud558\uba74 \uc548\ub428)

#   6.  Unix\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '/'

#   7.  \uc8fc\uc11d\ubb38 \ucc98\ub9ac\ub294  #\uc0ac\uc6a9

#   8.  value\uac12 \ub4a4\uc5d0 \uc2a4\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ube14\ub9bf\uc5d0\uc11c \ucc38\uc870\ud560\ub54c\ub294 \uc5d0\ub7ec\ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c trim()\ud558\uac70\ub098 \ub9c8\uc9c0\ub9c9 \uacf5\ubc31\uc5c6\uc774 properties \uac12\uc744 \uc124\uc815\ud560\uac83

#-----------------------------------------------------------------------

 

# \uc6b4\uc601\uc11c\ubc84 \ud0c0\uc785(WINDOWS, UNIX)

Globals.OsType =WINDOWS

 


상단 메뉴에서

Window > Preferences 를 선택 합니다.


eclipse properties 한글 깨짐


Preferences 창이 나오면 좌측에서 General을 확장하고 Content Types를 선택 합니다.


eclipse properties 한글 깨짐


그리고 우측에 보이는 Text를 확장해 주고


eclipse properties 한글 깨짐


Java Properties File을 선택 합니다.

하단의 Default encoding 입력란에 ISO-8859-1 등이 입력되어 있다면 UTF-8을 입력하고 Apply and Close 버튼을 클릭 합니다? Properties 파일이 아직도 깨져 보인다고요파일을 닫고 다시 열어 봅니다.(eclipse를 재시작하지 않아도 됩니다.)


eclipse properties 한글 깨짐


 #-----------------------------------------------------------------------

#

#   globals.properties : 시스템

#

#-----------------------------------------------------------------------

#   1.  key = value 구조입니다.

#   2.  key값은 공백문자를 포함불가, value값은 공백문자를 가능

#   3.  key값으로 한글을 사용불가,   value값은 한글사용이 가능

#   4.  줄을 바꿀 필요가 있으면 '\'를 라인의 끝에 추가(만약  '\'문자를 사용해야 하는 경우는 '\\'를 사용)

#   5.  Windows에서의 디렉토리 표시 : '\\' or '/'  ('\' 사용하면 안됨)

#   6.  Unix에서의 디렉토리 표시 : '/'

#   7.  주석문 처리는  #사용

#   8.  value값 뒤에 스페이스가 존재하는 경우 서블릿에서 참조할때는 에러발생할 수 있으므로 trim()하거나 마지막 공백없이 properties 값을 설정할것

#-----------------------------------------------------------------------

 

# 운영서버 타입(WINDOWS, UNIX)

Globals.OsType =WINDOWS


한글로 잘 보입니다.


- copy coding -


1

+ Recent posts