이클립스 헬리오스를 쓰다가 인디고로 바꿨습니다.
처음 인디고를 실행시켰는데 위 메뉴바 밑에 툴바에 run 아이콘이 안보여서 customize 메뉴로 들어가서 run 아이콘을 등록시켰습니다.
뭔지 안보고 그냥 next 누르면서 등록했는데 갑자기 xml문서에 노란색으로 경고가 나와요.
android:text에 경고가 나왔는데 text를 쓴 부분은 전부다 경고가 떴습니다.
그래서 인디고를 지우고 다시 깔았는데 이번에는 위에 run 아이콘이 보이고 패키지 나오는 방식이 처음 인디고 설치했을때랑 다르더라구요.
이번에는 경고같은거 안나왔는데 xml 새로 만들고 작업 하다보니 갑자기 또 생기네요
그런데 그전같이 나오는건 아니구요. 수정하고 저장한 파일에서만 경고가 뜨네요
android:text="문자" <- 이부분에 경고가 나는데요
android:text를 쓴 부분 전체에서 경고가 나옵니다.
경고내용은 [I18N] Hardcoded string "문자", should use @string resource 이렇게 나오구요.
android:layout_height 부분에도 경고가 뜨는데 Use a layout_height of 0dip instead of wrap_content for better performance 이런 메세지가 나오네요.
이 경고는 모든 layout_height 부분에서 나오는게 아니라 한개의 레이아웃리니어에서 나오네요.
그리고 layout_weight에도 경고가 나는데 Nested weights are bad for performance 이렇게 나와요.
이 경고도 몇군데만 나오구요.
도대체 왜 이런걸까요 ㅠ
아시는분은 답변좀 해주세요 부탁드립니다.
구글에 검색해도 시원한 답변이 없네요 ㅠㅠ
어플 구동시키는데 문제는 없는데 계속 보이니까 찜찜하네요.
android:text="문자" 의 경고는 실제 어플 구동에는 문제가 없지만 Full Build를 하게 될경우 강제적으로 하드코딩 된 string은 에러를
발생하게 됩니다. 그래서 String.xml을 사용하라는 경고 메세지 입니다.
android:text="문자" 에 사용하신 "문자" 이 부분을 res/values/strings.xml 에 등록하셔서 사용하여야 합니다.
strings.xml은 아래와 같이 작성하시면 됩니다.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name=" 원하시는 네임">위에서 사용하실 문자</string>
</resources>
그리고 android:text="@string/위에서 사용한 name" 같이 사용하시면 warning은 사라질 것으로 보입니다.
layout_height 해당 뷰에
세로 weight 를 주시지 않았나요?
그럼 height="0" 으로 해주시는게 좋을겁니당..