यह आपको applicationContext
कहीं से भी प्राप्त करने की अनुमति देता है, ताकि आप applicationContext
इसे कहीं भी उपयोग कर सकें; Toast
, getString()
, sharedPreferences
, आदि
सिंगलटन:
package com.domain.packagename;
import android.content.Context;
/**
* Created by Versa on 10.09.15.
*/
public class ApplicationContextSingleton {
private static PrefsContextSingleton mInstance;
private Context context;
public static ApplicationContextSingleton getInstance() {
if (mInstance == null) mInstance = getSync();
return mInstance;
}
private static synchronized ApplicationContextSingleton getSync() {
if (mInstance == null) mInstance = new PrefsContextSingleton();
return mInstance;
}
public void initialize(Context context) {
this.context = context;
}
public Context getApplicationContext() {
return context;
}
}
अपने Application
उपवर्ग में सिंगलटन की शुरुआत करें :
package com.domain.packagename;
import android.app.Application;
/**
* Created by Versa on 25.08.15.
*/
public class mApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
ApplicationContextSingleton.getInstance().initialize(this);
}
}
अगर मैं गलत नहीं हूँ, तो यह आपको हर जगह ApplicationContext के लिए एक हुक प्रदान करता है, इसे ApplicationContextSingleton.getInstance.getApplicationContext();
आप के साथ कॉल करें किसी भी बिंदु पर आपको इसे खाली करने की आवश्यकता नहीं है, जैसे ही आवेदन बंद हो जाता है, वैसे भी इसके साथ जाता है।
AndroidManifest.xml
इस Application
उपवर्ग का उपयोग करने के लिए अपडेट करना याद रखें :
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.domain.packagename"
>
<application
android:allowBackup="true"
android:name=".mApplication" <!-- This is the important line -->
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:icon="@drawable/app_icon"
>
कृपया मुझे बताएं कि अगर आपको यहां कुछ भी गलत दिखाई देता है, तो धन्यवाद। :)