Kamis, 19 Juli 2018

Membuat TwoActivity

    TwoActivity


    Hello Guys, Kali ini kita akan membuat aplikasi bernama TwoActivities.
    Aplikasi ini akan dibangun dalam tiga tahap. Pada tahap pertama, buat aplikasi yang aktivitas utamanya hanya berisi satu tombol (Send). Saat pengguna mengeklik tombol ini, aktivitas utama menggunakan intent untuk memulai aktivitas kedua, Kita akan memiliki 1 tombol dengan fungsi untuk Mengirim data dan TextView untuk menampilkan data yang berasal dari Intent. Baik, kita akan mulai selangkah demi selangkah dimulai dari tombol yang paling atas. Kondisikan activity_main.xml seperti dibawah ini, Silahkan klik tab file activity_main.xml pada workspace anda (res/Layout/activity_main.xml), dan silakan ikuti baris-baris berikut:


  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.    xmlns:tools="http://schemas.android.com/tools"
  4.    android:layout_width="match_parent"
  5.    android:layout_height="match_parent"
  6.    android:paddingBottom="@dimen/activity_vertical_margin"
  7.    android:paddingLeft="@dimen/activity_horizontal_margin"
  8.    android:paddingRight="@dimen/activity_horizontal_margin"
  9.    android:paddingTop="@dimen/activity_vertical_margin"
  10.    tools:context="com.example.dimasaji.twoactivity.MainActivity">
  11.     <TextView
  12.        android:id="@+id/text_header_reply"
  13.        android:layout_width="wrap_content"
  14.        android:layout_height="wrap_content"
  15.        android:text="@string/text_header_reply"
  16.        android:visibility="invisible"
  17.        android:layout_marginBottom="@dimen/activity_vertical_margin"
  18.        android:textAppearance="?android:attr/textAppearanceMedium"
  19.        android:textStyle="bold"/>
  20.     <TextView
  21.        android:id="@+id/text_message_reply"
  22.        android:layout_width="wrap_content"
  23.        android:layout_height="wrap_content"
  24.        android:layout_below="@+id/text_header_reply"
  25.        android:visibility="invisible"
  26.        android:layout_marginLeft="@dimen/activity_horizontal_margin"
  27.        android:layout_marginStart="@dimen/activity_horizontal_margin"
  28.        android:textAppearance="?android:attr/textAppearanceMedium" />
  29.     <Button
  30.        android:layout_width="wrap_content"
  31.        android:layout_height="wrap_content"
  32.        android:text="@string/button_main"
  33.        android:id="@+id/button_main"
  34.        android:layout_alignParentBottom="true"
  35.        android:layout_alignParentRight="true"
  36.        android:layout_alignParentEnd="true"
  37.        android:onClick="launchSecondActivity"/>
  38.     <EditText
  39.        android:id="@+id/editText_main"
  40.        android:layout_width="match_parent"
  41.        android:layout_height="wrap_content"
  42.        android:layout_alignParentBottom="true"
  43.        android:layout_toLeftOf="@+id/button_main"
  44.        android:layout_toStartOf="@+id/button_main"
  45.        android:hint="@string/editText_main" />
  46. </RelativeLayout>

Jangan lupa untuk menambahkan file dimens.xml dan string.xml secara manual di dalam res → values. Dan isikan file dimens.xml dan dimens.xml seperti berikut

DATA HOSTED WITH ♥ BY PASTEBIN.COM - DOWNLOAD RAW - SEE ORIGINAL
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3.     <dimen name="activity_vertical_margin">16dp</dimen>
  4.     <dimen name="activity_horizontal_margin">16dp</dimen>
  5. </resources>
