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.