Rumah >Java >javaTutorial >Bagaimana untuk Mengakses Sumber Rentetan daripada Konteks Statik dalam Android?

Bagaimana untuk Mengakses Sumber Rentetan daripada Konteks Statik dalam Android?

Patricia Arquette
Patricia Arquetteasal
2024-11-12 00:31:03404semak imbas

How to Access String Resources from a Static Context in Android?

Mengakses Kandungan Sumber daripada Konteks Statik

Dalam senario tertentu, adalah perlu untuk mengakses sumber rentetan daripada fail XML sebelum mencipta widget atau melakukan sebarang permulaan yang ketara. Walau bagaimanapun, tanpa kejadian aktif bagi Aktiviti, kaedah tradisional memanggil getResources() pada objek Aktiviti menjadi tidak tersedia.

Penyelesaian

Untuk menyelesaikan isu ini, langkah berikut boleh diambil:

  1. Buat Subkelas Aplikasi: Tentukan subkelas yang memanjangkan Aplikasi, seperti kelas awam App memanjangkan Aplikasi {.
  2. Tetapkan Nama Aplikasi dalam Manifes: Dalam AndroidManifest.xml, tetapkan atribut android:name bagi < permohonan> tag untuk merujuk kelas baharu, contohnya: android:name=".App".
  3. Simpan Konteks dan Cipta Kaedah Statik: Dalam kaedah onCreate() kelas aplikasi, simpan konteks ke medan statik yang dipanggil mContext dan buat kaedah statik bernama getContext() yang mengembalikan medan ini. Ini akan muncul sebagai:
public class App extends Application{

    private static Context mContext;

    @Override
    public void onCreate() {
        super.onCreate();
        mContext = this;
    }

    public static Context getContext(){
        return mContext;
    }
}

Penggunaan

Kini, anda boleh mengakses konteks menggunakan App.getContext() dan seterusnya mendapatkan kandungan sumber melalui getResources() (atau App.getContext().getResources()). Pendekatan ini membolehkan anda mengakses sumber rentetan daripada konteks statik, bebas daripada objek Aktiviti aktif.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Sumber Rentetan daripada Konteks Statik dalam Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn