Activity คือ Application Component ที่ทำหน้าที่ควบคุมการแสดงผล User Interface รวมถึงควบคุมการมีปฏิสัมพันธ์ระหว่างผู้ใช้กับ User Interface ด้วย เช่น การโทรออก, การถ่ายรูป, การส่งอีเมล์ เป็นต้น
โดยปกติแล้ว ใน Application หนึ่ง ๆ จะมี Activity มากกว่าหนึ่ง Activity เสมอ ซึ่งแต่ละ Activity ก็จะมีหน้าที่ที่แตกต่างกันไป เช่น Activity สำหรับควบคุมหน้าจอแสดงรายชื่ออีเมล์, Activity สำหรับควบคุมหน้าจอแบบฟอร์มเพื่อส่งอีเมล์ เป็นต้น และในแต่ละ Activity ใด ๆ ก็สามารถสั่งให้ Activity อื่น ๆ ทำงานได้เสมอ
อย่างไรก็ตาม ในช่วงเวลาหนึ่ง ๆ จะมีเพียง Activity เดียวเท่านั้นที่พร้อมมีปฏิสัมพันธ์กับผู้ใช้ นั่นหมายถึงเมื่อมี Activity ใด ๆ เริ่มทำงานขึ้นมาใหม่ จะทำให้ Activity เดิมที่กำลังทำงานอยู่เปลี่ยน State ของตนเองไป ซึ่ง State หลัก ๆ ของ Activity ได้แก่ Create, Start, Resume, Pause, Stop, และ Destroy ทั้งนี้เพื่อควบคุมการทำงานของ Activity ให้เหมาะสมกับ State ที่เปลี่ยนไปนั้น จะต้องเขียนคำสั่งไว้ภายใน LifeCycle Callback Method ต่าง ๆ เพื่อควบคุมการทำงานของแต่ละ State นั้น ๆ เช่น onCreate ( ) เป็น LifeCycle Callback Method ที่จะถูกทำงานเมื่อ Activity เปลี่ยน State มาเป็น Create, onStart ( ) เป็น LifeCycle Callback Method ที่จะถูกทำงานเมื่อ Activity เปลี่ยน State มาเป็น Start เป็นต้น
การสร้าง Activity ทำได้โดยการสร้าง Class และให้สืบทอดจาก Class Activity หรือสืบทอดจาก Class ใด ๆ ก็ตามที่ได้รับการสืบทอดมาจาก Class Activity
นอกจากนี้ให้ทำการ Override LifeCycle Callback Method ต่าง ๆ เพื่อควบคุมการทำงานให้เหมาะสมกับ State ที่เปลี่ยนแปลงไปมาของ Activity ด้วย ซึ่ง LifeCycle Callback Method หลัก ๆ ได้แก่ onCreate ( ), onStart ( ), onResume ( ), onPause ( ), onStop ( ), และ onDestroy ( )
ตัวอย่างการสร้าง Class Activity
public class NuttdotmeActivity extends Activity{
public void onCreate ( Bundle savedInstanceState ){
super.onCreate ( savedInstanceState );
}
protected void onStart ( ){
super.onStart ( );
}
protected void onResume ( ){
super.onResume ( );
}
protected void onPause ( ){
super.onPause ( );
}
protected void onStop ( ){
super.onStop ( );
}
protected void onDestroy ( ){
super.onDestroy ( );
}
}
User Interface ใน Android มีโครงสร้างลักษณะเป็นแบบ Hierachy ซึ่งประกอบด้วย Object 2 ประเภท คือ View และ ViewGroup โดย ViewGroup เป็น Object ที่คอยทำหน้าที่เป็น Layout ของ View เช่น LinearLayout, RelativeLayout, GridLayout เป็นต้น และ View เป็น Object ที่มองเห็นได้และสามารถมีปฏิสัมพันธ์กับผู้ใช้ได้ เช่น Button, TextView, ImageView เป็นต้น ทั้งนี้จากโครงสร้างของ User Interface ที่มีลักษณะเป็นแบบ Hierachy นั้น สามารถกล่าวได้ว่า Node ใด ๆ ที่เป็น Parent Node จะเป็น Object ประเภท ViewGroup เสมอ และ Node ใด ๆ ที่เป็น Leaf Node จะเป็น Object ประเภท View เสมอ
ในส่วนของการสร้าง User Interface ใน Activity นั้น สามารถทำได้ 2 วิธี วิธีแรกคือการสร้างไว้ใน XML File ซึ่งข้อดีคือเป็นการแยกส่วนที่เป็น User Interface ออกจากพฤติกรรมของระบบอย่างชัดเจน และอีกวิธีหนึ่งคือการเขียนคำสั่งในการสร้าง User Interface ไว้ภายใน Activity เลย ทั้งนี้โดยส่วนมากแล้วนิยมใช้ 2 วิธีข้างต้นร่วมกันในการสร้าง User Interface โดยโครงสร้างหลักของ User Interface จะถูกเขียนไว้ใน XML File และส่วนใดที่ต้องการให้เกิดการเปลี่ยนแปลงในขณะ Run Time ก็จะเขียนคำสั่งไว้ภายใน Activity