2012-02-21 5 views
2

사전을 안드로이드 리소스에 사용하는 방법이 있습니까? String.xml 파일에서 사전 및 검색 가능한 파일에 대해 찾을 수없는 항목은 필자에게 필요하지 않은 다른 많은 필드가 있습니다.안드로이드 리소스 사전

편집 : C# 및 Visual Studio에서 문자열이나 int뿐만 아니라 리소스에도 사전을 추가 할 수 있지만 리소스에 사전을 추가하는 옵션을 찾을 수 없으며 문자열과 문자열 배열 또는 정수 만 사용할 수 있습니다. 안드로이드 리소스에.

+0

질문이 분명하지 않습니다. – jeet

+0

@ jitendra sharma : 질문을 편집했습니다. – Daniel

답변

2

이러한 리소스 유형은 없습니다. res/raw /에 임의의 파일을 넣고 HashMap에 수동으로 가져와야합니다.

+0

어떻게 res/raw에서 파일에 액세스 할 수 있습니까? – Daniel

+1

원시 InputStream을 사용하여 이러한 리소스를 열려면 리소스 ID 인 R.raw.filename을 사용하여 Resources.openRawResource()를 호출합니다. (http://developer.android.com/guide/topics/resources/providing-resources.html) – drakyoko

6

어쩌면 그것은`늦게 여기에 대답하지만 당신은 다음과 같이 사용할 수 있습니다 : ":"기호 구분을 의미

다음
<string-array name="tags"> 
    <item>KEY_A:Some string value 1</item> 
    <item>KEY_B:Some string value 2</item> 
    <item>KEY_C:Some string value 3</item> 
</string-array> 

이 (가)

고해상도/strings.xml의를 문자열 배열의 키 - 값 쌍 사이.

그리고 어딘가 코드 (예 : 에서 onCreate()) :

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    String[] tags = getResources().getStringArray(R.array.tags); 
    for(String tag : tags) { 
     String[] pair = tag.split(":"); 

     String key = pair[0]; 
     String value = pair[1]; 

     // do whatever you want with key and value 
    } 
} 

당신이 고해상도를 사용하는 것이 더 더 복잡한 데이터에 대한 간단한 데이터가있는 경우이 방식이 좋은/원료 위의 다른 사람에 의해 설명 된대로 json 객체가있는 파일.

관련 문제