Movie Rating Apps

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Movie Rating Apps Tahap 1

1. Buat project baru empty Activity dan beri nama MovieRatting

2. Ubah pada bagian values/strings.xml dengan code berikut :


<string name="app_name">MovieRating</string>
<string name="Director">Director</string>
<string name="Duration">Duration</string>
<string name="Movie_name">Movie Name</string>
<string name="Save">Save</string>
<string name="Starring">Starring</string>
<string name="Write_Review">Write Review Here</string>
<string name="Year">Year</string>

3. Kemudian ubah activity_main.xml dengan code berikut :


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#d9e5eb"
android:gravity="top"
tools:context=".MainActivity">

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/Movie_name"
android:id="@+id/editText2" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/linearLayout1">

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/editText3"
android:layout_weight="1"
android:inputType="number" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:hint="@string/Duration"
android:layout_weight="1"
android:id="@+id/editText4" />
</LinearLayout>

<RatingBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ratingBar1"
android:clickable="true" />

<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:id="@+id/editText1"
android:text=""
android:hint="@string/Write_Review"
android:layout_weight="1"
android:gravity="top"/>

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText5"
android:text=""
android:hint="@string/Starring"/>

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText6"
android:text=""
android:hint="@string/Director"
android:clickable="true"/>

<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/Save"
android:id="@+id/button1"/>
</LinearLayout>

4. Pada MainActivity.java, tambahkan import seperti berikut :


import android.app.Activity;
import android.widget.Toast;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RatingBar;

5. Deklarasi variabel setelah baris public class MainActivity extends AppCompatActivity


private EditText movieName;
private EditText userReview;
private EditText releaseYear;
private EditText movieDuration;
private RatingBar yourRating;
private EditText movieStarring;
private EditText movieDirector;
private Button mSaveButton;
6. Setelah baris setContentView(R.layout.activity_main); Tambahkan baris berikut :
movieName = (EditText)findViewById(R.id.editText2);
userReview = (EditText)findViewById(R.id.editText1);
releaseYear = (EditText)findViewById(R.id.editText3);
movieDuration = (EditText)findViewById(R.id.editText4);
yourRating = (RatingBar) findViewById(R.id.ratingBar1);
movieStarring = (EditText)findViewById(R.id.editText5);
movieDirector = (EditText)findViewById(R.id.editText6);
mSaveButton = (Button)findViewById(R.id.button1);
yourRating.setOnRatingBarChangeListener (this);
mSaveButton.setOnClickListener(new OnButtonClick());

7. Pada nama class, lakukan sedikit modifikasi


public class MainActivity extends AppCompatActivity

Menjadi

public class MainActivity extends AppCompatActivity implements RatingBar.OnRatingBarChangeListener{

8. Kemudian tambahkan code berikut setelah bagian onCreate()


public void onRatingChanged(RatingBar arg0, float arg1, boolean arg2){
yourRating.setRating(arg1);
}

public class OnButtonClick implements OnClickListener{


@Override
public void onClick(View arg0) {

String str1 = releaseYear.getText().toString();


String str2= movieDuration.getText().toString();
String str3 = movieStarring.getText().toString();
String str4 = movieDirector.getText().toString();
String str5 = movieName.getText().toString();
String str = userReview.getText().toString();

if(str1.equalsIgnoreCase("") || str2.equalsIgnoreCase("")
|| str3.equalsIgnoreCase("") || str5.equalsIgnoreCase("")
|| str4.equalsIgnoreCase("") || str.equalsIgnoreCase(""))
{
Toast.makeText(MainActivity.this,"Please fill all the fields.", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(MainActivity.this,"Validation successful", Toast.LENGTH_SHORT).show();
}
}
}

9. Jalankan aplikasi dan akan muncul seperti berikut :


Movie Rating Apps Tahap 2

1. Tambahkan sebuah spinner pada layout activity_main.xml, dan letakkan di bawah editText2
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner1"/>

2. Pada bagian editText6, tambahkan 1 attribut clickable:true seperti berikut :


<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText6"
android:text=""
android:hint="@string/Director"
android:clickable="true"/>

3. Tambahkan beberapa import dalam file MainActivity.java


import android.content.Intent;
import android.widget.Spinner;
import android.widget.ArrayAdapter;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;

4. Setelah baris private Button mSaveButton; tambahkan beberapa baris berikut :


private Spinner mGenres;
private ArrayAdapter<String> mAdapter;

private String[] mGenresData =


{
"-Select Genre-",
"Action","Adventure","Animation","Biography",
"Comedy","Crime","Documentary","Drama",
"Family","Fantasy","Film-Noir","Game-Show",
"History","Horror","Music","Musical",
"Mystery","News","Reality-TV","Romance",
"Sci-Fi","Sport","Talk-Show","Thriller",
"War","Western"
};

5. Setelah baris mSaveButton.setOnClickListener(new OnButtonClick()); Tambahkan code berikut ini :


mGenres = (Spinner)findViewById(R.id.spinner1);
mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,mGenresData);
mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mGenres.setAdapter(mAdapter);

movieDirector.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent mAutoCompleteIntent = new
Intent(MainActivity.this, DirectorName.class); //DirectorName.java harus dibuat sebuah CLass Baru
startActivityForResult(mAutoCompleteIntent, 0123456);
}
});

