안드로이드(Android) 배열 리소스 <string-array>안드로이드(Android) 배열 리소스 <string-array>

Posted at 2013.11.19 20:37 | Posted in == Mobile ==/Android



facebook에 글올리기



안드로이드(Android) 배열 리소스 <string-array>



안드로이드(Android) res(리소스) 관리



배열 리소스는 보통 /res/values/arrays.xml 에서 관리한다.


arrays.xml 파일을 새로 만들고, 배열(string-array)을 등록하고 xml과 java에서 리소스를 호출하여 보자.



1. res(리소스)에 <string-array> 등록하기


/res/values 밑에 arrays.xml 파일을 새로 만든다.



<stirng-array> 등록


 

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

    <string-array name="company">
        <item>Samsung</item>
        <item>Hyundai</item>
        <item>LG</item>
        <item>SK</item>
        <item>KIA</item>
    </string-array>

</resources>


- 배열(string-array)로 name을 company로 등록


- company 밑에 Samsung, Hyundai, LG, SK, KIA 를 속성으로 등록했다.











2. layout의 xml에서 배열 <string-array> 불러오기


 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >


    <ListView
        android:id="@+id/ListView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:entries="@array/company" />


</RelativeLayout>


- <ListView> 를 사용하여 <string-array> 호출


- id : ListView1  ( android:id="@+id/ListView1" )

- 속성 : name이 company인 array ( android:entries="@array/company" )


프로그램 실행 결과



- 리소스에 등록된 company의 item 들이 <ListView>형태로 출력됐다.





3. Activity.java 에서 <string-array> 리소스 불러오기


 

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
    // 리소스에서 name이 company인 array를 가져와서 String[] 배열에 대입
    String[] company = getResources().getStringArray(R.array.company);
       
   // company를 ArrayAdapter에 등록한다. 
   //(ListView는 Adapter를 통해서 등록한다.)
   // simple_list_item_1은 textview를 담고 있는 xml 형태이다.
   ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, company);
   
       
  // 리소스에서 id 가 ListView1 인 ListView를 가져온다.
  // ListView에 adapter를 등록한다.
  ListView listView1 = (ListView)findViewById(R.id.ListView1);
  listView1.setAdapter(adapter);
             
    }
}


- getResource().getStringArray() 를 사용하여 리소스에서 company <string-array>를 배열 형태로 가져온다.


- ListView에는 ArrayAdapter 형태로 데이터를 대입해야하기에 ArrayAdapter<String>에 company를 등록한다.


- findViewById로 ListView1 을 가져온다.


- ListView1에 Adapter를 등록한다.



프로그램 실행 결과




- ListView에 등록한 <string-array>를 그대로 등록했기에 결과는 같다.



HelloAndroid_stringarray.zip


안드로이드(Android) res(리소스) 관리


안드로이드(Android) 문자열 리소스


안드로이드(Android) 배열 리소스


안드로이드(Android) 색상 리소스


안드로이드(Android) 크기 리소스


안드로이드(Android) 이미지 리소스 drawable


안드로이드(Android) xml 리소스


안드로이드(Android) 원본 리소스 raw



이웃추가
facebook에 글올리기

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기