From ffa24988c3974cddf66f0cda65a7ac76c48f1538 Mon Sep 17 00:00:00 2001 From: wds Date: Fri, 25 Jun 2021 18:28:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B6=E4=BB=96=E9=80=BB=E8=BE=91=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../outdoor/adapter/ChargingPileAdapter.java | 7 +- .../com/navinfo/outdoor/api/Constant.java | 2 + .../fragment/CapacityMeasurementFragment.java | 2 - .../fragment/ChargingPileFragment.java | 86 ++++- .../fragment/ChargingStationFragment.java | 23 +- .../outdoor/fragment/HasSubmitFragment.java | 1 - .../outdoor/fragment/OtherFragment.java | 301 +++++++++++++++++- .../outdoor/fragment/TreasureFragment.java | 32 +- .../outdoor/room/ChargingPileEntity.java | 2 +- .../res/layout/charging_pile_fragment.xml | 82 ++++- app/src/main/res/layout/fragment_other.xml | 138 +++++--- .../main/res/layout/item_charging_pile.xml | 1 + app/src/main/res/layout/other_header.xml | 2 +- app/src/main/res/layout/poi_fragment.xml | 2 +- 14 files changed, 568 insertions(+), 113 deletions(-) diff --git a/app/src/main/java/com/navinfo/outdoor/adapter/ChargingPileAdapter.java b/app/src/main/java/com/navinfo/outdoor/adapter/ChargingPileAdapter.java index 9926e93..9b9821e 100644 --- a/app/src/main/java/com/navinfo/outdoor/adapter/ChargingPileAdapter.java +++ b/app/src/main/java/com/navinfo/outdoor/adapter/ChargingPileAdapter.java @@ -7,6 +7,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.RelativeLayout; +import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; @@ -40,7 +41,9 @@ public class ChargingPileAdapter extends RecyclerView.Adapter adapterType, adapterScutcheon, adapterStake; - private RadioGroup radioGroup; - private RadioButton radioButton1, radioButton2, radioButton3, radioButton4, radioButton5, radioButton6; private RelativeLayout rlPanorama, rlCoding, rlEquipment, rlFacility, rlUsable, rlAvailable, rlParking, rlNumber, rlScutcheon, rlDevice; private ImageView ivPanorama, ivCoding, ivEquipment, ivFacility, ivUsable, ivAvailable, ivParking, ivNumber, ivScutcheon, ivDevice; private ChargingPileDao chargingPileDao; private int cp_floor = 1; private int sign_exist = 0; private int cp_availableState = 0; + private CheckBox checkButton1, checkButton2, checkButton3, checkButton4, checkButton5, checkButton6; + private int pid; public static ChargingPileFragment newInstance(Bundle bundle) { ChargingPileFragment fragment = new ChargingPileFragment(); @@ -155,13 +155,65 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC }); checkBoxRight.setVisibility(View.GONE); editNameContent = findViewById(R.id.tv_name_content); - radioGroup = findViewById(R.id.radio_group); - radioButton1 = findViewById(R.id.radio_button1); - radioButton2 = findViewById(R.id.radio_button2); - radioButton3 = findViewById(R.id.radio_button3); - radioButton4 = findViewById(R.id.radio_button4); - radioButton5 = findViewById(R.id.radio_button5); - radioButton6 = findViewById(R.id.radio_button6); + checkButton1 = findViewById(R.id.check_button1); + checkButton1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + if (isChecked){ + Toast.makeText(getContext(), "1", Toast.LENGTH_SHORT).show(); + checkButton2.setChecked(false); + checkButton3.setChecked(false); + checkButton4.setChecked(false); + checkButton5.setChecked(false); + checkButton6.setChecked(false); + } + } + }); + checkButton2 = findViewById(R.id.check_button2); + checkButton2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + if (isChecked){ + Toast.makeText(getContext(), "2", Toast.LENGTH_SHORT).show(); + } + } + }); + checkButton3 = findViewById(R.id.check_button3); + checkButton3.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + if (isChecked){ + Toast.makeText(getContext(), "3", Toast.LENGTH_SHORT).show(); + } + } + }); + checkButton4 = findViewById(R.id.check_button4); + checkButton4.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + if (isChecked){ + Toast.makeText(getContext(), "4", Toast.LENGTH_SHORT).show(); + } + } + }); + checkButton5 = findViewById(R.id.check_button5); + checkButton5.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + if (isChecked){ + Toast.makeText(getContext(), "5", Toast.LENGTH_SHORT).show(); + } + } + }); + checkButton6 = findViewById(R.id.check_button6); + checkButton6.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + if (isChecked){ + Toast.makeText(getContext(), "6", Toast.LENGTH_SHORT).show(); + } + } + }); spinnerType = findViewById(R.id.spinner_type); adapterType = new ArrayAdapter<>(getContext(), android.R.layout.simple_spinner_item, type); adapterType.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //设置下拉列表框的下拉选项样式 @@ -206,8 +258,10 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC } } + @Override - public void onNothingSelected(AdapterView parent) { } + public void onNothingSelected(AdapterView parent) { + } }); spinnerScutcheon = findViewById(R.id.spinner_scutcheon); adapterScutcheon = new ArrayAdapter<>(getContext(), android.R.layout.simple_spinner_item, scutcheon); @@ -303,6 +357,7 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC editDescribe = findViewById(R.id.edit_describe); btnSaveLocal = findViewById(R.id.btn_save_local); btnSaveLocal.setOnClickListener(this::onClick); + pid = getArguments().getInt("pid",0); } @@ -376,6 +431,17 @@ public class ChargingPileFragment extends BaseDrawerFragment implements View.OnC } else { chargingPileEntity.setMemo(describe); } + if (pid == 0) { + Toast.makeText(getActivity(), "没有关联充电站", Toast.LENGTH_SHORT).show(); + }else { + chargingPileEntity.setFid(pid); + } + new Thread(new Runnable() { + @Override + public void run() { + chargingPileDao.insertChargingPileEntity(chargingPileEntity); + } + }).start(); Message obtain = Message.obtain(); obtain.what = Constant.CHARGING_PILE_STATION; obtain.obj = chargingPileEntity; 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 8f7f363..be9d17a 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/ChargingStationFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/ChargingStationFragment.java @@ -95,7 +95,6 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View. private boolean aBoolean = false; private PoiEntity poiEntity; private PoiEntity showPoiEntity; - private ArrayList chargingPileEntities; private ChargingPileDao chargingPileDao; public static ChargingStationFragment newInstance(Bundle bundle) { @@ -299,9 +298,8 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View. recyclerStation.setLayoutManager(new GridLayoutManager(getContext(), 3)); chargingPileAdapter = new ChargingPileAdapter(getContext()); recyclerStation.setAdapter(chargingPileAdapter); - /** - * 数据处理 - */ + + showPoiEntity = (PoiEntity) getArguments().getSerializable("PoiEntity"); if (showPoiEntity != null) { editNameContent.setText(showPoiEntity.getName()); @@ -310,13 +308,14 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View. String x = showPoiEntity.getX(); String y = showPoiEntity.getY(); int id = showPoiEntity.getId(); + ArrayList chargingPileEntities = new ArrayList<>(); new Thread(new Runnable() { @Override public void run() { List chargingPile = chargingPileDao.getChargingPile(); for (int i = 0; i < chargingPile.size(); i++) { ChargingPileEntity chargingPileEntity = chargingPile.get(i); - if (id == chargingPileEntity.getFid()) { + if (showPoiEntity.getTaskId() == chargingPileEntity.getFid()) { chargingPileEntities.add(chargingPileEntity); } } @@ -361,8 +360,6 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View. phoneData = new ArrayList<>(); //存储图片地址 photoBean = new ArrayList<>(); - //充电桩的数据 - chargingPileEntities = new ArrayList<>(); } @@ -374,13 +371,6 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View. Toast.makeText(getContext(), inode, Toast.LENGTH_SHORT).show(); } else if (data.what == Constant.CHARGING_PILE_STATION) { ChargingPileEntity chargingPileEntity = (ChargingPileEntity) data.obj; - chargingPileEntity.setFid(poiEntity.getId()); - new Thread(new Runnable() { - @Override - public void run() { - chargingPileDao.insertChargingPileEntity(chargingPileEntity); - } - }).start(); ArrayList chargingPileEntities = new ArrayList<>(); chargingPileEntities.add(chargingPileEntity); chargingPileAdapter.setChargingPileEntities(chargingPileEntities); @@ -428,7 +418,7 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View. Toast.makeText(getActivity(), "请输入任务描述", Toast.LENGTH_SHORT).show(); return; } else { - poiEntity.setMemo(describe); + poiEntity.setDescribe(describe); } if (phoneData.size() <= 0) { Toast.makeText(getActivity(), "请输入手机号", Toast.LENGTH_SHORT).show(); @@ -456,6 +446,7 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View. poiEntity.setCreateTime(format); poiEntity.setType(2); poiEntity.setTaskStatus(0); + poiEntity.setTaskId(101); new Thread(new Runnable() { @Override public void run() { @@ -519,7 +510,7 @@ public class ChargingStationFragment extends BaseDrawerFragment implements View. case R.id.linear_charging_pile: Message obtains = Message.obtain(); obtains.what = Constant.CHARGING_STATION; - obtains.obj = true; + obtains.obj = 101; EventBus.getDefault().post(obtains); break; } 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 2d592b3..f96fa95 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/HasSubmitFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/HasSubmitFragment.java @@ -46,7 +46,6 @@ public class HasSubmitFragment extends BaseFragment implements View.OnClickListe return R.layout.fragment_has_submit; } - @Override protected void initView() { super.initView(); clPoi = (ConstraintLayout) findViewById(R.id.cl_poi); diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/OtherFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/OtherFragment.java index 2aa9263..ed7b3df 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/OtherFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/OtherFragment.java @@ -1,30 +1,79 @@ package com.navinfo.outdoor.fragment; +import android.content.Intent; +import android.graphics.Bitmap; import android.os.Bundle; import android.os.Message; import android.util.Log; import android.view.LayoutInflater; import android.view.View; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.Button; +import android.widget.CheckBox; +import android.widget.CompoundButton; import android.widget.EditText; import android.widget.ImageView; import android.widget.LinearLayout; +import android.widget.RelativeLayout; +import android.widget.Spinner; import android.widget.TextView; +import android.widget.Toast; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import androidx.slidingpanelayout.widget.SlidingPaneLayout; +import com.bumptech.glide.Glide; +import com.hjq.permissions.OnPermissionCallback; +import com.hjq.permissions.Permission; +import com.hjq.permissions.XXPermissions; +import com.kongzue.dialog.interfaces.OnDialogButtonClickListener; +import com.kongzue.dialog.util.BaseDialog; +import com.kongzue.dialog.util.DialogSettings; +import com.kongzue.dialog.v3.MessageDialog; import com.navinfo.outdoor.R; import com.navinfo.outdoor.api.Constant; import com.navinfo.outdoor.base.BaseDrawerFragment; +import com.navinfo.outdoor.bean.Info; +import com.navinfo.outdoor.room.PoiDao; +import com.navinfo.outdoor.room.PoiDatabase; +import com.navinfo.outdoor.room.PoiEntity; +import com.navinfo.outdoor.util.PhotoPathUtil; import org.greenrobot.eventbus.EventBus; +import org.greenrobot.eventbus.Subscribe; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; + +import static android.app.Activity.RESULT_OK; /** * 寻宝-上报-其他的fragment */ public class OtherFragment extends BaseDrawerFragment implements View.OnClickListener { - private ImageView ivOtherFinal; + private Spinner spinnerOther; + String[] others = new String[]{"下拉选择", "门牌","道路施工","标牌采集","公交","其他"}; + private String inode; + private EditText editTaskName,editOtherDescribe; + private RelativeLayout rlPicture; + private ImageView ivPicture; + private RelativeLayout rlPictures; + private ImageView ivPictures; + private Button btnOtherLocal; + private Button btnOtherUploading; + private List photoBean; + private PoiDatabase poiDatabase; + private PoiDao poiDao; + private boolean aBoolean=false; + private boolean bBoolean=false; + private PoiEntity showPoiEntity; public static OtherFragment newInstance(Bundle bundle) { OtherFragment fragment = new OtherFragment(); @@ -36,18 +85,23 @@ public class OtherFragment extends BaseDrawerFragment implements View.OnClickLis protected int getLayout() { return R.layout.fragment_other; } - @Override public void onStart() { super.onStart(); + if (!EventBus.getDefault().isRegistered(this)) {//加上判断 + EventBus.getDefault().register(this); + } + + } + @Override + public void onResume() { + super.onResume(); View header = LayoutInflater.from(getActivity()).inflate(R.layout.other_header, null); Message obtain = Message.obtain(); obtain.what = Constant.MAIN_HEADER; obtain.obj = header; EventBus.getDefault().post(obtain); - //点击按钮返回上一页 - ImageView ivOtherFinal = header.findViewById(R.id.iv_other_final); - ivOtherFinal.setOnClickListener(new View.OnClickListener() { + header.findViewById(R.id.iv_final).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Bundle arguments = getArguments(); @@ -61,31 +115,262 @@ public class OtherFragment extends BaseDrawerFragment implements View.OnClickLis obtain.what= Constant.TREASURE_FRAGMENT; obtain.obj=isSliding; EventBus.getDefault().post(obtain); + Message mainButtonVisiableMsg = Message.obtain(); mainButtonVisiableMsg.what= Constant.MAIN_BUTTON_VISIABLE; mainButtonVisiableMsg.obj= View.VISIBLE; EventBus.getDefault().post(mainButtonVisiableMsg); } + onBackPressed(); } }); } - - @Override protected void initView() { super.initView(); + //存储图片地址 + photoBean = new ArrayList<>(); } - + @Subscribe + public void onEvent(Message data) { + if (data.what == Constant.OTHER_WORD) { + inode = data.obj.toString(); + Toast.makeText(getContext(), inode, Toast.LENGTH_SHORT).show(); + } + } @Override protected void initData() { super.initData(); + poiDatabase = PoiDatabase.getInstance(getContext()); + poiDao = poiDatabase.getPoiDao(); + spinnerOther = findViewById(R.id.spinner_other); + ArrayAdapter adapterOthers = new ArrayAdapter<>(getContext(), android.R.layout.simple_spinner_item, others); + adapterOthers.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //设置下拉列表框的下拉选项样式 + spinnerOther.setAdapter(adapterOthers); + spinnerOther.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView parent, View view, int position, long id) { + switch (position) { + case 0: + + break; + case 1: + Toast.makeText(getActivity(), others[1], Toast.LENGTH_SHORT).show(); + break; + case 2: + Toast.makeText(getActivity(), others[2], Toast.LENGTH_SHORT).show(); + break; + case 3: + Toast.makeText(getActivity(), others[3], Toast.LENGTH_SHORT).show(); + break; + case 4: + Toast.makeText(getActivity(), others[4], Toast.LENGTH_SHORT).show(); + break; + case 5: + Toast.makeText(getActivity(), others[5], Toast.LENGTH_SHORT).show(); + break; + } + } + @Override + public void onNothingSelected(AdapterView parent) {} + }); + CheckBox checkPot = findViewById(R.id.check_pot); + checkPot.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + Message obtain = Message.obtain(); + obtain.what = Constant.MAIN_OTHER; + obtain.obj = isChecked; + EventBus.getDefault().post(obtain); + } + }); + editTaskName = findViewById(R.id.et_task_name); + rlPicture = findViewById(R.id.rl_picture); + rlPicture.setOnClickListener(this::onClick); + ivPicture = findViewById(R.id.iv_picture); + + rlPictures = findViewById(R.id.rl_pictures); + rlPictures.setOnClickListener(this::onClick); + ivPictures = findViewById(R.id.iv_pictures); + editOtherDescribe = findViewById(R.id.edit_other_describe); + btnOtherLocal = findViewById(R.id.btn_other_local); + btnOtherLocal.setOnClickListener(this::onClick); + btnOtherUploading = findViewById(R.id.btn_other_uploading); + btnOtherUploading.setOnClickListener(this::onClick); + + showPoiEntity = (PoiEntity) getArguments().getSerializable("PoiEntity"); + if (showPoiEntity != null) { + editTaskName.setText(showPoiEntity.getName()); + inode = showPoiEntity.getX() + "," + showPoiEntity.getY(); + editOtherDescribe.setText(showPoiEntity.getDescribe()); + if (showPoiEntity.getPhotoInfo() != null) { + if (showPoiEntity.getPhotoInfo().get(0).getPhoto() != null) { + Glide.with(getActivity()).load(showPoiEntity.getPhotoInfo().get(0).getPhoto()).into(ivPicture); + } + if (showPoiEntity.getPhotoInfo().get(1).getPhoto() != null) { + Glide.with(getActivity()).load(showPoiEntity.getPhotoInfo().get(1).getPhoto()).into(ivPictures); + } + + } + } } @Override public void onClick(View v) { switch (v.getId()) { + case R.id.rl_picture: + Intent intentPicture = new Intent("android.media.action.IMAGE_CAPTURE"); + startActivityForResult(intentPicture, 101); + break; + case R.id.rl_pictures: + Intent intentPictures = new Intent("android.media.action.IMAGE_CAPTURE"); + startActivityForResult(intentPictures, 102); + break; + case R.id.btn_other_local: + XXPermissions.with(this) + //读写权限 + .permission(Permission.MANAGE_EXTERNAL_STORAGE) + .request(new OnPermissionCallback() { + @Override + public void onGranted(List permissions, boolean all) { + if (all) { + //保存数据库: + PoiEntity poiEntity = new PoiEntity(); + String name = editTaskName.getText().toString().trim();//名称 + if (name == null || name.equals("")) { + Toast.makeText(getActivity(), "请输入poi 名称", Toast.LENGTH_SHORT).show(); + return; + } else { + poiEntity.setName(name); + } + if (inode == null || inode.equals("")) { + Toast.makeText(getActivity(), "请确定点位", Toast.LENGTH_SHORT).show(); + return; + } else { + String[] split = inode.split(","); + poiEntity.setX(split[0]); + poiEntity.setY(split[1]); + } + String describe = editOtherDescribe.getText().toString().trim(); + if (describe == null || describe.equals("")) { + Toast.makeText(getActivity(), "请输入任务描述", Toast.LENGTH_SHORT).show(); + return; + } else { + poiEntity.setDescribe(describe); + } + if (photoBean.size() < 0) { + Toast.makeText(getActivity(), "请拍照", Toast.LENGTH_SHORT).show(); + return; + } else { + poiEntity.setPhotoInfo(photoBean); + } + if (!aBoolean) { + Toast.makeText(getActivity(), "请拍照 全景图", Toast.LENGTH_SHORT).show(); + return; + } + if (!bBoolean) { + Toast.makeText(getActivity(), "请拍照 名称", Toast.LENGTH_SHORT).show(); + return; + } + DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Calendar calendar = Calendar.getInstance(); + calendar.setTimeInMillis(System.currentTimeMillis()); + String format = formatter.format(calendar.getTime()); + poiEntity.setCreateTime(format); + poiEntity.setType(3); + poiEntity.setTaskStatus(0); + new Thread(new Runnable() { + @Override + public void run() { + poiDao.insertPoiEntity(poiEntity); + + } + }).start(); + Message obtains = Message.obtain(); + obtains.what = Constant.TREASURE_FRAGMENT; + obtains.obj = false; + EventBus.getDefault().post(obtains); + onBackPressed(); + } else { + Toast.makeText(getActivity(), "没有申请权限,请手动申请", Toast.LENGTH_SHORT).show(); + } + } + + @Override + public void onDenied(List permissions, boolean never) { + if (never) { + Toast.makeText(getActivity(), "被永久拒绝授权,请手动授予权限", Toast.LENGTH_SHORT).show(); + // 如果是被永久拒绝就跳转到应用权限系统设置页面 + XXPermissions.startPermissionActivity(getActivity(), permissions); + } + } + }); + + break; + case R.id.btn_other_uploading: + break; } } + + @Override + public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (requestCode == 101 && resultCode == RESULT_OK) { + Bundle extras = data.getExtras();//从Intent中获取附加值 + Bitmap bitmap = (Bitmap) extras.get("data");//从附加值中获取返回的图像 + int height = bitmap.getHeight(); + int width = bitmap.getWidth(); + if (height > width) { + DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE; + MessageDialog.show((AppCompatActivity) getContext(), "提示", "请重新拍照,要求横屏拍照", "确定").setOkButton(new OnDialogButtonClickListener() { + @Override + public boolean onClick(BaseDialog baseDialog, View v) { + Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); + startActivityForResult(intent, 101); + return false; + } + }); + } else { + String takePhotoPath = PhotoPathUtil.getTakePhotoPath(data);//照片路径 + Info info = new Info(); + info.setPhoto(takePhotoPath); + photoBean.add(info); + ivPicture.setImageBitmap(bitmap);//显示图像 + aBoolean=true; + } + } else if (requestCode == 102 && resultCode == RESULT_OK) { + Bundle extras = data.getExtras();//从Intent中获取附加值 + Bitmap bitmap = (Bitmap) extras.get("data");//从附加值中获取返回的图像 + int height = bitmap.getHeight(); + int width = bitmap.getWidth(); + if (height > width) { + DialogSettings.style = DialogSettings.STYLE.STYLE_KONGZUE; + MessageDialog.show((AppCompatActivity) getContext(), "提示", "请重新拍照,要求横屏拍照", "确定").setOkButton(new OnDialogButtonClickListener() { + @Override + public boolean onClick(BaseDialog baseDialog, View v) { + Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); + startActivityForResult(intent, 102); + return false; + } + }); + } else { + String takePhotoPath = PhotoPathUtil.getTakePhotoPath(data);//照片路径 + Info info = new Info(); + info.setPhoto(takePhotoPath); + photoBean.add(info); + ivPictures.setImageBitmap(bitmap);//显示图像 + bBoolean=true; + } + } + } + + @Override + public void onDestroy() { + if (EventBus.getDefault().isRegistered(this))//加上判断 + EventBus.getDefault().unregister(this); + super.onDestroy(); + } + } \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/TreasureFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/TreasureFragment.java index 149d8ee..562eac7 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/TreasureFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/TreasureFragment.java @@ -207,11 +207,12 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen initFilterMarker(poiEntities); } else if (data.what == Constant.TREASURE_WORD) { // POI采集-移动位置 initPoiMarker(Boolean.valueOf((Boolean) data.obj), Constant.POI_WORD); - - }else if (data.what==Constant.MAIN_CHARGING_STATION){//充电站采集-移动位置 - initPoiMarker(Boolean.valueOf((Boolean) data.obj),Constant.CHARGING_STATION_WORD); - }else if (data.what ==Constant.MAIN_CHARGING_PILE){//充电桩采集-移动位置 - initPoiMarker(Boolean.valueOf((Boolean)data.obj),Constant.CHARGING_PILE_WORD); + } else if (data.what == Constant.MAIN_CHARGING_STATION) {//充电站采集-移动位置 + initPoiMarker(Boolean.valueOf((Boolean) data.obj), Constant.CHARGING_STATION_WORD); + } else if (data.what == Constant.MAIN_CHARGING_PILE) {//充电桩采集-移动位置 + initPoiMarker(Boolean.valueOf((Boolean) data.obj), Constant.CHARGING_PILE_WORD); + } else if (data.what == Constant.MAIN_OTHER) {//其他采集-移动位置 + initPoiMarker(Boolean.valueOf((Boolean) data.obj), Constant.OTHER_WORD); } else if (data.what == Constant.TREASURE_FRAGMENT) { if ((boolean) data.obj == true) { frameLayout.setVisibility(View.GONE); @@ -237,14 +238,12 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen sliding_layout.setPanelHeight(1000); sliding_layout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED); } - }else if (data.what==Constant.CHARGING_STATION){//充电站的充电桩 - if ((boolean)data.obj){ - Bundle bundle = new Bundle(); - bundle.putBoolean("isSliding", false); // 通知抽屉不收回 - ChargingPileFragment chargingPileFragment = ChargingPileFragment.newInstance(bundle); - showSlidingFragment(chargingPileFragment); - } - + } else if (data.what == Constant.CHARGING_STATION) {//充电站的充电桩 + Bundle bundle = new Bundle(); + bundle.putBoolean("isSliding", false); // 通知抽屉不收回 + bundle.putInt("pid", (Integer) data.obj); + ChargingPileFragment chargingPileFragment = ChargingPileFragment.newInstance(bundle); + showSlidingFragment(chargingPileFragment); } @@ -274,7 +273,7 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen } - private void initPoiMarker(Boolean t,int aInt) { + private void initPoiMarker(Boolean t, int aInt) { if (t == true) { //移动地图 CameraUpdate cameraSigma = @@ -475,14 +474,15 @@ public class TreasureFragment extends BaseFragment implements View.OnClickListen break; case R.id.iv_message: Intent messageIntent = new Intent(getContext(), FragmentManagement.class); - messageIntent.putExtra("tag",35); - startActivity(messageIntent); + messageIntent.putExtra("tag", 35); + startActivity(messageIntent); break; } } /** * header 头部布局 + * * @param view */ public void initHeader(View view) { diff --git a/app/src/main/java/com/navinfo/outdoor/room/ChargingPileEntity.java b/app/src/main/java/com/navinfo/outdoor/room/ChargingPileEntity.java index f2b21f5..8cfdf01 100644 --- a/app/src/main/java/com/navinfo/outdoor/room/ChargingPileEntity.java +++ b/app/src/main/java/com/navinfo/outdoor/room/ChargingPileEntity.java @@ -18,7 +18,7 @@ import static androidx.room.ForeignKey.CASCADE; * PoiEntity实体类的id和ChargingPileEntity实体类的pileId相关联 * 注解中包含Delete = CASCADE, 你可以告诉SQLite,如果相应的PoiEntity实例被删除,那么删除这个PoiEntity下的所有ChargingPileEntity。 */ -@Entity(tableName = "pile", foreignKeys = @ForeignKey(entity = PoiEntity.class,parentColumns = "id",childColumns = "pileId",onDelete =CASCADE)) +@Entity(tableName = "pile") public class ChargingPileEntity { @PrimaryKey(autoGenerate = true) // 设置主键,并且自动生长 private int pileId; diff --git a/app/src/main/res/layout/charging_pile_fragment.xml b/app/src/main/res/layout/charging_pile_fragment.xml index 3549eb1..984e2cb 100644 --- a/app/src/main/res/layout/charging_pile_fragment.xml +++ b/app/src/main/res/layout/charging_pile_fragment.xml @@ -120,7 +120,81 @@ android:layout_margin="10dp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/linear_name" /> - + + + + + + + + + + + + + + + + + + + + + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintLeft_toLeftOf="parent" /> @@ -36,24 +36,32 @@ android:layout_margin="20dp" android:background="@drawable/other_text"> - @@ -95,15 +103,20 @@ app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf="parent" /> - + - - - + android:gravity="center"> - + android:id="@+id/image_picture" + android:layout_centerHorizontal="true" + android:layout_width="40dp" + android:layout_marginTop="20dp" + android:background="@drawable/plus" + android:layout_height="40dp" + /> - - - + + + - + android:gravity="center"> - + android:id="@+id/image_pictures" + android:layout_centerHorizontal="true" + android:layout_width="40dp" + android:layout_marginTop="20dp" + android:background="@drawable/plus" + android:layout_height="40dp" + /> - - + android:layout_centerHorizontal="true" + android:text="照片" + android:textSize="8sp" + android:layout_margin="5dp" + android:textColor="@color/pickerview_wheelview_textcolor_divider" + android:layout_below="@id/image_pictures" + /> + +