Android Studio : How to declare Global Variable
กรณีที่เราต้องการประกาศตัวแปรเพื่อเรียกใช้ภายในแอปปลิคเชันได้จากทุกส่วน เรามีตัวเลือกเบื้องต้น 2 ทางด้วยกัน คือ
- การกำหนดตัวแปรในไฟล์ String.xml
- การกำหนดตัวแปรแบบ Public static ใน Java Class
การกำหนดตัวแปรในไฟล์ String.xml
แบบที่ 1 ให้เราเข้าไปที่ Project-> -> res -> values -> strings.xml
การประกาศตัวแปรสามารถทำได้โดยใส่ tag ตามประเภทของตัวแปร เช่น
<string name="var1">Value of var1</string> <bool name="var2">true</bool>
วิธีการเรียกใช้ในแต่ละส่วน
1.1 กรณีเรียกใช้จาก Java Class
กรณีนี้เราจำเป็นต้องเรียกใช้ฟังก์ชันตัวช่วย ดังนี้
String V1= getString(R.string.var1); boolean V2=getBoolean(R.bool.var2);
เป็นต้น
1.2 กรณีเรียกใช้จาก Layout XML
การเรียกจาก layout xml เราจะเรียกตามรูปแบบดังนี้ @string/<ชื่อตัวแปร> เช่น
android:tag="@string/var1"
การกำหนดตัวแปรแบบ Public static ใน Java Class
สำหรับกรณีนี้เรามักจะใช้เมื่อมีการประมวลผล หรือดำเนินการใดๆก่อนแล้วได้ผลลัพธ์ออกมา จากนั้นต้องการส่งผลลัพธ์ที่ได้ไปให้ส่วนอื่นๆใช้งาน โดยไม่ต้องมาประมวลผลใหม่อีก เราสามารถทำได้ดังตัวอย่าง
สมมติว่าเรามี Java Class แรกคือ MainActivity ดังนี้
public class MainActivity extends Application {
private static String Var1;
public static String getGlobalVar1() {
return Var1;
}
public static void setGlobalVar1(String s_Var) {
Var1 = s_Var
}
}
จากตัวอย่างเราประกาศตัวแปรชื่อ Var1 แบบ static String จากนั้นสร้าง
- public static string getGlobalVar1() เพื่อใช้ในการเรียกใช้ตัวแปรจากที่อื่น
- public static void setGlobalVar1() สำหรับใช้กำหนดค่าตัวแปรจากที่อื่นได้เช่นกัน
วิธีการเรียกใช้ตัวแปรทำได้ดังนี้
String var1 = MainActivity.getGlobalVar1();
วิธีการกำหนดค่าตัวแปรทำได้ดังนี้
MainActivity.setGlobalVar1("new value");
เท่านี้เราก็สามารถเรียกใช้ตัวแปรได้ทั้งแอปปลิเคชันครับ