DATA HOSTED WITH ♥ BY PASTEBIN.COM - DOWNLOAD RAW - SEE ORIGINAL
  1. <resources>
  2.     <string name="app_name">Two Activity</string>
  3.     <string name="button_main">SEND</string>
  4.     <string name="activity2_name" />
  5.     <string name="text_header" />
  6.     <string name="button_second">Reply</string>
  7.     <string name="editText_second">Enter Your Reply Here</string>
  8.     <string name="text_header_reply">Reply Received</string>
  9.     <string name="editText_main">Enter Your Messege Here</string>
  10. </resources>
  1. Lalu untuk MainActivity.java tambahkan code seperti ini
    DATA HOSTED WITH ♥ BY PASTEBIN.COM - DOWNLOAD RAW - SEE ORIGINAL
    1. import android.content.Intent;
    2. import android.support.v7.app.AppCompatActivity;
    3. import android.os.Bundle;
    4. import android.util.Log;
    5. import android.view.View;
    6. import android.widget.EditText;
    7. import android.widget.TextView;
    8. public class MainActivity extends AppCompatActivity {
    9.     private static final String LOG_TAG = MainActivity.class.getSimpleName();
    10.     public static final String EXTRA_MESSEGE =
    11.             "com.example.android.twoactivities.extra.MESSEGE";
    12.     public static final int TEXT_REQUEST = 1;
    13.     private EditText mMessegeEditText;
    14.     private TextView mReplyHeadTextView;
    15.     private TextView mReplyTextView;
    16.     @Override
    17.     protected void onCreate(Bundle savedInstanceState) {
    18.         super.onCreate(savedInstanceState);
    19.         setContentView(R.layout.activity_main);
    20.         mMessegeEditText = (EditText) findViewById(R.id.editText_main);
    21.         mReplyHeadTextView = (TextView) findViewById(R.id.text_header_reply);
    22.         mReplyTextView = (TextView) findViewById(R.id.text_message_reply);
    23.     }
    24.     public void launchSecondActivity(View view) {
    25.         Log.d(LOG_TAG, "Button clicked!");
    26.         Intent intent = new Intent(this, SecondActivity.class);
    27.         String messege = mMessegeEditText.getText().toString();
    28.         intent.putExtra(EXTRA_MESSEGE, messege);
    29.         startActivityForResult(intent, TEXT_REQUEST);
    30.     }
    31.     public void onActivityResult(int requestCode, int resultCode,
    32.                                  Intent data) {
    33.         super.onActivityResult(requestCode, resultCode, data);
    34.         if (requestCode == TEXT_REQUEST) {
    35.             if (resultCode == RESULT_OK) {
    36.                 String reply =
    37.                         data.getStringExtra(SecondActivity.EXTRA_REPLY);
    38.                 mReplyHeadTextView.setVisibility(View.VISIBLE);
    39.                 mReplyTextView.setText(reply);
    40.                 mReplyTextView.setVisibility(View.VISIBLE);
    41.             }
    42.         }
    43.     }
    44. }
  2. Button SecondActivity akan memiliki fungsi untuk mengirim dan berpindah Activity ke Activity lain. Sekarang kita buat Activity baru dengan cara sebagai berikut: Klik File di pojok kiri atas pada aplikasi → New → Activity → Empty Activity.
    Lalu isikan SecondActivity pada dialog. Ketika sudah klik finish.
  3. Untuk menandakan perpindahan dan mengirim data ke Activity berhasil, silakan tambahkan dua buat TextView dan kondisikan activity_second.xml menjadi seperti berikut.
    DATA HOSTED WITH ♥ BY PASTEBIN.COM - DOWNLOAD RAW - SEE ORIGINAL
    1. <?xml version="1.0" encoding="utf-8"?>
    2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3.    xmlns:tools="http://schemas.android.com/tools"
    4.    android:layout_width="match_parent"
    5.    android:layout_height="match_parent"
    6.    android:paddingBottom="@dimen/activity_vertical_margin"
    7.    android:paddingLeft="@dimen/activity_horizontal_margin"
    8.    android:paddingRight="@dimen/activity_horizontal_margin"
    9.    android:paddingTop="@dimen/activity_vertical_margin"
    10.    tools:context="com.example.dimasaji.twoactivity.SecondActivity">
    11.     <TextView
    12.        android:id="@+id/text_header"
    13.        android:layout_width="wrap_content"
    14.        android:layout_height="wrap_content"
    15.        android:text="@string/text_header"
    16.        android:layout_marginBottom="@dimen/activity_vertical_margin"
    17.        android:textAppearance="?android:attr/textAppearanceMedium"
    18.        android:textStyle="bold"/>
    19.     <TextView
    20.        android:id="@+id/text_message"
    21.        android:layout_width="wrap_content"
    22.        android:layout_height="wrap_content"
    23.        android:layout_below="@+id/text_header"
    24.        android:layout_marginLeft="@dimen/activity_horizontal_margin"
    25.        android:layout_marginStart="@dimen/activity_horizontal_margin"
    26.        android:textAppearance="?android:attr/textAppearanceMedium" />
    27.     <Button
    28.        android:layout_width="wrap_content"
    29.        android:layout_height="wrap_content"
    30.        android:text="@string/button_second"
    31.        android:id="@+id/button_second"
    32.        android:layout_alignParentBottom="true"
    33.        android:layout_alignParentRight="true"
    34.        android:layout_alignParentEnd="true"
    35.        android:onClick="returnReply"/>
    36.     <EditText
    37.        android:id="@+id/editText_second"
    38.        android:layout_width="match_parent"
    39.        android:layout_height="wrap_content"
    40.        android:layout_alignParentBottom="true"
    41.        android:layout_toLeftOf="@+id/button_second"
    42.        android:layout_toStartOf="@+id/button_second"
    43.        android:hint="@string/editText_second" />
    44. </RelativeLayout>

  4. Setelah Activity tujuan sudah berhasil diciptakan, sekarang saatnya menambahkan sebuah kode pada SecondActivity.java menjadi sebagai berikut.
    DATA HOSTED WITH ♥ BY PASTEBIN.COM - DOWNLOAD RAW - SEE ORIGINAL
    1. import android.content.Intent;
    2. import android.support.v7.app.AppCompatActivity;
    3. import android.os.Bundle;
    4. import android.view.View;
    5. import android.widget.EditText;
    6. import android.widget.TextView;
    7. public class SecondActivity extends AppCompatActivity {
    8.     public static final String EXTRA_REPLY =
    9.             "com.example.dimasaji.twoactivities.extra.REPLY";
    10.     private EditText mReply;
    11.     @Override
    12.     protected void onCreate(Bundle savedInstanceState) {
    13.         super.onCreate(savedInstanceState);
    14.         setContentView(R.layout.activity_second);
    15.         mReply = (EditText) findViewById(R.id.editText_second);
    16.         Intent intent = getIntent();
    17.         String message =
    18.                 intent.getStringExtra(MainActivity.EXTRA_MESSEGE);
    19.         TextView textView = (TextView) findViewById(R.id.text_message);
    20.         textView.setText(message);
    21.     }
    22.     public void returnReply(View view) {
    23.         String reply = mReply.getText().toString();
    24.         Intent replyIntent = new Intent();
    25.         replyIntent.putExtra(EXTRA_REPLY, reply);
    26.         setResult(RESULT_OK, replyIntent);
    27.         finish();
    28.     }
    29. }

Selesai! Langkah pertama untuk memindahkan Mengirim data ke Activity ke Activity lain sudah selesai, 

Terima kasih, semoga ,mudah kalian pahami See you...

Tidak ada komentar:

Bilangan Titik Kambang

Assalamualaikum WR.WB… Selamat datang kembali di blog saya, pada kesempatan kali ini saya akan menjelaskan sedikit tentang bilangan ...