Membuat class LoginActivity
Mari kita buat class baru dengan cara klik kanan pada project TodoList > new > class. Beri nama LoginActivity, kemudian tambahkan code extends AppCompatActivity
public class LoginActivity extends AppComppatActivity{
//....any code here
}
AppCompatActivity
adalah class turunan dari Activity
yang ditambahkan fitur actionbar. Kemudian kita turunkan lagi menjadi LoginActivity
. Method yang dieksekusi pertama kali ketika aplikasi dijalankan adalah onCreate()
maka kita tambahkan method tersebut sehingga class menjadi seperti berikut.
public class LoginActivity extends AppComppatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login_activity.xml);
}
}
Method onCreate()
sebenarnya milik super class Activity. Namun karena kita berkepentingan memakai method tersebut, maka dilakukan overriding. Dalam konsep OOP, overriding adalah menulis kembali method yang sama mulai dari nama method dan isinya dan mengimplementasi kembali di sub classnya. Nah, disini menariknya!. Didalam onCreate()
kita menemukan method setContentView()
. Method ini digunakan untuk memasangkan layout login_activity.xml dengan LoginActivity.java.
Perhatikan kembali layout activity_login.xml. Pada layout tersebut, komponen yang akan kita kontrol adalah dua ubah EditText (email, password), sebuah Button (login) dan sebuah TextView (register here). Maka selanjutnya, tambahkan deklarasi object-object tersebut diatas method onCreate()
public class LoginActivity extends AppComppatActivity{
EditText editTextEmail,editTextPassword;
TextView textViewRegister;
Button buttonLogin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login_activity.xml);
}
}
Langkah berikutnya, kita pasangkan satu-satu object diatas dengan komponen yang berada pada layout activity_login.xml. Caranya dengan menggunakan method findViewById()
. Contohnya seperti berikut.
public class LoginActivity extends AppComppatActivity{
EditText editTextEmail,editTextPassword;
TextView textViewRegister;
Button buttonLogin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login_activity.xml);
setupView();
}
private void setupView(){
editTextEmail=findViewById(R.id.editTextEmail);
editTextPassword=findViewById(R.id.editTextPassword);
textViewRegister=findViewById(R.id.textViewRegister);
buttonLogin=findViewById(R.id.buttonLogin);
}
}
Dari mana asalnya R.id.editTextEmail
? id tersebut merupakan hasil generate dari AS, mengacu penamaan id yang diberikan pada layout activity_login.xml .
<EditText
android:id="@+id/editTextEmail"
android:hint="email"
android:inputType="textEmailAddress"
android:ems="10"/>
Ok, mari kita lanjutkan class lainnya..