Jumat, 20 Juli 2018

Perbedaan Explicit dan Implicit Intent di Android Studio

Hello Guys! Pada kesempatan kali ini, saya mau share lagi nih apa sih perbedaan  Intent Implisit dan Explicit, jadi gambarannya adalah kirim data dari activity pertama ke activity kedua dan menampilkan kembali data yang telah dikirim dari activity pertama ke activity kedua
Oke, sebelum membahas perbedaanya, saya mau jelasin dulu teori dasar dari Activity dan Intent terlebih dahulu.
Activity atau aktivitas adalah layar tunggal pada Aplikasi Android dengan antarmuka (UI) yang bisa digunakan pengguna (Users) untuk berinteraksi didalamnya. Misalnya, aplikasi email mungkin memiliki satu aktivitas yang menampilkan daftar email baru, aktivitas lain untuk menulis email, dan aktivitas lainnya lagi untuk membaca pesan satu per satu. Aplikasi kalian adalah koleksi aktivitas yang kalian buat sendiri atau yang digunakan kembali dari aplikasi lain.
Meskipun aktivitas di aplikasi kalian bekerja sama membentuk pengalaman pengguna yang kohesif di aplikasi, setiap aplikasi tidak saling bergantung. Proses ini memungkinkan aplikasi memulai aktivitas di aplikasi lainnya, dan aplikasi lainnya bisa memulai aktivitas kalian (jika aplikasi mengizinkannya). Misalnya, aplikasi perpesanan yang temen-temen tulis bisa memulai aktivitas di aplikasi kamera untuk mengambil gambar, kemudian memulai aktivitas di aplikasi email untuk memungkinkan pengguna berbagi gambar itu di email.






Apa Sih Definisi dari Intent?

Intent adalah sebuah kelas dalam programming Android (Java) yang berfungsi untuk saling menghubungkan activity satu dengan yang lainnya, tidak hanya menghubungkan, tapi juga bisa mengirimkan data ke activity lain. Intent terbagi menjadi dua macam, Intent Implicit dan Intent Explicit.

  •  Intent Implicit
    Intent Implicit berfungsi memanggil fungsi activity yang cakupannya adalah seluruh activity yang terdapat pada perangkat android, seperti memutar musik, membuka browser, dan lainnya . 
    Sedangkan,
    • Intent Explicit
    Intent Explicit berfungsi untuk berpindah atau memanggil activity lain yang terdapat dalam satu aplikasi yang sama.

    Oke Sekian penjelasan dari saya semoga mudah teman teman pahami


    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...

    Bilangan Titik Kambang

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