Browse Source

1:调整HttpClient的baseUrl添加逻辑。

guiying712 8 years ago
parent
commit
5d19debbf4

+ 3 - 7
common/src/main/java/com/guiying/common/http/HttpClient.java

@@ -47,7 +47,7 @@ public class HttpClient {
     /*返回数据为xml类型*/
     public static final int XML = 3;
     /*用户设置的BASE_URL*/
-    public static String BASE_URL = "";
+    private static String BASE_URL = "";
     /*本地使用的baseUrl*/
     private String baseUrl = "";
     private static OkHttpClient okHttpClient;
@@ -137,7 +137,7 @@ public class HttpClient {
     private void request(final Builder builder, final OnResultListener onResultListener) {
         if (!NetworkUtils.isConnected()) {
             ToastUtils.showLongToastSafe(R.string.current_internet_invalid);
-            onResultListener.onFailure("");
+            onResultListener.onFailure(Utils.getString(R.string.current_internet_invalid));
             return;
         }
         mCall.enqueue(new Callback<ResponseBody>() {
@@ -230,7 +230,7 @@ public class HttpClient {
      * url is required before calling. All other methods are optional.
      */
     public static final class Builder {
-        private String builderBaseUrl = BASE_URL;
+        private String builderBaseUrl = "";
         private String url;
         private Object tag;
         private Map<String, String> params = new HashMap<>();
@@ -243,14 +243,10 @@ public class HttpClient {
         }
 
         /**
-         * 如需设置baseUrl请使用这种方法:HttpClient.BASE_URL = "https://10.33.31.200:8890/";
-         * 不推荐使用下面的方法改变baseUrl的值。
          * 请求地址的baseUrl,最后会被赋值给HttpClient的静态变量BASE_URL;
-         * 例如:"https://10.33.31.200:8890/"
          *
          * @param baseUrl 请求地址的baseUrl
          */
-        @Deprecated
         public Builder baseUrl(String baseUrl) {
             this.builderBaseUrl = baseUrl;
             return this;

+ 1 - 0
common/src/main/res/values/strings.xml

@@ -2,6 +2,7 @@
     <string name="app_name">Common</string>
 
     <string name="current_internet_invalid">当前网络未连接</string>
+    <string name="internet_base_url_null">baseUrl不能为空</string>
 
     <!--loading-->
     <string name="loading">载入中···</string>

+ 18 - 0
news/src/main/java/com/guiying/news/Constants.java

@@ -0,0 +1,18 @@
+package com.guiying.news;
+
+/**
+ * 保存项目中用到的常量
+ */
+public interface Constants {
+
+    /**
+     * http://news.at.zhihu.com/api/4/news/before/20170225
+     */
+    String ZHIHU_DAILY_BEFORE_MESSAGE = "http://news.at.zhihu.com/api/4/news/before/";
+
+    /**
+     * http://news-at.zhihu.com/api/4/news/9241375
+     */
+    String ZHIHU_DAILY_BEFORE_MESSAGE_DETAIL = "http://news-at.zhihu.com/api/4/news/";
+
+}

+ 34 - 0
news/src/main/java/com/guiying/news/main/NewsActivity.java

@@ -5,7 +5,12 @@ import android.support.v7.app.ActionBar;
 
 import com.github.mzule.activityrouter.annotation.Router;
 import com.guiying.common.base.BaseActivity;
+import com.guiying.common.http.HttpClient;
+import com.guiying.common.http.OnResultListener;
+import com.guiying.common.utils.ToastUtils;
+import com.guiying.news.Constants;
 import com.guiying.news.R;
+import com.orhanobut.logger.Logger;
 
 @Router("news")
 public class NewsActivity extends BaseActivity {
@@ -21,9 +26,38 @@ public class NewsActivity extends BaseActivity {
             actionBar.setDisplayHomeAsUpEnabled(true);
             actionBar.setTitle(R.string.news_activity_title);
         }
+        login();
     }
 
 
+    /**
+     * 在这里模拟登陆,然后拿到sessionId或者Token
+     * 这样就能够在组件请求接口了
+     */
+    private void login() {
+        HttpClient client = new HttpClient.Builder()
+                .baseUrl(Constants.ZHIHU_DAILY_BEFORE_MESSAGE)
+                .url("20170225")
+                .build();
+        client.get(new OnResultListener<String>() {
+
+            @Override
+            public void onSuccess(String result) {
+                ToastUtils.showLongToast(result);
+            }
+
+            @Override
+            public void onError(int code, String message) {
+                Logger.e(message);
+            }
+
+            @Override
+            public void onFailure(String message) {
+                Logger.e(message);
+            }
+        });
+    }
+
     @Override
     public boolean onSupportNavigateUp() {
         onBackPressed();

+ 24 - 0
news/src/main/java/debug/NewsApplication.java

@@ -1,6 +1,10 @@
 package debug;
 
 import com.guiying.common.base.BaseApplication;
+import com.guiying.common.http.HttpClient;
+import com.guiying.common.http.OnResultListener;
+import com.guiying.news.Constants;
+import com.orhanobut.logger.Logger;
 
 /**
  * <p>类说明</p>
@@ -23,7 +27,27 @@ public class NewsApplication extends BaseApplication {
      * 这样就能够在组件请求接口了
      */
     private void login() {
+        HttpClient client = new HttpClient.Builder()
+                .baseUrl(Constants.ZHIHU_DAILY_BEFORE_MESSAGE)
+                .url("20170225")
+                .build();
+        client.get(new OnResultListener<String>() {
 
+            @Override
+            public void onSuccess(String result) {
+                Logger.e(result);
+            }
+
+            @Override
+            public void onError(int code, String message) {
+                Logger.e(message);
+            }
+
+            @Override
+            public void onFailure(String message) {
+                Logger.e(message);
+            }
+        });
     }
 
 }