6. Class DirectorName.java akan dibuat pada step berikut nya:

7. Setelah baris String str = userReview.getText().toString();


yang berada di dalam OnButtonClick(), tambahkan code berikut :

if(mGenres.getSelectedItem().toString().equalsIgnoreCase("-Select Genre-")){
Toast.makeText(MainActivity.this,"Please Select valid Genre",
Toast.LENGTH_SHORT).show();
return;
}

8. Tambahkan code berikut setelah bagian public class OnButtonClick implements OnClickListener
@Override
protected void onActivityResult(int requestCode,int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
try{
if ((requestCode == 0123456 ) && (resultCode ==
Activity.RESULT_OK)){
Bundle myResults = data.getExtras();
String vresult = myResults.getString("key");
movieDirector.setText(vresult);
}
}
catch (Exception e) {
movieDirector.setText("Oops! - " + requestCode + " " +
resultCode);
}
}

9. Buat sebuah empty activity baru dan berinama DirectorName:

10. Kemudian Ubah layout activity_director_name.xml menjadi berikut


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#d9e5eb"
android:gravity="top"
tools:context=".DirectorName">

<TextView android:text="@string/dname"
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

<AutoCompleteTextView
android:layout_width="match_parent"
android:text=""
android:layout_height="wrap_content"
android:id="@+id/autoCompleteTextView1">

<requestFocus></requestFocus>
</AutoCompleteTextView>

<Button android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/Finish"
android:id="@+id/button1"/>

</LinearLayout>

11. Kemudian tambahkan pada values/strings.xml


<string name="Finish">Finish</string>

<string name="dname">Type Director Name</string>

12. Buat sebuah layout xml dan beri nama list_item.xml

13. Kemudian ubah file list_item.xml menjadi seperti berikut :


<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="16sp"
android:textColor="#000">
</TextView>

14. Pada File DirectorName.java, tambahkan import menjadi seperti berikut :


import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;

15. Setelah public class DirectorName extends AppCompatActivity { Tambahkan code berikut :
private AutoCompleteTextView mDirectorName;
private Button mFinishButton;

static final String[] mDirectorNameData = new String[] {


"David Lynch","Martin Scorsese","Joel and Ethan Coen",
"Steven Soderbergh","Terrence Malick","Abbas Kiarostami",
"Errol Morris","Hayao Miyazaki","David Cronenberg",
"Terence Davies","Lukas Moodysson","Lynne Ramsay",
"Bela Tarr","Wong Kar-wai", "Pedro Almodovar",
"Todd Haynes","Quentin Tarantino","Tsai Ming-Liang",
"Aki Kaurismaki","Michael Winterbottom","Paul Thomas Anderson",
"Michael Haneke","Walter Salles","Alexander Payne",
"Spike Jonze","Aleksandr Sokurov","Ang Lee",
"Michael Moore","Wes Anderson","Takeshi Kitano",
"Richard Linklater","Gaspar No�","Pavel Pawlikowski",
"David O Russell","Larry and Andy Wachowski",
"Samira Makhmalbaf", "Lars von Trier","Takashi Mike",
"David Fincher","Gus Van Sant"
};

16. Setelah baris setContentView(R.layout.activity_director_name); Tambahkan kode berikut :


mDirectorName = (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);
mFinishButton = (Button) findViewById(R.id.button1);

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, mDirectorNameData);

mDirectorName.setAdapter(adapter);

mFinishButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub

Intent mIntent = new Intent(DirectorName.this, MainActivity.class);

/* Create a new bundle object */


Bundle mBundle = new Bundle();

mBundle.putString("key",
mDirectorName.getText().toString());

mIntent.putExtras(mBundle);

setResult(Activity.RESULT_OK, mIntent);
finish();
}
});

You might also like