Menyimpan Daftar Item Dalam File XML

Pada contoh latihan sebelumnya kita menampilkan nama-nama pahlawan di dalam array. Tetapi sesungguhnya sangat dianjurkan untuk menyimpan dan mengambil data dari database atau setidaknya menyimpannya di dalam file “strings.xml”. Berikut adalah contoh latihan menyimpan daftar item di file “strings.xml”.

1. Kita gunakan project pada contoh latihan sebelumnya dan kita modifikasi.

2. Kita modifikasi dan tambahkan kode berikut pada file “strings.xml” yang ada pada folder “res/values” seperti berikut:
<resources>
<string name="app_name">View Dasar 5</string>


<string-array name="array_pahlawan">
<item>Dewi Sartika</item>
<item>Pangeran Diponegoro</item>
<item>Soekarno</item>
<item>Cut Nyak Dien</item>
<item>Cut Meutia</item>
<item>Sri Sultan HB IX</item>
<item>Boedi Oetomo</item>
<item>R.A. Kartini</item>
<item>Patimuran</item>
<item>Sultan Hasanudin</item>
<item>I Gusti Ngurah Rai</item>
<item>Jendral Ahmad Yani</item>
<item>Yos Soedarso</item>
<item>Juanda</item>
<item>Adi Sucipto</item>
<item>Moh. Hatta</item>
<item>Pangeran Antasari</item>
</string-array>
</resources>
3. Kemudian kita modifikasi file “MainActivity.java” seperti berikut:
package id.co.blogspot.diansano.viewdasar5;

import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends ListActivity {

String[] pahlawan;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/* tidak perlu memanggil ini
setContentView(R.layout.activity_main); */

ListView listView = getListView();
//listView.setChoiceMode(ListView.CHOICE_MODE_NONE);
//listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
listView.setTextFilterEnabled(true);

pahlawan = getResources().getStringArray(R.array.array_pahlawan);

setListAdapter(new ArrayAdapter(this,
android.R.layout.simple_list_item_checked, pahlawan));
}

public void onListItemClick(ListView parent, View view, int position, long id) {
Toast.makeText(this, "Anda klik " + pahlawan[position],
Toast.LENGTH_SHORT).show();
}
}
4. Jalankan di emulator Android Studio. 

Penjelasan:

Dengan daftar nama pahlawan yang disimpan di dalam file “strings.xml” kita bisa mengambilnya melalui kode dari file “MainActivity.java” dengan menggunakan method ‘getResources()’ seperti berikut:
pahlawan = getResources().getStringArray(R.array.array_pahlawan);
Secara umum kita bisa mengambil berbagai macam resources yang di-bundle dengan app kita dengan method ‘getResources()’.

No comments: