Mobile 18 May 2021 276 views 0 komentar

Latihan 2 Metode Intent Sederhana di Android Studio

Latihan 2 Metode Intent Sederhana di Android Studio

Apa itu Intent?

Buat satu project android, kemudian silakan pilih berkas activity_main.xml pada workspace kamu (res/layout/activity_main.xml), dan ikutin coding seperti di bawah : 

<?xml version="1.0" encoding="utf-8"?></code><br /><code class="language-java"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"</code><br /><code class="language-java">    xmlns:tools="http://schemas.android.com/tools"</code><br /><code class="language-java">    android:layout_width="match_parent"</code><br /><code class="language-java">    android:layout_height="match_parent"</code><br /><code class="language-java">    android:orientation="vertical"</code><br /><code class="language-java">    android:padding="16dp"></code><br /><code class="language-java"> </code><br /><code class="language-java">    <Button</code><br /><code class="language-java">        android:id="@+id/btn_move_activity"</code><br /><code class="language-java">        android:layout_width="match_parent"</code><br /><code class="language-java">        android:layout_height="wrap_content"</code><br /><code class="language-java">        android:layout_marginBottom="16dp"</code><br /><code class="language-java">        android:text="@string/move_activity" /></code><br /><code class="language-java"> </code><br /><code class="language-java">    <Button</code><br /><code class="language-java">        android:id="@+id/btn_move_activity_data"</code><br /><code class="language-java">        android:layout_width="match_parent"</code><br /><code class="language-java">        android:layout_height="wrap_content"</code><br /><code class="language-java">        android:layout_marginBottom="16dp"</code><br /><code class="language-java">        android:text="@string/move_with_data" /></code><br /><code class="language-java"> </code><br /><code class="language-java">    <Button</code><br /><code class="language-java">        android:id="@+id/btn_dial_number"</code><br /><code class="language-java">        android:layout_width="match_parent"</code><br /><code class="language-java">        android:layout_height="wrap_content"</code><br /><code class="language-java">        android:layout_marginBottom="16dp"</code><br /><code class="language-java">        android:text="@string/dial_number" /></code><br /><code class="language-java"></LinearLayout>

dan atur juga resources pada berkas res/values/strings.xml seperti ini : 

<resources></code><br /><code class="language-java">     <string name="app_name">MyIntentApp</string></code><br /><code class="language-java">     <string name="move_activity">Pindah Activity</string></code><br /><code class="language-java">     <string name="move_with_data">Pindah Activity dengan Data</string></code><br /><code class="language-java">     <string name="dial_number">Dial a Number</string></code><br /><code class="language-java">     <string name="data_received">Data Diterima</string></code><br /><code class="language-java">     <string name="this_is_moveactivity">Ini MoveActivity</string></code><br /><code class="language-java"></resources>

Jenis-jenis Intent

1. Explicit Intent

Selanjutnya setelah selesai, lanjutkan dengan membuka berkas MainActivity.Java dan lanjutkan ngoding baris-baris di bawah ini :

public class MainActivity extends AppCompatActivity implements View.OnClickListener{</code><br /><code class="language-java"> </code><br /><code class="language-java">    @Override</code><br /><code class="language-java">    protected void onCreate(Bundle savedInstanceState) {</code><br /><code class="language-java">        super.onCreate(savedInstanceState);</code><br /><code class="language-java">        setContentView(R.layout.activity_main);</code><br /><code class="language-java"> </code><br /><code class="language-java">        Button btnMoveActivity = findViewById(R.id.btn_move_activity);</code><br /><code class="language-java">        btnMoveActivity.setOnClickListener(this);</code><br /><code class="language-java"> </code><br /><code class="language-java">        Button btnMoveWithDataActivity = findViewById(R.id.btn_move_activity_data);</code><br /><code class="language-java">        btnMoveWithDataActivity.setOnClickListener(this);</code><br /><code class="language-java"> </code><br /><code class="language-java">        Button btnDialPhone = findViewById(R.id.btn_dial_number);</code><br /><code class="language-java">        btnDialPhone.setOnClickListener(this);</code><br /><code class="language-java">    }</code><br /><code class="language-java"> </code><br /><code class="language-java">    @Override</code><br /><code class="language-java">    public void onClick(View v) {</code><br /><code class="language-java">        if (v.getId() == R.id.btn_move_activity) {</code><br /><code class="language-java">            Intent moveIntent = new Intent(MainActivity.this, MoveActivity.class);</code><br /><code class="language-java">            startActivity(moveIntent);</code><br /><code class="language-java">        } else if (v.getId() == R.id.btn_move_activity_data) {</code><br /><code class="language-java">            Intent moveWithDataIntent = new Intent(MainActivity.this, MoveWithDataActivity.class);</code><br /><code class="language-java">            moveWithDataIntent.putExtra(MoveWithDataActivity.EXTRA_NAME, "DicodingAcademy Boy");</code><br /><code class="language-java">            moveWithDataIntent.putExtra(MoveWithDataActivity.EXTRA_AGE, 5);</code><br /><code class="language-java">            startActivity(moveWithDataIntent);</code><br /><code class="language-java">        } else if (v.getId() == R.id.btn_dial_number) {</code><br /><code class="language-java">            String phoneNumber = "081210841382";</code><br /><code class="language-java">            Intent dialPhoneIntent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + phoneNumber));</code><br /><code class="language-java">            startActivity(dialPhoneIntent);</code><br /><code class="language-java">        }</code><br /><code class="language-java">    }</code><br /><code class="language-java">}

