From 24205441471461f86ebb5c18d718a22371f1a0bd Mon Sep 17 00:00:00 2001 From: wds Date: Sun, 15 Aug 2021 15:55:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BA=AA=E5=BD=95=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E4=BB=A5=E6=8F=90=E4=BA=A4=E7=9A=84=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E5=88=B7=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 +- .../navinfo/outdoor/base/BaseActivity.java | 78 ++++----------- .../navinfo/outdoor/base/BaseFragment.java | 45 +-------- .../fragment/ChargingStationFragment.java | 36 +++---- .../outdoor/fragment/GatherGetFragment.java | 6 +- .../outdoor/fragment/HasSubmitFragment.java | 5 +- .../navinfo/outdoor/fragment/PoiFragment.java | 2 +- .../outdoor/fragment/RecordFragment.java | 6 +- .../com/navinfo/outdoor/http/OkGoBuilder.java | 94 +++++++++++-------- .../navinfo/outdoor/util/PoiSaveUtils.java | 12 +++ app/src/main/res/values/strings.xml | 2 +- 11 files changed, 125 insertions(+), 163 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 5e04152..d1bb336 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'com.android.application' android { compileSdkVersion 29 buildToolsVersion '29.0.2' - ndkVersion '23.0.7123448' + // ndkVersion '23.0.7123448' defaultConfig { applicationId "com.navinfo.outdoor" diff --git a/app/src/main/java/com/navinfo/outdoor/base/BaseActivity.java b/app/src/main/java/com/navinfo/outdoor/base/BaseActivity.java index e79a7b0..e9af047 100644 --- a/app/src/main/java/com/navinfo/outdoor/base/BaseActivity.java +++ b/app/src/main/java/com/navinfo/outdoor/base/BaseActivity.java @@ -44,12 +44,13 @@ public abstract class BaseActivity extends AppCompatActivity { initData(); initListener(); } + private static void setCustomDensity(Application application, Activity activity) { final DisplayMetrics appDisplayMetrics = application.getResources().getDisplayMetrics(); // 以设计DP为360为例,获得目标Density final float targetDensity = (float) (appDisplayMetrics.widthPixels / 360.0); final float targetScaledDensity = targetDensity * (appDisplayMetrics.scaledDensity / appDisplayMetrics.density); - final int targetDensityDpi = (int)(targetDensity * 160); + final int targetDensityDpi = (int) (targetDensity * 160); //设置application的Density appDisplayMetrics.density = targetDensity; appDisplayMetrics.scaledDensity = targetScaledDensity; @@ -61,72 +62,30 @@ public abstract class BaseActivity extends AppCompatActivity { activityDisplayMetrics.densityDpi = targetDensityDpi; } - protected void toast(String mag){ + protected void toast(String mag) { Toast.makeText(UserApplication.getUserApplication(), mag, Toast.LENGTH_SHORT).show(); } protected void initMVP() { } + public void showLoadingDialog() { - if (NetWorkUtils.iConnected(this)) { // 当前网络可用 - alertDialog = new AlertDialog.Builder(this).create(); - alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable()); - alertDialog.setCancelable(false); - alertDialog.setOnKeyListener((dialog, keyCode, event) -> { - if (keyCode == KeyEvent.KEYCODE_SEARCH || keyCode == KeyEvent.KEYCODE_BACK) - return true; - return false; + alertDialog = new AlertDialog.Builder(this).create(); + alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable()); + alertDialog.setCancelable(false); + alertDialog.setOnKeyListener((dialog, keyCode, event) -> { + if (keyCode == KeyEvent.KEYCODE_SEARCH || keyCode == KeyEvent.KEYCODE_BACK) + return true; + return false; - }); - //loading样式 - View view = LayoutInflater.from(this).inflate(R.layout.loading, null); - alertDialog.setView(view); - alertDialog.setCanceledOnTouchOutside(false); - alertDialog.show(); - // initTimer(); - } else { - Toast.makeText(this, "网络不可用", Toast.LENGTH_SHORT).show(); - } - } - public void showFileLoadingDialog() { - if (NetWorkUtils.iConnected(this)) { // 当前网络可用 - alertDialog = new AlertDialog.Builder(this).create(); - alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable()); - alertDialog.setCancelable(false); - alertDialog.setOnKeyListener((dialog, keyCode, event) -> { - if (keyCode == KeyEvent.KEYCODE_SEARCH || keyCode == KeyEvent.KEYCODE_BACK) - return true; - return false; - - }); - //loading样式 - View view = LayoutInflater.from(this).inflate(R.layout.loading, null); - alertDialog.setView(view); - alertDialog.setCanceledOnTouchOutside(false); - alertDialog.show(); - } else { - Toast.makeText(this, "网络不可用", Toast.LENGTH_SHORT).show(); - } + }); + //loading样式 + View view = LayoutInflater.from(this).inflate(R.layout.loading, null); + alertDialog.setView(view); + alertDialog.setCanceledOnTouchOutside(false); + alertDialog.show(); } - private void initTimer() { - Timer timer = new Timer(true); - TimerTask timerTask = new TimerTask() { - int countTime = 20; - - @Override - public void run() { - if (countTime > 0) { - countTime--; - } - if (countTime == 1) { - dismissLoadingDialog(); - } - - } - }; - timer.schedule(timerTask, 1000, 1000); - } public void setLoadingDialogText(String s) { //给loading 添加文字 @@ -139,6 +98,7 @@ public abstract class BaseActivity extends AppCompatActivity { alertDialog.dismiss(); } } + protected void initListener() { } @@ -158,8 +118,10 @@ public abstract class BaseActivity extends AppCompatActivity { super.onDestroy(); Collector.removeActivity(this); } + /** * 设置屏幕横竖屏切换 + * * @param screenRoate true 竖屏 false 横屏 */ private void setScreenRoate(Boolean screenRoate) { diff --git a/app/src/main/java/com/navinfo/outdoor/base/BaseFragment.java b/app/src/main/java/com/navinfo/outdoor/base/BaseFragment.java index b942818..9cda68b 100644 --- a/app/src/main/java/com/navinfo/outdoor/base/BaseFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/base/BaseFragment.java @@ -95,7 +95,7 @@ public abstract class BaseFragment extends Fragment implements FragmentBackHandl protected abstract int getLayout(); public void showLoadingDialog() { - if (NetWorkUtils.iConnected(getContext())) { // 当前网络可用 + alertDialog = new AlertDialog.Builder(getActivity()).create(); alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable()); alertDialog.setCancelable(false); @@ -111,49 +111,6 @@ public abstract class BaseFragment extends Fragment implements FragmentBackHandl alertDialog.setCanceledOnTouchOutside(false); alertDialog.show(); //initTimer(); - } else { - Toast.makeText(getActivity(), "网络不可用", Toast.LENGTH_SHORT).show(); - } - } - - public void showFileLoadingDialog() { - if (NetWorkUtils.iConnected(getContext())) { // 当前网络可用 - alertDialog = new AlertDialog.Builder(getActivity()).create(); - alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable()); - alertDialog.setCancelable(false); - alertDialog.setOnKeyListener((dialog, keyCode, event) -> { - if (keyCode == KeyEvent.KEYCODE_SEARCH || keyCode == KeyEvent.KEYCODE_BACK) - return true; - return false; - - }); - //loading样式 - View view = LayoutInflater.from(getContext()).inflate(R.layout.loading, null); - alertDialog.setView(view); - alertDialog.setCanceledOnTouchOutside(false); - alertDialog.show(); - } else { - Toast.makeText(getActivity(), "网络不可用", Toast.LENGTH_SHORT).show(); - } - } - - private void initTimer() { - Timer timer = new Timer(true); - TimerTask timerTask = new TimerTask() { - int countTime = 20; - - @Override - public void run() { - if (countTime > 0) { - countTime--; - } - if (countTime == 1) { - dismissLoadingDialog(); - } - - } - }; - timer.schedule(timerTask, 1000, 1000); } diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/ChargingStationFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/ChargingStationFragment.java index d9f1ad7..3ff5ab7 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/ChargingStationFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/ChargingStationFragment.java @@ -514,11 +514,11 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View. } String telPhone = showPoiEntity.getTelPhone(); - if (telPhone != null && !telPhone.equals("")) { + if (telPhone != null && !telPhone.equals("")&&!telPhone.equals("null")) { String[] phones = telPhone.split("\\|"); for (int i = 0; i < phones.length; i++) { if (i == 0) { - if (!StringUtils.isEmpty(phones[i])) if (!StringUtils.isEmpty(phones[i])) { + if (!StringUtils.isEmpty(phones[i])) { if (phones[i].contains("-")) { // 包含区号数据的电话 String[] split = phones[i].split("-"); if (split != null && split.length > 1) { @@ -644,7 +644,6 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View. .url(HttpInterface.GET_PHONES) .params(new HttpParams("geo", encode)) .cls(GetPhoneBean.class) - .params(new HttpParams()) .token(Constant.ACCESS_TOKEN) .getRequest(new Callback() { @Override @@ -941,11 +940,13 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View. .params(httpParams) .token(Constant.ACCESS_TOKEN) .fileList(chargingPileFileList).postFileSynchronization(); - String pileUpLoadResultStr = execute.body().string(); - PoiUploadBean uploadBeanResult = new Gson().fromJson(pileUpLoadResultStr, PoiUploadBean.class); - if (uploadBeanResult != null) { - if (uploadBeanResult.getCode() == 200) { - PoiDatabase.getInstance(getActivity()).getChargingPileDao().deleteChargingPileEntity(chargingPileEntity); + if(execute!=null){ + String pileUpLoadResultStr = execute.body().string(); + PoiUploadBean uploadBeanResult = new Gson().fromJson(pileUpLoadResultStr, PoiUploadBean.class); + if (uploadBeanResult != null) { + if (uploadBeanResult.getCode() == 200) { + PoiDatabase.getInstance(getActivity()).getChargingPileDao().deleteChargingPileEntity(chargingPileEntity); + } } } } catch (IOException e) { @@ -1454,16 +1455,19 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View. Response execute = OkGoBuilder.getInstance().url(HttpInterface.SUBMIT_CSTASK) .token(Constant.ACCESS_TOKEN) .params(httpParams).getSynchronization(); - String responseBodyStr = execute.body().string(); - if (responseBodyStr != null) { - Gson gson = new Gson(); - ChargingPileSaveBean chargingPileSaveBean = gson.fromJson(responseBodyStr, ChargingPileSaveBean.class); - if (chargingPileSaveBean.getCode() != 200) { - return; + if(execute!=null){ + String responseBodyStr = execute.body().string(); + if (responseBodyStr != null) { + Gson gson = new Gson(); + ChargingPileSaveBean chargingPileSaveBean = gson.fromJson(responseBodyStr, ChargingPileSaveBean.class); + if (chargingPileSaveBean.getCode() != 200) { + return; + } + chargingPileEntity.setBodyId(chargingPileSaveBean.getBody()); + InsertAndUpdateUtils.getInstance().insertOrUpdateChargingPile(getActivity(), chargingPileEntity); // 更新当前充电桩的bodyId } - chargingPileEntity.setBodyId(chargingPileSaveBean.getBody()); - InsertAndUpdateUtils.getInstance().insertOrUpdateChargingPile(getActivity(), chargingPileEntity); // 更新当前充电桩的bodyId } + } catch (IOException e) { e.printStackTrace(); } diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/GatherGetFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/GatherGetFragment.java index 05ceb91..d2f29bc 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/GatherGetFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/GatherGetFragment.java @@ -326,7 +326,11 @@ public class GatherGetFragment extends BaseFragment implements View.OnClickListe chargingStationEntity.setCreateTime(stationBean.getEndDate()); chargingStationEntity.setPrecision(stationBean.getPrice() + ""); chargingStationEntity.setAddress(stationBean.getAddress()); - chargingStationEntity.setTelPhone(stationBean.getTelephone() + ""); + if(stationBean.getTelephone()==null||stationBean.getTelephone().equals("")||stationBean.getTelephone().equals("null")){ + chargingStationEntity.setTelPhone(null); + }else { + chargingStationEntity.setTelPhone(stationBean.getTelephone()); + } chargingStationEntity.setType(Integer.valueOf(stationBean.getType())); chargingStationEntity.setTaskStatus(statusId); chargingStationEntity.setIsLocalData(1); diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/HasSubmitFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/HasSubmitFragment.java index bde91f9..9d263d5 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/HasSubmitFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/HasSubmitFragment.java @@ -93,12 +93,15 @@ public class HasSubmitFragment extends BaseFragment implements View.OnClickListe poiVideoAuditProcess = (TextView) findViewById(R.id.poiVideo_audit_process); poiVideoAuditThrough = (TextView) findViewById(R.id.poiVideo_audit_through); poiVideoAuditProcessauditNotThrough = (TextView) findViewById(R.id.poiVideo_audit_processaudit_not_through); + initRequest(); + } + + public void initRequest() { initPoiSubMitWork();//poi initPoiVideoSubMitWork();//poi录像 initRoadSubMitWork();//道路录像 initChaningSubMitWork();//充电站录像 initOtherSubMitWork();//其他录像 - } private void initOtherSubMitWork() { diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/PoiFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/PoiFragment.java index 9f56d55..135b7b1 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/PoiFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/PoiFragment.java @@ -389,7 +389,7 @@ public class PoiFragment extends BaseDrawerFragment implements View.OnClickListe editDescribe.setText(memo + ""); } String telPhone = showPoiEntity.getTelPhone(); - if (telPhone != null && !telPhone.equals("")) { + if (telPhone != null && !telPhone.equals("")&&!telPhone.equals("null")) { String[] phones = telPhone.split("\\|"); for (int i = 0; i < phones.length; i++) { if (i == 0) { diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/RecordFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/RecordFragment.java index 3783708..275d50c 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/RecordFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/RecordFragment.java @@ -92,8 +92,8 @@ public class RecordFragment extends BaseFragment implements View.OnClickListener if (staySubmitFragment!=null) { staySubmitFragment.refreshData(); } -// if (hasSubmitFragment!=null) { -// hasSubmitFragment.refreshData(); -// } + if (hasSubmitFragment!=null) { + hasSubmitFragment.initRequest(); + } } } \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/outdoor/http/OkGoBuilder.java b/app/src/main/java/com/navinfo/outdoor/http/OkGoBuilder.java index b34eeca..3b65080 100644 --- a/app/src/main/java/com/navinfo/outdoor/http/OkGoBuilder.java +++ b/app/src/main/java/com/navinfo/outdoor/http/OkGoBuilder.java @@ -12,8 +12,10 @@ import com.lzy.okgo.model.HttpHeaders; import com.lzy.okgo.model.HttpParams; import com.lzy.okgo.model.Response; import com.lzy.okgo.request.PostRequest; +import com.navinfo.outdoor.api.UserApplication; import com.navinfo.outdoor.bean.PoiUploadBean; import com.navinfo.outdoor.util.Md5Util; +import com.navinfo.outdoor.util.NetWorkUtils; import com.umeng.umcrash.UMCrash; import java.io.File; @@ -125,46 +127,49 @@ public class OkGoBuilder { * post异步请求 */ public void postRequest(Callback callback) { - OkGo - // 请求方式和请求url - .post(url) - .isMultipart(true) - .headers(getHeader()) - .params(params) + if (!NetWorkUtils.iConnected(UserApplication.userApplication)) { // 当前网络不可用 + callback.onError(new Throwable("网络不可用"),2); + return; + } + OkGo + // 请求方式和请求url + .post(url) + .isMultipart(true) + .headers(getHeader()) + .params(params) // .upJson(json) - // 请求的 tag, 主要用于取消对应的请求 - .tag(this) + // 请求的 tag, 主要用于取消对应的请求 + .tag(this) - // 设置当前请求的缓存key,建议每个不同功能的请求设置一个 + // 设置当前请求的缓存key,建议每个不同功能的请求设置一个 // .cacheKey("cacheKey") - // 缓存模式,详细请看缓存介绍 + // 缓存模式,详细请看缓存介绍 // .cacheMode(CacheMode.DEFAULT) - .execute(new DialogCallback(clazz) { - @Override - public void onSuccess(Response response) { - if (response.code()==200){ - callback.onSuccess(response.body(), 1); - }else { - Toast.makeText(activity, response.message(), Toast.LENGTH_SHORT).show(); + .execute(new DialogCallback(clazz) { + @Override + public void onSuccess(Response response) { + if (response.code() == 200) { + callback.onSuccess(response.body(), 1); + } else { + Toast.makeText(activity, response.message(), Toast.LENGTH_SHORT).show(); + } } - } - @Override - public void onError(Response response) { - super.onError(response); - Throwable throwable = response.getException(); - if (throwable != null) { - throwable.printStackTrace(); - callback.onError(throwable, 2); - /** - * 友盟+ - * 使用自定义错误,查看时请在错误列表页面选择【自定义异常】 - */ - UMCrash.generateCustomLog("网络请求报错-位置:OKGOBuilder" + throwable, "UmengException"); + @Override + public void onError(Response response) { + super.onError(response); + Throwable throwable = response.getException(); + if (throwable != null) { + throwable.printStackTrace(); + callback.onError(throwable, 2); + /** + * 友盟+ + * 使用自定义错误,查看时请在错误列表页面选择【自定义异常】 + */ + UMCrash.generateCustomLog("网络请求报错-位置:OKGOBuilder" + throwable, "UmengException"); + } } - } - }); - + }); } public HttpHeaders getHeader() { @@ -201,6 +206,9 @@ public class OkGoBuilder { * @return */ public okhttp3.Response postFileSynchronization() { + if (!NetWorkUtils.iConnected(UserApplication.userApplication)) { // 当前网络不可用 + return null; + } long time = System.currentTimeMillis(); params.put("datetime", time); try { @@ -230,6 +238,10 @@ public class OkGoBuilder { * @return */ public void postFileAsynchronous(Callback callback) { + if (!NetWorkUtils.iConnected(UserApplication.userApplication)) { // 当前网络不可用 + callback.onError(new Throwable("网络不可用"),2); + return; + } long time = System.currentTimeMillis(); params.put("datetime", time); OkGo @@ -248,9 +260,9 @@ public class OkGoBuilder { .execute(new DialogCallback(clazz) { @Override public void onSuccess(Response response) { - if (response.code()==200){ + if (response.code() == 200) { callback.onSuccess(response.body(), 1); - }else { + } else { Toast.makeText(activity, response.message(), Toast.LENGTH_SHORT).show(); } } @@ -277,6 +289,10 @@ public class OkGoBuilder { * get异步请求 */ public void getRequest(Callback callback) { + if (!NetWorkUtils.iConnected(UserApplication.userApplication)) { // 当前网络不可用 + callback.onError(new Throwable("网络不可用"),2); + return; + } long time = System.currentTimeMillis(); params.put("datetime", time); OkGo @@ -293,9 +309,9 @@ public class OkGoBuilder { .execute(new DialogCallback(clazz) { @Override public void onSuccess(Response response) { - if (response.code()==200){ + if (response.code() == 200) { callback.onSuccess(response.body(), 1); - }else { + } else { Toast.makeText(activity, response.message(), Toast.LENGTH_SHORT).show(); } @@ -320,6 +336,10 @@ public class OkGoBuilder { * @return */ public okhttp3.Response getSynchronization() { + if (!NetWorkUtils.iConnected(UserApplication.userApplication)) { // 当前网络不可用 + Toast.makeText(activity, "网络不可用,请检查网络", Toast.LENGTH_SHORT).show(); + return null; + } long time = System.currentTimeMillis(); params.put("datetime", time); try { diff --git a/app/src/main/java/com/navinfo/outdoor/util/PoiSaveUtils.java b/app/src/main/java/com/navinfo/outdoor/util/PoiSaveUtils.java index c6b7212..e73a272 100644 --- a/app/src/main/java/com/navinfo/outdoor/util/PoiSaveUtils.java +++ b/app/src/main/java/com/navinfo/outdoor/util/PoiSaveUtils.java @@ -178,6 +178,9 @@ public class PoiSaveUtils { Response execute = OkGoBuilder.getInstance().url(url) .Builder(mContext) .token(Constant.ACCESS_TOKEN).params(httpParams).getSynchronization(); + if (execute==null){ + return -1; + } if (execute.code() != 200) { return execute.code(); } @@ -292,6 +295,9 @@ public class PoiSaveUtils { .params(httpParams) .token(Constant.ACCESS_TOKEN) .fileList(photoFile).postFileSynchronization(); + if(execute==null){ + return; + } if (execute.code() != 200) { return; } @@ -384,6 +390,9 @@ public class PoiSaveUtils { .url(HttpInterface.SUBMIT_CSTASK) .token(Constant.ACCESS_TOKEN) .params(httpParams).getSynchronization(); + if (execute==null){ + return -1; + } if (execute.code() != 200) { return execute.code(); } @@ -463,6 +472,9 @@ public class PoiSaveUtils { .token(Constant.ACCESS_TOKEN) .params(httpParams) .fileList(chargingPileFileList).postFileSynchronization(); + if (execute==null){ + return -1; + } if (execute.code() != 200) { return execute.code(); } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1944f90..48bbe9a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,5 +1,5 @@ - 地图寻宝 + 地图寻宝3.0 HomeActivity First Fragment