Android Studio : How to declare Global Variable

กรณีที่เราต้องการประกาศตัวแปรเพื่อเรียกใช้ภายในแอปปลิคเชันได้จากทุกส่วน เรามีตัวเลือกเบื้องต้น 2 ทางด้วยกัน คือ

  1. การกำหนดตัวแปรในไฟล์ String.xml
  2. การกำหนดตัวแปรแบบ 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 จากนั้นสร้าง

  1. public static string getGlobalVar1() เพื่อใช้ในการเรียกใช้ตัวแปรจากที่อื่น
  2. public static void setGlobalVar1() สำหรับใช้กำหนดค่าตัวแปรจากที่อื่นได้เช่นกัน

วิธีการเรียกใช้ตัวแปรทำได้ดังนี้

String var1 = MainActivity.getGlobalVar1();

วิธีการกำหนดค่าตัวแปรทำได้ดังนี้

MainActivity.setGlobalVar1("new value");

เท่านี้เราก็สามารถเรียกใช้ตัวแปรได้ทั้งแอปปลิเคชันครับ

You may also like...