2. Implicit Intent

Mengirim Data Antar Activity

Pertama buat activity baru untuk menampilkan perpindahan activity dengan cara sebagai berikut : Klik kanan di package utama aplikasi package name → New → Activity → Empty Activity. Dan beri nama dengan MoveActivity dan layout name activity_move. Lalu buka activity_move.xml dan tambahkan satu TextView seperti berikut :

<?xml version="1.0" encoding="utf-8"?></code><br /><code class="language-java"><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"</code><br /><code class="language-java">    xmlns:tools="http://schemas.android.com/tools"</code><br /><code class="language-java">    android:layout_width="match_parent"</code><br /><code class="language-java">    android:layout_height="match_parent"</code><br /><code class="language-java">    android:padding="16dp"></code><br /><code class="language-java">    <TextView</code><br /><code class="language-java">        android:layout_width="match_parent"</code><br /><code class="language-java">        android:layout_height="wrap_content"</code><br /><code class="language-java">        android:text="@string/this_is_moveactivity" /></code><br /><code class="language-java"></RelativeLayout>

Mengirim Data

Kedua buat activity baru untuk menampilkan perpindahan activity dengan mengirim data dan beri nama dengan MoveWithDataActivity dan layout name activity_move_with_data. Lalu buka activity_move_with_data.xml dan tambahkan satu TextView seperti berikut :

<?xml version="1.0" encoding="utf-8"?></code><br /><code class="language-java"><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"</code><br /><code class="language-java">    android:layout_width="match_parent"</code><br /><code class="language-java">    android:layout_height="match_parent"</code><br /><code class="language-java">    android:padding="16dp"></code><br /><code class="language-java">    <TextView</code><br /><code class="language-java">        android:id="@+id/tv_data_received"</code><br /><code class="language-java">        android:layout_width="match_parent"</code><br /><code class="language-java">        android:layout_height="wrap_content"</code><br /><code class="language-java">        android:text="@string/data_received" /></code><br /><code class="language-java"></RelativeLayout>

Menerima Data

dan buka activity_move_with_data.java dan kondisikan sesuai perintah dibawah ini :

public class MoveWithDataActivity extends AppCompatActivity {</code><br /><code class="language-java">    public static final String EXTRA_AGE = "extra_age";</code><br /><code class="language-java">    public static final String EXTRA_NAME = "extra_name";</code><br /><code class="language-java"> </code><br /><code class="language-java">    @Override</code><br /><code class="language-java">    protected void onCreate(Bundle savedInstanceState) {</code><br /><code class="language-java">        super.onCreate(savedInstanceState);</code><br /><code class="language-java">        setContentView(R.layout.activity_move_with_data);</code><br /><code class="language-java"> </code><br /><code class="language-java">        TextView tvDataReceived = findViewById(R.id.tv_data_received);</code><br /><code class="language-java">        String name = getIntent().getStringExtra(EXTRA_NAME);</code><br /><code class="language-java">        int age = getIntent().getIntExtra(EXTRA_AGE, 0);</code><br /><code class="language-java">        String text = "Name : " + name + ",
Your Age : " + age;</code><br /><code class="language-java">        tvDataReceived.setText(text);</code><br /><code class="language-java">    }</code><br /><code class="language-java">}

Kesimpulan

Terakhir pastikan activity yang dibuat sudah ter-register pada AndroidManifest.xml, tampilan dapat dilihat seperti berikut :

<?xml version="1.0" encoding="utf-8"?></code><br /><code class="language-java"><manifest xmlns:android="http://schemas.android.com/apk/res/android"</code><br /><code class="language-java">    package="com.dicoding.picodiploma.myintentapp"></code><br /><code class="language-java"> </code><br /><code class="language-java">    <application</code><br /><code class="language-java">        android:allowBackup="true"</code><br /><code class="language-java">        android:icon="@mipmap/ic_launcher"</code><br /><code class="language-java">        android:label="@string/app_name"</code><br /><code class="language-java">        android:supportsRtl="true"</code><br /><code class="language-java">        android:theme="@style/AppTheme"></code><br /><code class="language-java">        <activity android:name=".MainActivity"></code><br /><code class="language-java">            <intent-filter></code><br /><code class="language-java">                <action android:name="android.intent.action.MAIN" /></code><br /><code class="language-java"> </code><br /><code class="language-java">                <category android:name="android.intent.category.LAUNCHER" /></code><br /><code class="language-java">            </intent-filter></code><br /><code class="language-java">        </activity></code><br /><code class="language-java">        <activity android:name=".MoveActivity" /></code><br /><code class="language-java">        <activity android:name=".MoveWithDataActivity " /></code><br /><code class="language-java">    </application></code><br /><code class="language-java"> </code><br /><code class="language-java"></manifest>

*Update Android Studio 4.1
Selamat mencoba, terima kasih.

Tags Artikel: #Latihan

Bagikan artikel ini:

Komentar (0)

Belum ada komentar. Jadilah yang pertama memberikan tanggapan!

Tinggalkan Komentar