Aplikasi Poster/Resensi Film (Menggunakan Spinner dan ListView) di Ponsel Android


Ada tugas: “Buat Aplikasi Android yang memakai ListView, Spinner, ImageButton”. Sedikit berbagi, ternyata logika SEMUA pemrograman itu sama. Awalnya saya bingung gimana caranya dari Spinner bisa keluar ListView yang udah disimpen di berbagai array. But, pemrograman adalah pemrograman, satu logika walaupun beda bahasa. Terima kasih buat kang bima yang udah mau diskusiin ini bareng saya dan minta saya sharing hasilnya. hehehe.

Nama project: apkResensiFilm
SDK version: Android 2.3 (API 9)
Activity: apkResensiFilm.java

persiapan layout+widget, simpan di main.xml :

<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android&#8221;
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
>
<TextView
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”Pilih Genre Film”
/>
<Spinner android:id=”@+id/spFilm”
android:layout_width= “fill_parent”
android:layout_height=”wrap_content”
></Spinner>
<ListView
android:id=”@+id/lv”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
/>
<ImageView
android:id=”@+id/poster”
android:layout_width=”150px”
android:layout_height=”230px”
/>
<ImageButton
android:src=”@drawable/notif”
android:layout_width=”100px”
android:layout_height=”100px”
android:id=”@+id/btExit”
/>
</LinearLayout>

Next, simpan beberapa coding ini di apkResensiFilm.java :

beberapa widget yang harus diimport dan deklarasi global:

package edu.d3ilkom.apkResensiFilm;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;

public class apkResensiFilm extends Activity implements OnItemClickListener, OnItemSelectedListener, OnClickListener{
/** Called when the activity is first created. */
Spinner genre;
String[] genreFilm = {“Horror”,”Komedi”,”Drama”,”Action”};
ListView judul;
String[] judulHorror = {“COMING SOON”, “THE RING”};
String[] judulKomedi = {“Scary Movie”, “Get Married”};
String[] judulDrama = {“Heart to Heart”, “Titanic”};
String[] judulAction = {“The RAID”, “I Am Legend”};
ImageView poster;
ImageButton btExit;

method onCreate:

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

genre = (Spinner) findViewById(R.id.spFilm);
ArrayAdapter<String> aa = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,genreFilm);
aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
genre.setAdapter(aa);
genre.setOnItemSelectedListener(this);

judul = (ListView) findViewById(R.id.lv);
poster = (ImageView) findViewById(R.id.poster);
poster.setEnabled(false);

btExit = (ImageButton) findViewById(R.id.btExit);
btExit.setOnClickListener(this);
}

method onItemSelected (untuk Spinner, ketika pilihan dalam Spinner di-klik, maka event yang diinginkan disimpan di sini):

public void onItemSelected(AdapterView<?> arg0, View arg1, int index,
long arg3) {
// TODO Auto-generated method stub
if (genreFilm[index]==”Horror”)
{
ArrayAdapter<String> bb = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,judulHorror);
judul.setAdapter(bb);
judul.setOnItemClickListener(this);
}
else if (genreFilm[index]==”Komedi”)
{
ArrayAdapter<String> bb = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,judulKomedi);
judul.setAdapter(bb);
judul.setOnItemClickListener(this);
}
else if (genreFilm[index]==”Drama”)
{
ArrayAdapter<String> bb = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,judulDrama);
judul.setAdapter(bb);
judul.setOnItemClickListener(this);
}
else

{
ArrayAdapter<String> bb = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,judulAction);
judul.setAdapter(bb);
judul.setOnItemClickListener(this);
}
}

method onNothingSelected (jika kita tidak memilih satu pun pilihan di Spinner, maka event yang ingin terjadi dapat disimpan di sini):

public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
Toast.makeText(this, “Anda belum memilih Genre Film”, Toast.LENGTH_LONG).show();
}

method untuk ListView:

public void onItemClick(AdapterView<?> arg0, View arg1, int index, long arg3) {
// TODO Auto-generated method stub
//if (genreFilm[index]==”Horror”)
//{
if (judulHorror[index]==”COMING SOON”)
{
poster.setImageResource(R.drawable.comingsoon);
}

if (judulHorror[index]==”THE RING”)
{
poster.setImageResource(R.drawable.ring);
}

//}
//else if (genreFilm[index]==”Komedi”)
//{
if (judulKomedi[index]==”Get Married”)
{
poster.setImageResource(R.drawable.getmarried);
}
if (judulKomedi[index]==”Scary Movie”)
{
poster.setImageResource(R.drawable.scarymovie);
}
//}
//else if (genreFilm[index]==”Drama”)
//{
if (judulDrama[index]==”Heart to Heart”)
{
poster.setImageResource(R.drawable.heart);
}
if (judulDrama[index]==”Titanic”)
{
poster.setImageResource(R.drawable.titanic);
}
//}
//else
//{
if (judulAction[index]==”I Am Legend”)
{
poster.setImageResource(R.drawable.legend);
}
if (judulAction[index]==”The Raid”)
{
poster.setImageResource(R.drawable.raid);
}
//}
}

method onClick (untuk mencatat event ketika kita mengklik ImageButton):

public void onClick(View arg0) {
// TODO Auto-generated method stub
AlertDialog.Builder ab = new AlertDialog.Builder(this)
.setMessage(“Apakah ingin keluar?”).setTitle(“Konfirmasi Exit”)
.setPositiveButton(“Ya”, new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
finish();
}
}).setNegativeButton(“Tidak”, new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub

}
});
ab.show();
}
}//milik class apkResensiFilm

 

Output:
android

Bagaimana? jangan lupa masukkan gambar2nya di folder res/drawable-mdpi. tapi untuk memunculkan gambar sesuai ListView yang dipilih ternyata masih salah. sepertinya saya masih salah logika nya. kalau temen2 ada yang bisa, tolong bantu membenarkannya ya. Selamat mencoba 😀

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google+

You are commenting using your Google+ account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s