gpt4 book ai didi

android - 一个项目中的多个应用程序类

转载 作者:行者123 更新时间:2023-11-29 20:22:05 30 4
gpt4 key购买 nike

为了保存一些偏好,我使用类 EasyPreferences .由于该库,我需要第二个扩展应用程序的类。

为了将它添加到 list 中,我在这里找到了一个聪明的 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() 移动到网络 Controller 的 onCreate() 方法时,一切正常。但如果它保存在自己的类 PrefsApplication 中,则不会。我不明白为什么。

在 AndroidManifest.xml 中是类 NetworkController 命名的。

最佳答案

没必要,Android 您的应用程序只能处理 1 个应用程序类,否则您需要多个应用程序类,因为您必须从 A_Application 类扩展 B_Application 类。

关于android - 一个项目中的多个应用程序类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33035416/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com