본문 바로가기

모바일 프로그래밍/Android 프로그래밍

strings.xml 로 TextView에 쓸 한글 관리하기

프로젝트 이름\res\values strings.xml와 styles.xml이 있습니다.

strings.xml은 Text를 관리하는 곳입니다.

styles.xml은 테마를 관리하는 곳인데 테마는 전체화면모드라던지 관련 검색어로는  다음 블로그를 참조하시면 좋겠습니다. http://blog.naver.com/jolangma?Redirect=Log&logNo=150086283752

xml은 정해진 규칙이 있습니다. html 태그처럼 열었으면 닫아야 합니다. 

strings.xml에서 밑에 Resources 라고 있습니다. 또 현재탭이 strings.xml이 있습니다.

Resources에서는 자동으로 Add 버튼을 눌러 문자열을추가해줄 수 있습니다.

가령 app_name은 분명히 AndroidManifest.xml에서 참조하고 있기에 지우면 에러가 뜹니다. 어플리케이션 name을 바꿀 때는 저 부분을 건드려야 합니다. 물론 AndroidManifest.xml에서 다른 name값을 가진 string을 쓰는 경우도 있겠지요

<string name="hello_world">안녕</string>

name값을 영문으로 적어주어야합니다. 안에 들어가는 문자열은 한글 일본어 지원이 된다면 괜찮습니다.

그리고 한가지 <string name="hello_world">"안녕</string> 이렇게 치게 되면 레이아웃인 activity_main.xml 에서 쌍따옴표(")가 출력이 안되게 됩니다.

그렇때는 역슬래시"

<string name="hello_world">\"안녕</string> 이렇게 해주면 됩니다.


android:text="@string/mycreate" 이런식으로 작성할 수 있습니다

mycreate 의 name값의 string은 나를 창조하다 이므로 나를 창조하다가 출력될 것입니다. 단어선택은 좋은 단어만 골랐습니다.

그 다음 activity_main.xml 을 어디서 참조하시는지.... MainActivity.java에서 써주고 있는데 그것을 볼려 합니다.

제가 대충한 감이 있는데 기본적으로 중요한 것은 체크하고 넘어가고 있습니다.

레이아웃 설정 파일 만들때 처음에 main.xml로 만들시기 바라고

MainActivity.java가 아닌 Main.java 이나 Test.java 이렇게 그 프로젝트에 따라 시기 적절하게 이름을 바꿔주는것이 좋습니다.

setContentView 메서드는 Activity.class에 있는 메서드 일 것 입니다. 자그럼 지금부터 Api를 살펴봅시다.


안드로이드 내부구조를 보면 Activity.class 에는 메서드들이 잘 정리되어있습니다. 이 모든 메서드를 전부다 아는 것은 아니지만....

setContentView 라는 메서드가 중요하기 에 적습니다.

첫번째인

void setContentView(int layoutResID) 메서드는 R.layout.activity_main 이렇게 레이아웃 xml의 int 값을 출력해주는겁니다.

R.java 보시면 


 public static final class layout {

        public static final int activity_main=0x7f030000; 이렇게 정의되어있습니다. int 값으로

}


다음으로 화면에 나타난 두번째 메서드는 View 를 상속한 모든 Class를 넣어줄 수 있습니다.

TextView EditText View를 상속한 MyView SurfaceView를 상속한 MySurfaceView

이건 게임쪽 할 때 많이 씁니다. 도서관 가시면 책 빌리실 수 있습니다. 게임 쪽은 만들면서 배우는 Android 게임 프로그래밍이 좋습니다.

검색하실 때 만들면서 배우는 안드로이드 이렇게 찾아보시면 좋겠습니다. 소스는 첨부하겠습니다. 그리 어려운 소스가 아닌데

java 파일에서 한글 문자열을 쓰지 말자는게 여기까지 와버리게 되었군요.


소스 코드 다운 

Test.zip