package com.kymjs.rxvolley.demo;
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Looper;
import android.widget.ImageView;
import com.kymjs.common.FileUtils;
import com.kymjs.common.Log;
import com.kymjs.core.bitmap.client.BitmapCore;
import com.kymjs.okhttp3.OkHttpStack;
import com.kymjs.rxvolley.RxVolley;
import com.kymjs.rxvolley.client.HttpCallback;
import com.kymjs.rxvolley.http.RequestQueue;
import java.io.File;
import java.util.Map;
import okhttp3.OkHttpClient;
/**
* Created by kymjs on 2/23/16.
*/
public class ImageLoadTestActivity extends Activity {
HttpCallback callback;
public ImageView contentView;
protected void setUp() {
RxVolley.setRequestQueue(RequestQueue.newRequestQueue(RxVolley.CACHE_FOLDER,
new OkHttpStack(new OkHttpClient())));
callback = new HttpCallback() {
@Override
public void onPreStart() {
Log.d("=====onPreStart");
Log.d("=====当前线程是主线程" + (Thread.currentThread() == Looper.getMainLooper
().getThread()));
}
//访问网络之前会回调
@Override
public void onPreHttp() {
super.onPreHttp();
Log.d("=====onPreHttp");
Log.d("=====当前线程是主线程" + (Thread.currentThread() == Looper.getMainLooper
().getThread()));
}
//仅在Bitmap回调有效
@Override
public void onSuccess(Map<String, String> headers, Bitmap bitmap) {
super.onSuccess(headers, bitmap);
Log.d("=====onSuccessBitmap" + headers.size());
Log.d("=====当前线程是主线程" + (Thread.currentThread() == Looper.getMainLooper
().getThread()));
}
@Override
public void onFailure(int errorNo, String strMsg) {
super.onFailure(errorNo, strMsg);
Log.d("=====onFailure" + strMsg);
Log.d("=====当前线程是主线程" + (Thread.currentThread() == Looper.getMainLooper
().getThread()));
}
@Override
public void onFinish() {
super.onFinish();
Log.d("=====onFinish");
Log.d("=====当前线程是主线程" + (Thread.currentThread() == Looper.getMainLooper
().getThread()));
}
};
contentView = (ImageView) findViewById(R.id.imageView);
}
protected void tearDown() {
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setUp();
testBitmapWithDiskLoader();
tearDown();
}
public void test() {
new BitmapCore.Builder()
.view(contentView)
.url("http://kymjs.com/image/logo.jpg")
.callback(callback).doTask();
}
/**
* 定制加载中、加载出错的图片
*/
public void testBitmapWithLoadImage() {
new BitmapCore.Builder()
.url("http://kymjs.com/image/logo.jpg")
.callback(callback)
.view(contentView)
.loadResId(R.mipmap.ic_launcher)
.errorResId(R.mipmap.ic_launcher)
.doTask();
}
/**
* 从本地SD卡加载图片(可直接传路径)
*/
public void testBitmapWithDiskLoader() {
new BitmapCore.Builder()
.url(FileUtils.getSDCardPath() + File.separator + "request.png")
.callback(callback)
.view(contentView)
.loadResId(R.mipmap.ic_launcher)
.errorResId(R.mipmap.ic_launcher)
.doTask();
}
/**
* 使用并行模式访问本地图片(默认为串行)
*/
public void testBitmapWithDiskLoader2() {
new BitmapCore.Builder()
.url(FileUtils.getSDCardPath() + File.separator + "request.png")
.callback(callback)
.view(contentView)
.loadResId(R.mipmap.ic_launcher)
.errorResId(R.mipmap.ic_launcher)
//并行访问本地图片
.useAsyncLoadDiskImage(true)
.doTask();
}
}