当前位置: 首页>>代码示例>>Java>>正文


Java Callback.Cancelable方法代码示例

本文整理汇总了Java中org.xutils.common.Callback.Cancelable方法的典型用法代码示例。如果您正苦于以下问题:Java Callback.Cancelable方法的具体用法?Java Callback.Cancelable怎么用?Java Callback.Cancelable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.xutils.common.Callback的用法示例。


在下文中一共展示了Callback.Cancelable方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: stopAllDownload

import org.xutils.common.Callback; //导入方法依赖的package包/类
public void stopAllDownload() {
    for (DownloadInfo downloadInfo : downloadInfoList) {
        Callback.Cancelable cancelable = callbackMap.get(downloadInfo);
        if (cancelable != null) {
            cancelable.cancel();
        }
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:9,代码来源:DownloadManager.java

示例2: send

import org.xutils.common.Callback; //导入方法依赖的package包/类
public static Callback.Cancelable send(Callback.CommonCallback<BaiduResponse> callback) {
    JsonDemoParams params = new JsonDemoParams();
    params.paramStr = "test";
    params.paramInt = 10;
    params.paramList = new ArrayList<String>();
    params.paramList.add("test");
    return x.http().post(params, callback);
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:9,代码来源:JsonDemoParams.java

示例3: request

import org.xutils.common.Callback; //导入方法依赖的package包/类
@Override
public <T> Callback.Cancelable request(HttpMethod method, RequestParams entity, Callback.CommonCallback<T> callback) {
    entity.setMethod(method);
    Callback.Cancelable cancelable = null;
    if (callback instanceof Callback.Cancelable) {
        cancelable = (Callback.Cancelable) callback;
    }
    HttpTask<T> task = new HttpTask<T>(entity, cancelable, callback);
    return x.task().start(task);
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:11,代码来源:HttpManagerImpl.java

示例4: stopAll

import org.xutils.common.Callback; //导入方法依赖的package包/类
public synchronized void stopAll() {
    for(String key : callbackMap.keySet()) {
        Callback.Cancelable cancelable = callbackMap.get(key);
        if(cancelable != null) {
            cancelable.cancel();
        }
    }
    waitingList.clear();
    downloadingList.clear();
    callbackMap.clear();
}
 
开发者ID:ting4937,项目名称:AndroidUtils,代码行数:12,代码来源:DownloadManager.java

示例5: stopDownload

import org.xutils.common.Callback; //导入方法依赖的package包/类
public synchronized void stopDownload(IDownloader iDownloader) {
    Callback.Cancelable cancelable = callbackMap.get(iDownloader.getDownloaderId());
    if(cancelable != null) {
        cancelable.cancel();
    }
    removeDownloadInfo(iDownloader);
    startDownloadSchedule();
}
 
开发者ID:ting4937,项目名称:AndroidUtils,代码行数:9,代码来源:DownloadManager.java

示例6: stopDownload

import org.xutils.common.Callback; //导入方法依赖的package包/类
public void stopDownload(DownloadInfo downloadInfo) {
    Callback.Cancelable cancelable = callbackMap.get(downloadInfo);
    if (cancelable != null) {
        cancelable.cancel();
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:7,代码来源:DownloadManager.java

示例7: get

import org.xutils.common.Callback; //导入方法依赖的package包/类
@Override
public <T> Callback.Cancelable get(RequestParams entity, Callback.CommonCallback<T> callback) {
    return request(HttpMethod.GET, entity, callback);
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:5,代码来源:HttpManagerImpl.java

示例8: post

import org.xutils.common.Callback; //导入方法依赖的package包/类
@Override
public <T> Callback.Cancelable post(RequestParams entity, Callback.CommonCallback<T> callback) {
    return request(HttpMethod.POST, entity, callback);
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:5,代码来源:HttpManagerImpl.java

示例9: HttpTask

import org.xutils.common.Callback; //导入方法依赖的package包/类
public HttpTask(RequestParams params, Callback.Cancelable cancelHandler,
                Callback.CommonCallback<ResultType> callback) {
    super(cancelHandler);

    assert params != null;
    assert callback != null;

    // set params & callback
    this.params = params;
    this.callback = callback;
    if (callback instanceof Callback.CacheCallback) {
        this.cacheCallback = (Callback.CacheCallback<ResultType>) callback;
    }
    if (callback instanceof Callback.PrepareCallback) {
        this.prepareCallback = (Callback.PrepareCallback) callback;
    }
    if (callback instanceof Callback.ProgressCallback) {
        this.progressCallback = (Callback.ProgressCallback<ResultType>) callback;
    }
    if (callback instanceof RequestInterceptListener) {
        this.requestInterceptListener = (RequestInterceptListener) callback;
    }

    // init tracker
    {
        RequestTracker customTracker = params.getRequestTracker();
        if (customTracker == null) {
            if (callback instanceof RequestTracker) {
                customTracker = (RequestTracker) callback;
            } else {
                customTracker = UriRequestFactory.getDefaultTracker();
            }
        }
        if (customTracker != null) {
            tracker = new RequestTrackerWrapper(customTracker);
        }
    }

    // init executor
    if (params.getExecutor() != null) {
        this.executor = params.getExecutor();
    } else {
        if (cacheCallback != null) {
            this.executor = CACHE_EXECUTOR;
        } else {
            this.executor = HTTP_EXECUTOR;
        }
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:50,代码来源:HttpTask.java

示例10: AbsTask

import org.xutils.common.Callback; //导入方法依赖的package包/类
public AbsTask(Callback.Cancelable cancelHandler) {
    this.cancelHandler = cancelHandler;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:4,代码来源:AbsTask.java

示例11: loadDrawable

import org.xutils.common.Callback; //导入方法依赖的package包/类
@Override
public Callback.Cancelable loadDrawable(String url, ImageOptions options, Callback.CommonCallback<Drawable> callback) {
    return ImageLoader.doLoadDrawable(url, options, callback);
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:5,代码来源:ImageManagerImpl.java

示例12: loadFile

import org.xutils.common.Callback; //导入方法依赖的package包/类
@Override
public Callback.Cancelable loadFile(String url, ImageOptions options, Callback.CacheCallback<File> callback) {
    return ImageLoader.doLoadFile(url, options, callback);
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:5,代码来源:ImageManagerImpl.java

示例13: decodeFileWithLock

import org.xutils.common.Callback; //导入方法依赖的package包/类
/**
 * decode image file for ImageLoader
 *
 * @param file
 * @param options
 * @param cancelable
 * @return
 * @throws IOException
 */
/*package*/
static Drawable decodeFileWithLock(final File file,
                                   final ImageOptions options,
                                   final Callback.Cancelable cancelable) throws IOException {
    if (file == null || !file.exists() || file.length() < 1) return null;
    if (cancelable != null && cancelable.isCancelled()) {
        throw new Callback.CancelledException("cancelled during decode image");
    }

    Drawable result = null;
    if (!options.isIgnoreGif() && isGif(file)) {
        Movie movie = null;
        synchronized (gifDecodeLock) { // decode with lock
            movie = decodeGif(file, options, cancelable);
        }
        if (movie != null) {
            result = new GifDrawable(movie, (int) file.length());
        }
    } else {
        Bitmap bitmap = null;
        { // decode with lock
            try {
                while (bitmapDecodeWorker.get() >= BITMAP_DECODE_MAX_WORKER
                        && (cancelable == null || !cancelable.isCancelled())) {
                    synchronized (bitmapDecodeLock) {
                        try {
                            bitmapDecodeLock.wait();
                        } catch (InterruptedException iex) {
                            throw new Callback.CancelledException("cancelled during decode image");
                        } catch (Throwable ignored) {
                        }
                    }
                }

                if (cancelable != null && cancelable.isCancelled()) {
                    throw new Callback.CancelledException("cancelled during decode image");
                }

                bitmapDecodeWorker.incrementAndGet();
                // get from thumb cache
                if (options.isCompress()) {
                    bitmap = getThumbCache(file, options);
                }
                if (bitmap == null) {
                    bitmap = decodeBitmap(file, options, cancelable);
                    // save to thumb cache
                    if (bitmap != null && options.isCompress()) {
                        final Bitmap finalBitmap = bitmap;
                        THUMB_CACHE_EXECUTOR.execute(new Runnable() {
                            @Override
                            public void run() {
                                saveThumbCache(file, options, finalBitmap);
                            }
                        });
                    }
                }
            } finally {
                bitmapDecodeWorker.decrementAndGet();
                synchronized (bitmapDecodeLock) {
                    bitmapDecodeLock.notifyAll();
                }
            }
        }
        if (bitmap != null) {
            result = new ReusableBitmapDrawable(x.app().getResources(), bitmap);
        }
    }
    return result;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:79,代码来源:ImageDecoder.java

示例14: startDownloadSchedule

import org.xutils.common.Callback; //导入方法依赖的package包/类
private synchronized void startDownloadSchedule() {
    if(downloadingList.size() < MAX_DOWNLOAD_THREAD) {
        if(waitingList.isEmpty()) return;
        final IDownloader iDownloader = waitingList.get(0);
        downloadingList.add(iDownloader);
        waitingList.remove(0);
        Callback.ProgressCallback progressCallback = new Callback.ProgressCallback<File>() {
            @Override
            public void onSuccess(File result) {
                LogUtil.d(iDownloader.getDownloaderId() + " success");
                iDownloader.onSuccess(result);
            }

            @Override
            public void onError(Throwable ex, boolean isOnCallback) {
                LogUtil.d(iDownloader.getDownloaderId() + " error");
                iDownloader.onError(ex, isOnCallback);
            }

            @Override
            public void onCancelled(CancelledException cex) {
                LogUtil.d(iDownloader.getDownloaderId() + " cancelled");
                iDownloader.onCancelled(cex);
            }

            @Override
            public void onFinished() {
                LogUtil.d(iDownloader.getDownloaderId() + " finished");
                removeDownloadInfo(iDownloader);
                startDownloadSchedule();
                iDownloader.onFinished();
            }

            @Override
            public void onWaiting() {
            }

            @Override
            public void onStarted() {
                LogUtil.d(iDownloader.getDownloaderId() + " started");
                iDownloader.onStarted();
            }

            @Override
            public void onLoading(long total, long current, boolean isDownloading) {
                iDownloader.onLoading(total, current, isDownloading);
            }
        };
        File saveFile = new File(iDownloader.getSavePath());
        if(!iDownloader.isReplace() && saveFile.exists()) {
            progressCallback.onSuccess(saveFile);
            progressCallback.onFinished();
        } else {
            String fileSavePath = saveFile.getAbsolutePath();
            RequestParams requestParams = new RequestParams(iDownloader.getDownloadUrl());
            requestParams.setAutoResume(true);
            requestParams.setAutoRename(iDownloader.isAutoRename());
            requestParams.setSaveFilePath(fileSavePath);
            requestParams.setCancelFast(true);

            Callback.Cancelable cancelable = x.http().get(requestParams, progressCallback);
            callbackMap.put(iDownloader.getDownloaderId(), cancelable);
        }
    }
}
 
开发者ID:ting4937,项目名称:AndroidUtils,代码行数:66,代码来源:DownloadManager.java

示例15: get

import org.xutils.common.Callback; //导入方法依赖的package包/类
/**
 * 异步GET请求
 *
 * @param entity
 * @param callback
 * @param <T>
 * @return
 */
<T> Callback.Cancelable get(RequestParams entity, Callback.CommonCallback<T> callback);
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:10,代码来源:HttpManager.java


注:本文中的org.xutils.common.Callback.Cancelable方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。