Skip to content

Commit a44ce6d

Browse files
committed
KJBitmap添加加载加密传输的图片功能
1 parent 6f7a79c commit a44ce6d

File tree

4 files changed

+27
-14
lines changed

4 files changed

+27
-14
lines changed

KJFrame/kjframe/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
22
apply plugin: 'com.jfrog.bintray'
33
apply plugin: 'com.github.dcendents.android-maven'
44

5-
version = "2.4.3"
5+
version = "2.4.3.2"
66

77
android {
88
compileSdkVersion 22

KJFrame/kjframe/src/main/java/org/kymjs/kjframe/KJBitmap.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,12 @@ public KJBitmap() {
6969
}
7070

7171
public KJBitmap(BitmapConfig bitmapConfig) {
72+
this(new HttpConfig(), bitmapConfig);
73+
}
74+
75+
public KJBitmap(HttpConfig httpConfig, BitmapConfig bitmapConfig) {
7276
this.mConfig = bitmapConfig;
73-
displayer = new ImageDisplayer(mConfig);
77+
displayer = new ImageDisplayer(httpConfig, mConfig);
7478
doLoadingViews = new Vector<View>(30);
7579
}
7680

KJFrame/kjframe/src/main/java/org/kymjs/kjframe/bitmap/ImageDisplayer.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,18 @@
1515
*/
1616
package org.kymjs.kjframe.bitmap;
1717

18-
import java.util.HashMap;
19-
import java.util.LinkedList;
18+
import android.graphics.Bitmap;
19+
import android.os.Handler;
20+
import android.os.Looper;
2021

2122
import org.kymjs.kjframe.KJHttp;
2223
import org.kymjs.kjframe.http.HttpCallBack;
2324
import org.kymjs.kjframe.http.HttpConfig;
2425
import org.kymjs.kjframe.http.KJHttpException;
2526
import org.kymjs.kjframe.http.Request;
2627

27-
import android.graphics.Bitmap;
28-
import android.os.Handler;
29-
import android.os.Looper;
28+
import java.util.HashMap;
29+
import java.util.LinkedList;
3030

3131
/**
3232
* 图片显示器
@@ -49,18 +49,17 @@ public class ImageDisplayer {
4949

5050
/**
5151
* 创建一个图片显示器
52-
*
52+
*
5353
* @param bitmapConfig
5454
*/
55-
public ImageDisplayer(BitmapConfig bitmapConfig) {
56-
HttpConfig config = new HttpConfig();
55+
public ImageDisplayer(HttpConfig httpConfig, BitmapConfig bitmapConfig) {
5756
// 靠,在这里踩了个坑。 最初写的是Integer.MAX_VALUE,
5857
// 结果把这个值*60000转成毫秒long以后溢出了 这次我给个死的值行不行。1000天,能不能算永久了
5958
// 其实还有一种解决办法是直接在缓存读取的时候,看到是bitmap缓存不管是否失效都返回,
6059
// 但是这种不利于自定义扩展,就不用了,有兴趣的可以看CacheDispatcher的105行
6160
// @kymjs记录于2015.4.30
6261
// config.cacheTime = bitmapConfig.cacheTime;
63-
mKJHttp = new KJHttp(config);
62+
mKJHttp = new KJHttp(httpConfig);
6463
mMemoryCache = BitmapConfig.mMemoryCache;
6564
mResponseDelayMs = bitmapConfig.delayTime;
6665
}

KJFrame/kjframe/src/main/java/org/kymjs/kjframe/bitmap/ImageRequest.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,20 @@
1616

1717
package org.kymjs.kjframe.bitmap;
1818

19-
import java.util.Map;
19+
import android.graphics.Bitmap;
20+
import android.graphics.BitmapFactory;
2021

2122
import org.kymjs.kjframe.http.HttpCallBack;
23+
import org.kymjs.kjframe.http.HttpConfig;
2224
import org.kymjs.kjframe.http.HttpHeaderParser;
2325
import org.kymjs.kjframe.http.KJHttpException;
2426
import org.kymjs.kjframe.http.NetworkResponse;
2527
import org.kymjs.kjframe.http.Request;
2628
import org.kymjs.kjframe.http.Response;
2729
import org.kymjs.kjframe.utils.KJLoger;
2830

29-
import android.graphics.Bitmap;
30-
import android.graphics.BitmapFactory;
31+
import java.util.HashMap;
32+
import java.util.Map;
3133

3234
/**
3335
* 从网络下载一张bitmap
@@ -41,9 +43,12 @@ public class ImageRequest extends Request<Bitmap> {
4143
// 用来保证当前对象只有一个线程在访问
4244
private static final Object sDecodeLock = new Object();
4345

46+
private final Map<String, String> mHeaders = new HashMap<String, String>();
47+
4448
public ImageRequest(String url, int maxWidth, int maxHeight,
4549
HttpCallBack callback) {
4650
super(HttpMethod.GET, url, callback);
51+
mHeaders.put("cookie", HttpConfig.sCookie);
4752
mMaxWidth = maxWidth;
4853
mMaxHeight = maxHeight;
4954
}
@@ -58,6 +63,11 @@ public String getCacheKey() {
5863
return getUrl();
5964
}
6065

66+
@Override
67+
public Map<String, String> getHeaders() {
68+
return mHeaders;
69+
}
70+
6171
/**
6272
* 框架会自动将大于设定值的bitmap转换成设定值,所以需要这个方法来判断应该显示默认大小或者是设定值大小。<br>
6373
* 本方法会根据maxPrimary与actualPrimary比较来判断,如果无法判断则会根据辅助值判断,辅助值一般是主要值对应的。

0 commit comments

Comments
 (0)