diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 46c8aed..c0997a5 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -37,7 +37,7 @@
-
+
@@ -54,7 +54,7 @@
-
diff --git a/app/src/main/java/com/shunzhi/parent/AppConfig.java b/app/src/main/java/com/shunzhi/parent/AppConfig.java
index dbbd67e..0e5bb86 100644
--- a/app/src/main/java/com/shunzhi/parent/AppConfig.java
+++ b/app/src/main/java/com/shunzhi/parent/AppConfig.java
@@ -41,12 +41,6 @@ public class AppConfig {
return appConfig;
}
-
-
-
-
-
-
//默认下载保存的路径
public final static String DEFAULT_SAVE_DOWNLOAD_PATH = Environment
.getExternalStorageDirectory()
@@ -66,8 +60,8 @@ public class AppConfig {
}
//保存键值对
- public void set(Context context, String key, String value) {
- SharedPreferences.Editor editor = getSharedPreferences(context).edit();
+ public void set(String key, String value) {
+ SharedPreferences.Editor editor = getSharedPreferences(AppContext.getContext()).edit();
if (TextUtils.isEmpty(value)) {
editor.putString(key, value);
} else {
diff --git a/app/src/main/java/com/shunzhi/parent/AppContext.java b/app/src/main/java/com/shunzhi/parent/AppContext.java
index 461ec86..84fc4c8 100644
--- a/app/src/main/java/com/shunzhi/parent/AppContext.java
+++ b/app/src/main/java/com/shunzhi/parent/AppContext.java
@@ -22,5 +22,4 @@ public class AppContext extends GlobalApplication {
-
}
diff --git a/app/src/main/java/com/shunzhi/parent/MyApplication.java b/app/src/main/java/com/shunzhi/parent/MyApplication.java
deleted file mode 100644
index ce05905..0000000
--- a/app/src/main/java/com/shunzhi/parent/MyApplication.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.shunzhi.parent;
-
-import com.share.mvpsdk.global.GlobalApplication;
-
-/**
- * Created by ToaHanDong on 2018/3/2.
- */
-
-public class MyApplication extends GlobalApplication {
-
-
- @Override
- public void onCreate() {
- super.onCreate();
-
- }
-}
diff --git a/app/src/main/java/com/shunzhi/parent/contract/loginandregister/ceping/CepingMainContract.java b/app/src/main/java/com/shunzhi/parent/contract/loginandregister/ceping/CepingMainContract.java
new file mode 100644
index 0000000..d3bff47
--- /dev/null
+++ b/app/src/main/java/com/shunzhi/parent/contract/loginandregister/ceping/CepingMainContract.java
@@ -0,0 +1,25 @@
+package com.shunzhi.parent.contract.loginandregister.ceping;
+
+import com.share.mvpsdk.base.BasePresenter;
+import com.share.mvpsdk.base.IBaseFragment;
+import com.share.mvpsdk.base.IBaseModel;
+
+/**
+ * Created by ToaHanDong on 2018/3/8.
+ */
+
+public interface CepingMainContract {
+
+ public abstract class CePingMainPresenter extends BasePresenter{
+ public abstract void getHotContents();
+ }
+
+ interface ICePingMainModel extends IBaseModel {
+
+ }
+
+
+ interface ICePingMainView extends IBaseFragment {
+ void showHotContents();
+ }
+}
diff --git a/app/src/main/java/com/shunzhi/parent/model/loginandregister/LoginAndRegisterModel.java b/app/src/main/java/com/shunzhi/parent/model/loginandregister/LoginAndRegisterModel.java
index 4a99bca..8b383fe 100644
--- a/app/src/main/java/com/shunzhi/parent/model/loginandregister/LoginAndRegisterModel.java
+++ b/app/src/main/java/com/shunzhi/parent/model/loginandregister/LoginAndRegisterModel.java
@@ -8,6 +8,7 @@ import com.shunzhi.parent.api.LoginRegisterApi;
import com.shunzhi.parent.contract.loginandregister.LoginAndRegisterContract;
import io.reactivex.Observable;
+import okhttp3.RequestBody;
/**
* Created by Administrator on 2018/3/6 0006.
@@ -24,13 +25,13 @@ public class LoginAndRegisterModel extends BaseModel implements LoginAndRegiste
@Override
public Observable getLoginResult(String loginName, String loginPwd) {
- return RetrofitCreateHelper.loginApi(LoginRegisterApi.class,LoginRegisterApi.url).loginResult("password",loginName,loginPwd)
+ return RetrofitCreateHelper.getInstance().login(LoginRegisterApi.class,LoginRegisterApi.url).loginResult("password",loginName,loginPwd)
.compose(RxHelper.rxSchedulerHelper());
}
@Override
public Observable getRegisterResult(String adminName, String idCode, String password) {
- return RetrofitCreateHelper.createApi(LoginRegisterApi.class,LoginRegisterApi.url).registerResult("idcode",adminName,idCode,password)
+ return RetrofitCreateHelper.getInstance().createApi(LoginRegisterApi.class,LoginRegisterApi.url).registerResult("idcode",adminName,idCode,password)
.compose(RxHelper.rxSchedulerHelper());
}
diff --git a/app/src/main/java/com/shunzhi/parent/presenter/loginandregister/LoginAndRegisterPresenter.java b/app/src/main/java/com/shunzhi/parent/presenter/loginandregister/LoginAndRegisterPresenter.java
index 2372e3a..049dfd3 100644
--- a/app/src/main/java/com/shunzhi/parent/presenter/loginandregister/LoginAndRegisterPresenter.java
+++ b/app/src/main/java/com/shunzhi/parent/presenter/loginandregister/LoginAndRegisterPresenter.java
@@ -1,9 +1,11 @@
package com.shunzhi.parent.presenter.loginandregister;
import android.text.TextUtils;
+import android.util.Log;
import com.google.gson.JsonObject;
import com.share.mvpsdk.helper.RetrofitCreateHelper;
+import com.share.mvpsdk.utils.OkHttpExceptionUtil;
import com.share.mvpsdk.utils.ToastUtils;
import com.shunzhi.parent.AppConfig;
import com.shunzhi.parent.AppContext;
@@ -14,6 +16,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import io.reactivex.functions.Consumer;
+import retrofit2.HttpException;
/**
* Created by Administrator on 2018/3/6 0006.
@@ -36,21 +39,27 @@ public class LoginAndRegisterPresenter extends LoginAndRegisterContract.LoginPre
mRxManager.register(mIModel.getLoginResult(loginName, loginPwd).subscribe(new Consumer() {
@Override
public void accept(JsonObject jsonObject) throws Exception {
- if (jsonObject != null && !TextUtils.isEmpty(jsonObject.get("access_token").getAsString())) {
- AppConfig.getAppConfig(AppContext.getInstance()).set(AppContext.getInstance()
- , AppConfig.ACCESS_TOKEN, jsonObject.get("access_token").getAsString());
- AppConfig.getAppConfig(AppContext.getInstance()).set(AppContext.getInstance(), AppConfig.LOGIN_NAME,loginName);
- AppConfig.getAppConfig(AppContext.getInstance()).set(AppContext.getInstance(), AppConfig.LOGIN_PWD, loginPwd);
- RetrofitCreateHelper.getInstance().setAuthorization("Bearer "+jsonObject.get("access_token").getAsString());
- getUserInfo();
- } else {
- ToastUtils.showToast(jsonObject.get("error").getAsString());
+ try {
+ if (jsonObject != null && !TextUtils.isEmpty(jsonObject.get("access_token").getAsString())) {
+ AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.ACCESS_TOKEN, jsonObject.get("access_token").getAsString());
+ AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.LOGIN_NAME,loginName);
+ AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.LOGIN_PWD, loginPwd);
+ RetrofitCreateHelper.getInstance().setAuthorization("Bearer "+jsonObject.get("access_token").getAsString());
+ getUserInfo();
+ } else {
+ ToastUtils.showToast(jsonObject.get("error").getAsString());
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ ToastUtils.showToast("登录失败:"+e.toString());
}
}
}, new Consumer() {
@Override
public void accept(Throwable throwable) throws Exception {
- ToastUtils.showToast(throwable.getMessage());
+ if (null!=throwable)
+ OkHttpExceptionUtil.handOkHttpException((HttpException) throwable);
+// ToastUtils.showToast(throwable.getMessage());
}
}));
@@ -110,7 +119,7 @@ public class LoginAndRegisterPresenter extends LoginAndRegisterContract.LoginPre
@Override
public void getUserInfo() {
-
+ Log.d("77777","getUserInfo=");
}
diff --git a/app/src/main/java/com/shunzhi/parent/ui/MainActivity.java b/app/src/main/java/com/shunzhi/parent/ui/MainActivity.java
index 49564c3..418bace 100644
--- a/app/src/main/java/com/shunzhi/parent/ui/MainActivity.java
+++ b/app/src/main/java/com/shunzhi/parent/ui/MainActivity.java
@@ -33,7 +33,8 @@ public class MainActivity extends BaseCompatActivity {
private int CEPING_INDEX = 0, CONSULT_INDEX = 1, REPORT_INDEX = 2, MINE_INDEX = 3;
- FragmentTransaction fragmentTransaction=null;
+ FragmentTransaction fragmentTransaction = null;
+
@Override
protected void initView(Bundle savedInstanceState) {
@@ -77,11 +78,11 @@ public class MainActivity extends BaseCompatActivity {
fragments[REPORT_INDEX] = reportFragment;
fragments[MINE_INDEX] = mineFragment;
- fragmentTransaction=getSupportFragmentManager().beginTransaction();
- fragmentTransaction.add(R.id.frame,cePingFragment)
- .add(R.id.frame,consultFragment)
- .add(R.id.frame,reportFragment)
- .add(R.id.frame,mineFragment)
+ fragmentTransaction = getSupportFragmentManager().beginTransaction();
+ fragmentTransaction.add(R.id.frame, cePingFragment)
+ .add(R.id.frame, consultFragment)
+ .add(R.id.frame, reportFragment)
+ .add(R.id.frame, mineFragment)
.show(cePingFragment)
.hide(consultFragment)
.hide(reportFragment)
diff --git a/app/src/main/java/com/shunzhi/parent/ui/fragment/CePingFragment.java b/app/src/main/java/com/shunzhi/parent/ui/fragment/CePingFragment.java
index 35513ac..caf8305 100644
--- a/app/src/main/java/com/shunzhi/parent/ui/fragment/CePingFragment.java
+++ b/app/src/main/java/com/shunzhi/parent/ui/fragment/CePingFragment.java
@@ -1,21 +1,29 @@
package com.shunzhi.parent.ui.fragment;
-import android.content.Context;
-import android.net.Uri;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.view.LayoutInflater;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
import android.view.View;
-import android.view.ViewGroup;
+import com.share.mvpsdk.base.BasePresenter;
+import com.share.mvpsdk.base.fragment.BaseMVPCompatFragment;
import com.shunzhi.parent.R;
-public class CePingFragment extends Fragment {
+public class CePingFragment extends BaseMVPCompatFragment {
@Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- return inflater.inflate(R.layout.fragment_ce_ping, container, false);
+ public int getLayoutId() {
+ return R.layout.fragment_ce_ping;
+ }
+
+ @Override
+ public void initUI(View view, @Nullable Bundle savedInstanceState) {
+
+ }
+
+ @NonNull
+ @Override
+ public BasePresenter initPresenter() {
+ return null;
}
}
diff --git a/app/src/main/res/drawable-xhdpi/report_normal.png b/app/src/main/res/drawable-xhdpi/report_normal.png
new file mode 100644
index 0000000..066c4a6
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/report_normal.png differ
diff --git a/app/src/main/res/drawable-xhdpi/report_select.png b/app/src/main/res/drawable-xhdpi/report_select.png
new file mode 100644
index 0000000..3b309ee
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/report_select.png differ
diff --git a/app/src/main/res/drawable/selector_report.xml b/app/src/main/res/drawable/selector_report.xml
new file mode 100644
index 0000000..f32fa4a
--- /dev/null
+++ b/app/src/main/res/drawable/selector_report.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/menu/bottom_navigationview.xml b/app/src/main/res/menu/bottom_navigationview.xml
index ddd881c..cafffac 100644
--- a/app/src/main/res/menu/bottom_navigationview.xml
+++ b/app/src/main/res/menu/bottom_navigationview.xml
@@ -14,7 +14,7 @@
diff --git a/mvpsdk/src/main/java/com/share/mvpsdk/helper/RetrofitCreateHelper.java b/mvpsdk/src/main/java/com/share/mvpsdk/helper/RetrofitCreateHelper.java
index 01715fc..471d198 100644
--- a/mvpsdk/src/main/java/com/share/mvpsdk/helper/RetrofitCreateHelper.java
+++ b/mvpsdk/src/main/java/com/share/mvpsdk/helper/RetrofitCreateHelper.java
@@ -1,14 +1,21 @@
package com.share.mvpsdk.helper;
+import android.util.Log;
+
import com.share.mvpsdk.helper.okhttp.CacheInterceptor;
import com.share.mvpsdk.helper.okhttp.HttpCache;
import com.share.mvpsdk.helper.okhttp.TrustManager;
import com.share.mvpsdk.utils.StringUtils;
+import com.share.mvpsdk.utils.ToastUtils;
+import java.io.IOException;
import java.util.concurrent.TimeUnit;
+import okhttp3.Interceptor;
import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
@@ -27,7 +34,8 @@ public class RetrofitCreateHelper {
private static final HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor()
.setLevel(HttpLoggingInterceptor.Level.BODY);
private static CacheInterceptor cacheInterceptor = new CacheInterceptor();
- private static OkHttpClient okHttpClient = new OkHttpClient.Builder()
+ private static OkHttpClient.Builder okhttpClientBuilder=null;
+ /*private static OkHttpClient okHttpClient = new OkHttpClient.Builder()
//SSL证书
.sslSocketFactory(TrustManager.getUnsafeOkHttpClient())
.hostnameVerifier(org.apache.http.conn.ssl.SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER)
@@ -43,7 +51,7 @@ public class RetrofitCreateHelper {
.writeTimeout(TIMEOUT_READ, TimeUnit.SECONDS)
//失败重连
.retryOnConnectionFailure(true)
- .build();
+ .build();*/
public static RetrofitCreateHelper getInstance(){
if (null==retrofitCreateHelper){
synchronized (RetrofitCreateHelper.class){
@@ -52,31 +60,68 @@ public class RetrofitCreateHelper {
}
return retrofitCreateHelper;
}
- public static T createApi(Class clazz, String url) {
+
+ public RetrofitCreateHelper(){
+ if (null==okhttpClientBuilder)okhttpClientBuilder=new OkHttpClient.Builder();
+ okhttpClientBuilder.connectTimeout(10000,TimeUnit.SECONDS);
+ okhttpClientBuilder.addInterceptor(new Interceptor() {
+ @Override
+ public Response intercept(Chain chain) throws IOException {
+ Request original = chain.request();
+ Request.Builder requestBuilder = original.newBuilder().header("Authorization", Authorization);
+ Request request = requestBuilder.build();
+ return chain.proceed(request);
+ }
+ });
+ okhttpClientBuilder.addNetworkInterceptor(cacheInterceptor);
+ okhttpClientBuilder.addInterceptor(interceptor);
+ }
+
+ public T createApi(Class clazz, String url) {
Authorization=token;
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(url)
- .client(okHttpClient)
+ .client(okhttpClientBuilder.build())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.build();
return retrofit.create(clazz);
}
- public static T loginApi(Class clazz, String url) {
+// public static T loginApi(Class clazz, String url) {
+// Authorization= StringUtils.getSign();
+// okHttpClient.newBuilder().addInterceptor(new Interceptor() {
+// @Override
+// public Response intercept(Chain chain) throws IOException {
+// Request original = chain.request();
+// Request.Builder requestBuilder = original.newBuilder().header("Authorization", Authorization);
+// Request request = requestBuilder.build();
+// return chain.proceed(request);
+// }
+// });
+// Log.d("77777","Authorization="+Authorization);
+// Retrofit retrofit = new Retrofit.Builder()
+// .baseUrl(url)
+// .client(okHttpClient)
+// .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
+// .addConverterFactory(GsonConverterFactory.create())
+// .build();
+// return retrofit.create(clazz);
+// }
+ public void setAuthorization(String Authorization){
+ this.token=Authorization;
+ }
+
+ public T login(Class clazz,String url){
Authorization= StringUtils.getSign();
- Retrofit retrofit = new Retrofit.Builder()
+ Retrofit retrofit=new Retrofit.Builder()
+ .client(okhttpClientBuilder.build())
.baseUrl(url)
- .client(okHttpClient)
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.build();
return retrofit.create(clazz);
}
- public void setAuthorization(String Authorization){
- this.token=Authorization;
- }
-
diff --git a/mvpsdk/src/main/java/com/share/mvpsdk/utils/OkHttpExceptionUtil.java b/mvpsdk/src/main/java/com/share/mvpsdk/utils/OkHttpExceptionUtil.java
new file mode 100644
index 0000000..1bfecb1
--- /dev/null
+++ b/mvpsdk/src/main/java/com/share/mvpsdk/utils/OkHttpExceptionUtil.java
@@ -0,0 +1,30 @@
+package com.share.mvpsdk.utils;
+
+import android.support.annotation.NonNull;
+import android.util.Log;
+
+import org.json.JSONObject;
+
+import okhttp3.ResponseBody;
+import retrofit2.HttpException;
+import retrofit2.Response;
+
+/**
+ * Created by 10501 on 2017/7/18.
+ */
+
+public class OkHttpExceptionUtil {
+ public static void handOkHttpException(@NonNull HttpException e){
+ Response response = e.response();
+ if (response==null)return;
+ ResponseBody responseBody = response.errorBody();
+ if (responseBody==null)return;
+ try {
+ JSONObject json = new JSONObject(responseBody.string());
+ Log.d("77777",json.toString());
+ ToastUtils.showToast(json.optString("error"));
+ } catch (Exception e1) {
+ e1.printStackTrace();
+ }
+ }
+}
--
libgit2 0.21.0