2013-06-14 5 views
1

나는 안드로이드 개발에 새로운 새로운 기술이다.Android 용 GUI를 만드는 과정은 무엇입니까?

Eclipse로 Android App 용 GUI를 설정하려고합니다.

버튼과 같은 GUI에 구성 요소를 추가 할 때 느낌표가있는 노란색 삼각형이 메시지 : [I18N] Hardcoded string "Button", should use @string resource과 함께 나타납니다.

이클립스는 문자열 리소스에 문자열 버튼을 만들어 자동으로 수정하도록 요청하지만 여전히 android : text 속성에 이미 문자열 참조가 포함되어 있다고 말하는 오류가 발생합니다.

Couldn't resolve resource @string/name 
Couldn't resolve resource @string/gps 
Couldn't resolve resource @string/photo 
Couldn't resolve resource @string/back 
Couldn't resolve resource @string/add 

어떤 자원이 의미 확인할 수 없습니다 않습니다 나는 또한 오류가

? name/gps/photo/add는 내 GUI의 구성 요소입니다.

내가 할 방법 :

Add Components to a GUI without erroring? I want to rename the GUI components to something relevant so I can reference them in my code. What steps are generally required?

내가 전에 비주얼 스튜디오를 사용하고 일반적으로 단지 다음 속성에서 이름을 바꾼 끌어 구성 요소를 삭제해야했다. 내 안드로이드 애플 리케이션을 위해 똑같은 일을하고 싶다 - 도와주세요!

편집 :이 값은 내 문자열 xml 파일에 선언 된 것으로 생각합니다. 여기에 :

<string name="app_name">UCLocationSearch</string> 
<string name="action_settings">Settings</string> 
<string name="hello_world">Hello world!</string> 
<string name="back_button">Back Button</string> 
<string name="exit">Exit<string name="add">Add</string> 
<string name="gps">GPS</string> 
<string name="name">Name</string> 
<string name="autocompletetextview">AutoCompleteTextView</string> 
<string name="photo">Photo</string> 
<string name="back">Back</string> 
+1

[Android 튜토리얼] (http://developer.android.com/training/basics/firstapp/building-ui.html) –

+1

GUI 구성 요소의 이름을 지정하는 동안 몇 가지 실수를하는 것처럼 보입니다. 기초를 배우기 위해 몇 가지 Android 튜토리얼을 따라 가면서 GUI 편집기를 사용하십시오. – Piovezan

+0

해당 변수는 값 폴더의 문자열 xml에 선언되어 있습니까? –

답변

4

우선 안드로이드 용 WYSISWYG GUI를 사용합니다. 필자는 XML을 통해 UI를 만들고 GUI 편집기를 사용하지 않는 편을 선호합니다. 그것은 신뢰할 수없고 장치와 똑같지도 않습니다. 어떤 사람들은 동의하지 않을 수도 있지만 그것은 단지 제 의견입니다.

둘째, 오류가 발생하는 이유는 Android 프로젝트에 Strings이라는 파일이 있기 때문입니다. 여기서 문자열 정의가 유지됩니다. 모양은 다음과 같습니다.

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <string name="app_name">WPAConfiguration</string> 
    <string name="action_settings">Settings</string> 
    <string name="hello_world">Hello world!</string> 

</resources> 

Android:[email protected]/hello_world으로 전화하면 "Hello World!"가 표시됩니다.

이 오류를 해결하려면 :

Couldn't resolve resource @string/name 
Couldn't resolve resource @string/gps 
Couldn't resolve resource @string/photo 
Couldn't resolve resource @string/back 
Couldn't resolve resource @string/add 

당신은 추가

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <string name="back">Back</string> 
    <string name="photo">Photo</string> 
    <string name="add">Add</string> 
    etc... 
</resources> 

당신의 Strings 자원.

Android 프로토콜은 버튼이나 다른 GUI 객체의 이름을 지정할 때 Strings 리소스를 통해이를 수행 할 것을 제안합니다. 나는 다른 튜토리얼을 통해 갈 것입니다. 다른 사람들은 당신이 항해를 시작하기 전에 추천했습니다. 당신이하지 않으면, 당신은 지금보다 훨씬 더 어려움을 겪을 것입니다.

행운을 빈다.

+0

버튼을 만들기 전에 먼저 문자열 리소스를 만드나요? – user1529039

+0

문자열 리소스를 UI에서 사용되는 모든 문자열 변수의 중앙 위치로 생각하십시오. 컴파일하고 실행하기 전에 정의해야합니다. 끝나면 먼저 만들어지는 것이 중요하지 않습니다. – BlackHatSamurai

+1

Typo : "Hello World!"가 표시됩니다. "Hello World"가 아닙니다. –

관련 문제