0

我的 有问题NetworkView,我正在尝试在我的应用程序中加载图像,并且图像 url 来自我的本地主机 127.0.0.1。但它似乎不起作用我只看到networkView.setDefaultImage.

这是我JSON从 logcat 的输出:

json

这是我的代码:LruCacheMap.java

public class LruCacheMap extends LruCache<String,Bitmap> implements ImageLoader.ImageCache{

public static int getDefaultLruCacheSize() {
    final int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);
    final int cacheSize = maxMemory / 8;

    return cacheSize;
}

//CONSTRUCTOR
public LruCacheMap(){
    //put the method
    this(getDefaultLruCacheSize());
}

//EQUIVALENT SIZE IN Kb
public LruCacheMap(int sizeInKiloBytes){
    super(sizeInKiloBytes);
}

@Override
protected int sizeOf(String key, Bitmap value) {
    return value.getRowBytes() * value.getHeight() / 1024;
}

@Override
public Bitmap getBitmap(String url) {
    return get(url);
}

@Override
public void putBitmap(String url, Bitmap bitmap) {
    put(url,bitmap);
} }

这是我的代码片段OrgListAdapter.java

@Override
public void onBindViewHolder(OrgViewHolder holder, int position) {

    if (mOrganizationData.get(position).getOrgType().equalsIgnoreCase("Public")){
        holder.appCompatImageViewOrgType.setImageResource(R.drawable.ic_type_public);
    }else {
        holder.appCompatImageViewOrgType.setImageResource(R.drawable.ic_action_private_group);
    }

    //IMAGE LOADER orgLogoName
        if (imageLoader == null) {
            imageLoader = SingletonController.getInstance().getImageLoader();
            Log.e("ImageLoader Problem",imageLoader+"");
        }

        orgLogoName = mOrganizationData.get(position).getOrgLogoName();
        orgLogoPath = mOrganizationData.get(position).getOrgLogoPath();
        logoUrl = orgLogoPath + orgLogoName;

        holder.networkImageViewLogo.setDefaultImageResId(R.drawable.picture_32px);

        if (logoUrl != null){
            Log.e("The URL: ", logoUrl);
            holder.networkImageViewLogo.setBackgroundColor(GetColorSdk.getColor(mContext,R.color.appIntroColorFifth));
            holder.networkImageViewLogo.setImageUrl(logoUrl,imageLoader);

        }else{
            holder.networkImageViewLogo.setErrorImageResId(R.drawable.picture_32px);
        }
    }

这是我的控制器 -SingletonController.java

public class SingletonController extends Application{

public static final String TAG = SingletonController.class.getSimpleName();
public Context mContext;
private RequestQueue mRequestQueue;
private ImageLoader mImageLoader;
LruCacheMap mLruBitmapCache;

private static SingletonController mInstance;

public SingletonController(){}

public SingletonController(Context context){
    this.mContext = context;
}

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

public static synchronized SingletonController getInstance() {
    return mInstance;
}

public RequestQueue getRequestQueue() {
    if (mRequestQueue == null) {
        mRequestQueue = Volley.newRequestQueue(getApplicationContext());
    }

    return mRequestQueue;
}

public ImageLoader getImageLoader() {
    //REQUEST QUEUE
        getRequestQueue();

    if (mImageLoader == null) {
        getLruBitmapCache();
        mImageLoader = new ImageLoader(this.mRequestQueue, mLruBitmapCache);
    }
    return this.mImageLoader;
}

public LruCacheMap getLruBitmapCache() {
    if (mLruBitmapCache == null)
        mLruBitmapCache = new LruCacheMap();
    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);
    }
} }

我尝试调试,它表明它不为空。我想在networkImage.

一个

注意:我用这个我的笔记本电脑变成了一个 hospot,并获得了ipV4. 我的笔记本电脑用作服务器。我正在使用模拟器(Geny Motion)和实际设备。

在我的网址代码中:public static final String URL = "http://127.0.0.1/organization/org_logo/" ;

4

0 回答 0