Android

Latihan 2 : Metode Intent Sederhana di Android Studio

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

 

<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">
 
    <Button
        android:id="@+id/btn_move_activity"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="16dp"
        android:text="@string/move_activity" />
 
    <Button
        android:id="@+id/btn_move_activity_data"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="16dp"
        android:text="@string/move_with_data" />
 
    <Button
        android:id="@+id/btn_dial_number"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="16dp"
        android:text="@string/dial_number" />
</LinearLayout>

 

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

 

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

 

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

 

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"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="16dp">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/this_is_moveactivity" />
</RelativeLayout>

 

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"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="16dp">
    <TextView
        android:id="@+id/tv_data_received"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/data_received" />
</RelativeLayout>

 

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

 

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

 

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

 

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

 

*Update Android Studio 4.1
Selamat mencoba, terima kasih.



0 Comments


Leave a Reply

Scroll to Top