Bertemu lagi dengan dicoding tips. Kali ini kita akan membagikan tips seputar transportasi data antar activity (Transportasi?? Udah kayak jalanan aja ya hehe ). Oke langsung saja supaya jalanan tidak macet #loh
Sebelumnya pastikan kalian sudah punya project yang akan kita eksekusi. Disini kita akan mencoba mengirim data dari satu Activity ke Activity lain. Yuk langsung saya kita buat tampilan di Activity pertama.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
<?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:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.dicoding.dhahedd.sample.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Who Are You?" /> <TextView android:text="I am " android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="29dp" android:id="@+id/textView3" android:layout_below="@+id/textView" android:layout_alignParentStart="true" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textPersonName" android:ems="10" android:id="@+id/edt_nama" android:layout_alignBaseline="@+id/textView3" android:layout_alignBottom="@+id/textView3" android:layout_alignParentEnd="true" android:layout_toEndOf="@+id/textView3" /> <Button android:text="SEND" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/edt_nama" android:layout_marginTop="26dp" android:id="@+id/btn_send" android:layout_alignParentEnd="true" android:layout_alignParentStart="true" /> </RelativeLayout> |
Selanjutnya di Activity yang kedua, dengan tampilan seperti di bawah ini:
💻 Mulai Belajar Pemrograman
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.
Daftar Sekarang
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<?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:id="@+id/activity_2" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.dicoding.dhahedd.sample.Activity2"> <TextView android:text="TextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentStart="true" android:textSize="20sp" android:layout_marginStart="12dp" android:textStyle="bold" android:id="@+id/txtHello" /> <TextView android:text="This is Second Activity!" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/txtHello" android:layout_alignStart="@+id/txtHello" android:id="@+id/textView4" /> </RelativeLayout> |
Sekarang kita coba mentransfer data dari Activity pertama ke Activity ke dua. Saatnya modifikasi code di kelas Activity yang pertama, kalau disini nama kelasnya “MainActivity” dan Activity ke dua nama kelasnya “Activity2”.
MainActivity.class
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
package com.dicoding.dhahedd.sample; import ... public class MainActivity extends AppCompatActivity { EditText name; Button btnSend; private String KEY_NAME = "NAMA"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); name = (EditText) findViewById(R.id.edt_nama); btnSend = (Button) findViewById(R.id.btn_send); btnSend.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try{ String nama = name.getText().toString(); if (nama != null && nama != ""){ Intent i = new Intent(MainActivity.this, Activity2.class); i.putExtra(KEY_NAME, nama); startActivity(i); } else { Toast.makeText(getApplication(), "YOU NEED TO FILL YOUR NAME",Toast.LENGTH_SHORT); } } catch (Exception e){ e.printStackTrace(); Toast.makeText(getApplication(), "ERROR, TRY AGAIN !",Toast.LENGTH_SHORT); } } }); } } |
Activity2.class
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
package com.dicoding.dhahedd.sample; import ... public class Activity2 extends AppCompatActivity { TextView txtHello; private String nama; private String KEY_NAME = "NAMA"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_2); txtHello = (TextView) findViewById(R.id.txtHello); Bundle extras = getIntent().getExtras(); nama = extras.getString(KEY_NAME); txtHello.setText("Hello, " + nama + " !"); } } |
Sekarang coba run aplikasinya. Gimana, sukses?
Semoga bermanfaat ya, learners. Ingin belajar lebih banyak? Yuk langsung cek Dicoding Academy Belajar Membangun Aplikasi Android Native (www.dicoding.com/academies/26) , materi nya dibuat oleh Google Developer Expert di Indonesia.
Tunggu tips kami selanjutnya !