Skip to content

Commit 5d19deb

Browse files
committed
1:调整HttpClient的baseUrl添加逻辑。
1 parent 282884f commit 5d19deb

File tree

5 files changed

+80
-7
lines changed

5 files changed

+80
-7
lines changed

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

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public class HttpClient {
4747
/*返回数据为xml类型*/
4848
public static final int XML = 3;
4949
/*用户设置的BASE_URL*/
50-
public static String BASE_URL = "";
50+
private static String BASE_URL = "";
5151
/*本地使用的baseUrl*/
5252
private String baseUrl = "";
5353
private static OkHttpClient okHttpClient;
@@ -137,7 +137,7 @@ public void get(final OnResultListener onResultListener) {
137137
private void request(final Builder builder, final OnResultListener onResultListener) {
138138
if (!NetworkUtils.isConnected()) {
139139
ToastUtils.showLongToastSafe(R.string.current_internet_invalid);
140-
onResultListener.onFailure("");
140+
onResultListener.onFailure(Utils.getString(R.string.current_internet_invalid));
141141
return;
142142
}
143143
mCall.enqueue(new Callback<ResponseBody>() {
@@ -230,7 +230,7 @@ private synchronized void removeCall(String url) {
230230
* url is required before calling. All other methods are optional.
231231
*/
232232
public static final class Builder {
233-
private String builderBaseUrl = BASE_URL;
233+
private String builderBaseUrl = "";
234234
private String url;
235235
private Object tag;
236236
private Map<String, String> params = new HashMap<>();
@@ -243,14 +243,10 @@ public Builder() {
243243
}
244244

245245
/**
246-
* 如需设置baseUrl请使用这种方法:HttpClient.BASE_URL = "https://10.33.31.200:8890/";
247-
* 不推荐使用下面的方法改变baseUrl的值。
248246
* 请求地址的baseUrl,最后会被赋值给HttpClient的静态变量BASE_URL;
249-
* 例如:"https://10.33.31.200:8890/"
250247
*
251248
* @param baseUrl 请求地址的baseUrl
252249
*/
253-
@Deprecated
254250
public Builder baseUrl(String baseUrl) {
255251
this.builderBaseUrl = baseUrl;
256252
return this;

common/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<string name="app_name">Common</string>
33

44
<string name="current_internet_invalid">当前网络未连接</string>
5+
<string name="internet_base_url_null">baseUrl不能为空</string>
56

67
<!--loading-->
78
<string name="loading">载入中···</string>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.guiying.news;
2+
3+
/**
4+
* 保存项目中用到的常量
5+
*/
6+
public interface Constants {
7+
8+
/**
9+
* http://news.at.zhihu.com/api/4/news/before/20170225
10+
*/
11+
String ZHIHU_DAILY_BEFORE_MESSAGE = "http://news.at.zhihu.com/api/4/news/before/";
12+
13+
/**
14+
* http://news-at.zhihu.com/api/4/news/9241375
15+
*/
16+
String ZHIHU_DAILY_BEFORE_MESSAGE_DETAIL = "http://news-at.zhihu.com/api/4/news/";
17+
18+
}

news/src/main/java/com/guiying/news/main/NewsActivity.java

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,12 @@
55

66
import com.github.mzule.activityrouter.annotation.Router;
77
import com.guiying.common.base.BaseActivity;
8+
import com.guiying.common.http.HttpClient;
9+
import com.guiying.common.http.OnResultListener;
10+
import com.guiying.common.utils.ToastUtils;
11+
import com.guiying.news.Constants;
812
import com.guiying.news.R;
13+
import com.orhanobut.logger.Logger;
914

1015
@Router("news")
1116
public class NewsActivity extends BaseActivity {
@@ -21,9 +26,38 @@ protected void onCreate(Bundle savedInstanceState) {
2126
actionBar.setDisplayHomeAsUpEnabled(true);
2227
actionBar.setTitle(R.string.news_activity_title);
2328
}
29+
login();
2430
}
2531

2632

33+
/**
34+
* 在这里模拟登陆,然后拿到sessionId或者Token
35+
* 这样就能够在组件请求接口了
36+
*/
37+
private void login() {
38+
HttpClient client = new HttpClient.Builder()
39+
.baseUrl(Constants.ZHIHU_DAILY_BEFORE_MESSAGE)
40+
.url("20170225")
41+
.build();
42+
client.get(new OnResultListener<String>() {
43+
44+
@Override
45+
public void onSuccess(String result) {
46+
ToastUtils.showLongToast(result);
47+
}
48+
49+
@Override
50+
public void onError(int code, String message) {
51+
Logger.e(message);
52+
}
53+
54+
@Override
55+
public void onFailure(String message) {
56+
Logger.e(message);
57+
}
58+
});
59+
}
60+
2761
@Override
2862
public boolean onSupportNavigateUp() {
2963
onBackPressed();

news/src/main/java/debug/NewsApplication.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package debug;
22

33
import com.guiying.common.base.BaseApplication;
4+
import com.guiying.common.http.HttpClient;
5+
import com.guiying.common.http.OnResultListener;
6+
import com.guiying.news.Constants;
7+
import com.orhanobut.logger.Logger;
48

59
/**
610
* <p>类说明</p>
@@ -23,7 +27,27 @@ public void onCreate() {
2327
* 这样就能够在组件请求接口了
2428
*/
2529
private void login() {
30+
HttpClient client = new HttpClient.Builder()
31+
.baseUrl(Constants.ZHIHU_DAILY_BEFORE_MESSAGE)
32+
.url("20170225")
33+
.build();
34+
client.get(new OnResultListener<String>() {
2635

36+
@Override
37+
public void onSuccess(String result) {
38+
Logger.e(result);
39+
}
40+
41+
@Override
42+
public void onError(int code, String message) {
43+
Logger.e(message);
44+
}
45+
46+
@Override
47+
public void onFailure(String message) {
48+
Logger.e(message);
49+
}
50+
});
2751
}
2852

2953
}

0 commit comments

Comments
 (0)