Skip to content

Commit b4dfe02

Browse files
committed
1:”干货集中营“的API可以调通,是我的方法写错了,现在可以用了,但是还是有bug.
1 parent f34c0a4 commit b4dfe02

14 files changed

Lines changed: 89 additions & 61 deletions

File tree

app/src/main/java/com/guiying/androidmodulepattern/MyApplication.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,23 @@
1616
@Modules({"app", "girls", "news"})
1717
public class MyApplication extends BaseApplication {
1818

19-
String GAN_HUO_API = "http://gank.io/";
2019

2120
@Override
2221
public void onCreate() {
2322
super.onCreate();
23+
login();
24+
}
25+
26+
/**
27+
* 在这里模拟登陆,然后拿到sessionId或者Token
28+
* 这样就能够在组件请求接口了
29+
*/
30+
private void login() {
2431
HttpClient client = new HttpClient.Builder()
25-
.baseUrl(GAN_HUO_API)
26-
.url("api/data")
27-
.params("type", "福利")
28-
.params("count", String.valueOf(20))
29-
.params("page", String.valueOf(1))
32+
.baseUrl("http://gank.io/api/data/")
33+
.url("福利/10/1")
3034
.build();
31-
client.post(new OnResultListener<String>() {
35+
client.get(new OnResultListener<String>() {
3236

3337
@Override
3438
public void onSuccess(String result) {

common/src/main/AndroidManifest.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@
3030
<uses-feature android:name="android.hardware.camera.autofocus" />
3131

3232
<application>
33-
<!--<meta-data-->
34-
<!--android:name="com.common.loader.OkHttpGlideModule"-->
35-
<!--android:value="GlideModule" />-->
33+
<meta-data
34+
android:name="com.guiying.common.glide.OkHttpGlideModule"
35+
android:value="GlideModule" />
3636

3737
</application>
3838

common/src/main/java/com/guiying/common/glide/OkHttpGlideModule.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44

55
import com.bumptech.glide.Glide;
66
import com.bumptech.glide.GlideBuilder;
7+
import com.bumptech.glide.load.DecodeFormat;
8+
import com.bumptech.glide.load.engine.bitmap_recycle.LruBitmapPool;
9+
import com.bumptech.glide.load.engine.cache.LruResourceCache;
10+
import com.bumptech.glide.load.engine.cache.MemorySizeCalculator;
711
import com.bumptech.glide.module.GlideModule;
812

913
/**
@@ -18,9 +22,20 @@
1822
* </p>
1923
*/
2024
public class OkHttpGlideModule implements GlideModule {
25+
2126
@Override
2227
public void applyOptions(Context context, GlideBuilder builder) {
23-
// Do nothing.
28+
builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);
29+
30+
MemorySizeCalculator calculator = new MemorySizeCalculator(context);
31+
int defaultMemoryCacheSize = calculator.getMemoryCacheSize();
32+
int defaultBitmapPoolSize = calculator.getBitmapPoolSize();
33+
34+
int customMemoryCacheSize = (int) (1.2 * defaultMemoryCacheSize);
35+
int customBitmapPoolSize = (int) (1.2 * defaultBitmapPoolSize);
36+
37+
builder.setMemoryCache(new LruResourceCache(customMemoryCacheSize));
38+
builder.setBitmapPool(new LruBitmapPool(customBitmapPoolSize));
2439
}
2540

2641
@Override

common/src/main/java/com/guiying/common/http/ApiService.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
*/
2525
public interface ApiService {
2626

27-
2827
@GET
2928
Call<ResponseBody> executeGet(@Url String url);
3029

common/src/main/java/com/guiying/common/http/HttpClient.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,6 @@ private void getRetrofit() {
106106
}
107107
}
108108

109-
110109
public void post(final OnResultListener onResultListener) {
111110
Builder builder = mBuilder;
112111
mCall = retrofit.create(ApiService.class)

girls/src/main/java/com/guiying/girls/Constants.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
*/
66
public interface Constants {
77

8-
String GAN_HUO_API = "http://gank.io/";
8+
/**
9+
* http://gank.io/api/data/福利/10/1
10+
*/
11+
String GAN_HUO_API = "http://gank.io/api/data/";
912

1013
}

girls/src/main/java/com/guiying/girls/data/GirlsDataSource.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ interface LoadGirlsCallback {
1111
void onDataNotAvailable();
1212
}
1313

14-
void getGirls(int page, int size, LoadGirlsCallback callback);
14+
void getGirls(int size, int page, LoadGirlsCallback callback);
1515

16-
void getGirl(LoadGirlsCallback callback);
1716
}

girls/src/main/java/com/guiying/girls/data/source/RemoteGirlsDataSource.java

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,19 @@
77
import com.guiying.girls.data.GirlsDataSource;
88
import com.guiying.girls.data.parser.GirlsParser;
99

10+
import static com.guiying.common.http.HttpClient.OBJECT;
11+
1012

1113
public class RemoteGirlsDataSource implements GirlsDataSource {
1214

1315
@Override
14-
public void getGirls(int page, int size, final LoadGirlsCallback callback) {
16+
public void getGirls(int size, int page, final LoadGirlsCallback callback) {
1517
HttpClient client = new HttpClient.Builder()
1618
.baseUrl(Constants.GAN_HUO_API)
17-
.url("api/data")
18-
.params("type", "福利")
19-
.params("count", String.valueOf(page))
20-
.params("page", String.valueOf(size))
19+
.url("福利/" + size + "/" + page)
20+
.bodyType(OBJECT, GirlsParser.class)
2121
.build();
22-
client.post(new OnResultListener<GirlsParser>() {
22+
client.get(new OnResultListener<GirlsParser>() {
2323

2424
@Override
2525
public void onSuccess(GirlsParser result) {
@@ -38,9 +38,4 @@ public void onFailure(String message) {
3838
});
3939
}
4040

41-
@Override
42-
public void getGirl(final LoadGirlsCallback callback) {
43-
getGirls(1, 1, callback);
44-
}
45-
4641
}

girls/src/main/java/com/guiying/girls/main/GirlsAdapter.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import android.widget.ImageView;
77

88
import com.bumptech.glide.Glide;
9-
import com.bumptech.glide.load.engine.DiskCacheStrategy;
109
import com.guiying.girls.R;
1110
import com.guiying.girls.data.bean.Girls;
1211
import com.jude.easyrecyclerview.adapter.BaseViewHolder;
@@ -52,7 +51,7 @@ public void setData(Girls data) {
5251
super.setData(data);
5352
Glide.with(getContext())
5453
.load(data.getUrl())
55-
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
54+
.skipMemoryCache(true)
5655
.into(image);
5756
}
5857
}

girls/src/main/java/com/guiying/girls/main/GirlsPresenter.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,13 @@ public class GirlsPresenter implements GirlsContract.Presenter {
1818

1919
public GirlsPresenter(GirlsContract.View view) {
2020
mView = view;
21+
mView.setPresenter(this);
2122
mDataSource = new RemoteGirlsDataSource();
2223
}
2324

2425
@Override
25-
public void getGirls(int page, int size, final boolean isRefresh) {
26-
mDataSource.getGirls(page, size, new GirlsDataSource.LoadGirlsCallback() {
26+
public void getGirls(int size, int page, final boolean isRefresh) {
27+
mDataSource.getGirls(size, page, new GirlsDataSource.LoadGirlsCallback() {
2728
@Override
2829
public void onGirlsLoaded(GirlsParser girlsParser) {
2930
if (isRefresh) {
@@ -45,6 +46,6 @@ public void onDataNotAvailable() {
4546

4647
@Override
4748
public void start() {
48-
getGirls(1, 20, true);
49+
getGirls(20, 1, true);
4950
}
5051
}

0 commit comments

Comments
 (0)