要保存一些偏好设置,请使用课程EasyPreferences。 由于该库,我需要第二个扩展Application的类。
要将它添加到清单中,我在这里找到了一个聪明的solution。 太简单。很简单。
但由于某种原因,它对我不起作用。
我的第一个申请类:
package com.stack.overflow.network;
import android.app.Application;
import android.content.ContextWrapper;
import android.text.TextUtils;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.Volley;
import com.pixplicity.easyprefs.library.Prefs;
public class NetworkController extends Application {
public static final String TAG = NetworkController.class.getSimpleName();
private RequestQueue mRequestQueue;
private ImageLoader mImageLoader;
//LruBitmapCache mLruBitmapCache;
private static NetworkController mInstance;
@Override
public void onCreate() {
super.onCreate();
mInstance = this;
}
public static synchronized NetworkController getInstance() {
return mInstance;
}
public RequestQueue getRequestQueue() {
if (mRequestQueue == null) {
mRequestQueue = Volley.newRequestQueue(getApplicationContext());
}
return mRequestQueue;
}
/*
public ImageLoader getImageLoader() {
getRequestQueue();
if (mImageLoader == null) {
getLruBitmapCache();
mImageLoader = new ImageLoader(this.mRequestQueue, mLruBitmapCache);
}
return this.mImageLoader;
}*/
/*
public LruBitmapCache getLruBitmapCache() {
if (mLruBitmapCache == null)
mLruBitmapCache = new LruBitmapCache();
return this.mLruBitmapCache;
} */
public <T> void addToRequestQueue(Request<T> req, String tag) {
req.setTag(TextUtils.isEmpty(tag) ? TAG : tag);
getRequestQueue().add(req);
}
public <T> void addToRequestQueue(Request<T> req) {
req.setTag(TAG);
getRequestQueue().add(req);
}
public void cancelPendingRequests(Object tag) {
if (mRequestQueue != null) {
mRequestQueue.cancelAll(tag);
}
}
}
第二个应用程序类:
package com.stack.overflow.HelperClasses.SharedPreferences;
import com.stack.network.NetworkController;
public class PrefsApplication extends NetworkController {
@Override
public void onCreate() {
super.onCreate();
new Prefs.Builder()
.setContext(getApplicationContext())
.setMode(ContextWrapper.MODE_PRIVATE)
.setPrefsName(getPackageName())
.setUseDefaultSharedPreference(true)
.build();
}
}
当我将Prefs.Builder()移动到网络控制器的onCreate()方法时,一切正常。但不是如果它保存在自己的类PrefsApplication中。我不明白为什么。
在AndroidManifest.xml中是名为的NetworkController。
答案 0 :(得分:2)
不需要,Android你的应用程序只能处理你想要的多个应用程序类,因为你必须从A_Application类扩展B_Application类。