2011-03-22 3 views
1

자습서를 진행하고 있으며 이미지 섹션에 있습니다. 그것들을 res/drawable 폴더에 넣으라고합니다. 하지만 폴더가 없으므로 대신 세 개가 있습니다 : res/drawable-hdpi, r es/drawable-ldpires/drawable-mdpi. 그래서 그들 사이의 차이점은 무엇입니까?res 폴더 및 R.java 문제

메신저 this 자습서를 사용 중입니다. 단계

하나는 :

이미 결합, strings.xml있다

처럼

는보고 파일을 고해상도/값에 strings.xml의 파일을 생성/편집 위에서 res/drawable을 사용하라고 말하면,이 자습서는 오래된 것입니까?

R.id.spinner 
R.array.planets_array 

R.layout는 단순한 열거입니다 :

이 튜토리얼은 같은 코드가 있습니다. layout 폴더의 main.xml을 사용합니다. 그러나 R.idR.array의 출처는 어디입니까? 그것은 그것이 무엇인지 알지 못한다는 식으로 일식에서 나오기 때문입니다. R.java가 자동으로 업데이트되므로 누군가가 ID가 R에 추가 된 튜토리얼을 읽지 못하게 할 수 있습니까? 그것은

가 R.array.planets_array ID 문자열 배열 만이 작동하지 않습니다

위 정의 참조하는 것을 말한다. 나는 그것이 같은 위치에 같은 파일 이름이기 때문에 나는 strings.xml을 만들지 않았다는 점에서 차이가 있는지 의심 스럽다. 그러나 R.java는 자동으로 업데이트 될 예정이므로이 문제를 해결하는 방법을 모르겠습니다.

답변

1

이는 외부에있는 다양한 장치에 대한 다양한 화면 해상도를위한 것입니다. Android 개발자 사이트의 supporting multiple screens에 대해 읽어보세요.

0

폴더가없는 경우 폴더를 만드십시오. 기본적으로 res/drawable-hdpi와 같은 특정 폴더에 리소스가없는 경우의 대체 기능입니다.

* -xx 폴더를 사용하면 다양한 화면 해상도에 대해 더 구체적인 드로어 블 (이미지)을 제공 할 수 있습니다 .

동일한 원칙이 값/및 값 -xx /에 적용됩니다. 여기서 xx는 국가 코드입니다. xx 버전에서는 UI 메시지를 번역 할 수 있습니다.

1

R 재질의 출처를 알 수 있습니다.

R.java 파일은 응용 프로그램의 리소스에 대한 포인터를 포함하는 생성 된 파일입니다. 그것은 안드로이드의 내부 리소스 관리 시스템에서 리소스를 고유하게 식별하는 실제로 간단한 정수입니다.

R.string 식별자는 예를 들어 이와 같은 리소스 XML 파일에서 생성됩니다.

<resources> 
    <string name="test">This is a test string.</string> 
</resources> 

R.array 문자열 배열 XML 파일의 식별자.

<resources> 
    <string-array name="days_of_week"> 
     <item>Monday</item> 
     <item>Tuesday</item> 
     <item>Wednesday</item> 
     <item>Thursday</item> 
     <item>Friday</item> 
     <item>Saturday</item> 
     <item>Sunday</item> 
    </string-array> 
</resources> 

이제 해당 식별자 R.id.days_of_week을 사용하여 해당 어레이에 액세스 할 수 있습니다.

R.id 식별자는 약간 특별합니다.

두 가지 방법으로 생성됩니다. 첫 번째는 @+id/... 구문을 사용하여 XML 레이아웃 파일에 View을 정의 할 때입니다. + 기호에 유의하십시오.

다른 방법은 리소스 XML 파일 (예 : 문자열)에 정의하는 것입니다.

<resources> 
    <item type="id" name="first" /> 
    <item type="id" name="second" /> 
</resources> 

그런 다음이 파일을 @id/first과 같은 레이아웃 XML 파일에 사용하면됩니다. 선언하기 전에 참조 할 때 아니요+ 기호가 더 이상 사용되지 않습니다.

코드에서 다음과 같이 사용하십시오. R.id.first.

다른 많은 리소스가 있습니다. Application Resources 문서로 이동하고 Resource Types 하위 문서를 체크 아웃하고 싶습니다.