본문 바로가기

Dev_안드로이드/참고소스

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

안드로이드(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> 불러오기


 

<RelativeLayoutxmlns: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>를 그대로 등록했기에 결과는 같다.



http://hyeonstorage.tistory.com/154

'Dev_안드로이드 > 참고소스' 카테고리의 다른 글

Android checkbox 예제  (0) 2016.08.05
Android spinner (drop down list) 예제  (0) 2016.08.05
EditText에서 엔터키 눌렀을때 키보드 숨기기  (0) 2016.08.04
Switch 스타일 변경  (0) 2016.07.27
ADB shell command  (0) 2016.07.27