투케이2K

117. (TWOK/LOGIC) [android] 안드로이드 raw 폴더 다국어 언어 설정 json 파일 추가 및 네이티브 화면 동적 텍스트 변경 로직 본문

투케이2K 로직정리

117. (TWOK/LOGIC) [android] 안드로이드 raw 폴더 다국어 언어 설정 json 파일 추가 및 네이티브 화면 동적 텍스트 변경 로직

투케이2K 2024. 11. 5. 20:05

[로직 정리]

정리 로직 : Android / 안드로이드

상태 : [android] 안드로이드 raw 폴더 다국어 언어 설정 json 파일 추가 및 네이티브 화면 동적 텍스트 변경 로직

 

[설 명]

 

// --------------------------------------------------------------------------------------
[사전) 설정 및 정보 확인 사항]
// --------------------------------------------------------------------------------------

- 안드로이드 프로젝트에서 raw 폴더 생성 필요


- 한국어 ko , 영어 en 로 작성 된 각 json 파일 준비 필요 (ko.json / en.json)


- 각 언어 json 파일 raw 폴더에 추가 필요

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[로직 설명]
// --------------------------------------------------------------------------------------

1. 애플리케이션 수행 및 언어 설정을 변경하기 위한 설정 화면 진입

  >> 애플리케이션 초기 수행 후 프리퍼런스에 저장 된 언어 데이터가 없는 경우 기본 ko 설정 수행

  >> Application 클래스 onCreate 에서 프리퍼런스 저장 데이터 널 체크 >> raw 폴더에 저장 된 json 데이터 읽은 후 각 단어 파싱 및 저장 수행


2. 설정 화면에서 UI 표시 언어 변경 버튼 클릭 수행 및 ko , en 중 언어 선택

  >> 애플리케이션 지원에 따라 일본어 및 중국어 등도 json 파일 추가 적용


3. 사용자가 특정 언어를 선택한 경우 해당 언어에 맞게 raw 폴더에 저장 된 json 파일 읽기 수행


4. json 파일을 읽은 후 각 액티비티 화면에서 표시 되어야하는 단어 정보 파싱 및 프리퍼런스에 데이터 저장 수행

  >> 각 단어별로 파싱 후 프리퍼런스 저장소에 저장 실시


5. 설정 화면에서는 프리퍼런스 데이터 저장 후 UI 뷰 업데이트 갱신 처리 (변경 된 설정 정보로 즉시 화면 표시)


6. 각 화면 액티비티에서는 onResume 라이프 사이클에서 프리퍼런스에 저장 된 데이터로 textView 텍스트 뷰 업데이트 수행

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

[안드로이드 : raw 폴더 , menu 폴더 , anim 폴더 생성 방법 설명]

https://blog.naver.com/kkh0977/222356039600?trackingCode=blog_bloghome_searchlist


[안드로이드 : raw 폴더에 저장된 텍스트 text 파일 읽기 수행 - openRawResource]

https://blog.naver.com/kkh0977/222560301392?trackingCode=blog_bloghome_searchlist

// --------------------------------------------------------------------------------------

 

반응형
Comments