app/build.gradle | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/dayu/recharge/activity/IdentifyingActivity.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/dayu/recharge/activity/SysIpActivity.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/dayu/recharge/view/ChooseView.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/res/drawable/ic_choose_gray_edge.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/res/layout/activity_identyfying.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/res/layout/activity_power.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/res/layout/pickerview_choose.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/res/mipmap-xhdpi/icon_bottom.png | 补丁 | 查看 | 原始文档 | blame | 历史 |
app/build.gradle
@@ -56,6 +56,7 @@ implementation 'com.google.zxing:core:3.4.1' implementation group: 'net.sourceforge.jexcelapi', name: 'jxl', version: '2.6.12' implementation 'com.wang.avi:library:2.1.3' //地址选择 implementation project(':pickerviewlibrary') implementation project(':easysocket') implementation 'com.tencent.bugly:crashreport:latest.release' @@ -67,4 +68,6 @@ exclude group: 'androidx.appcompat'; exclude group: 'androidx.annotation'; } //滚动选择框 implementation 'com.contrarywind:Android-PickerView:4.1.9' } app/src/main/java/com/dayu/recharge/activity/IdentifyingActivity.java
@@ -8,6 +8,9 @@ import com.dayu.recharge.databinding.ActivityIdentyfyingBinding; import com.dayu.recharge.dbBean.IdentityBean; import com.dayu.recharge.utils.TipUtil; import com.dayu.recharge.view.ChooseView; import java.util.Arrays; /** * Created by Android Studio. @@ -21,28 +24,44 @@ ActivityIdentyfyingBinding binding; IdentityBean myIdentityBean; String[] nianfen = {"管理卡", "清零卡", "重新注册设备卡", "删除全部用户卡", "设置域名卡", "测试卡", "设备信息卡", "水泵功率卡"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding=ActivityIdentyfyingBinding.inflate(LayoutInflater.from(this)); binding = ActivityIdentyfyingBinding.inflate(LayoutInflater.from(this)); setContentView(binding.getRoot()); IdentityBean identityBean=baseDao.identityDao().findFirst(); if (identityBean!=null){ myIdentityBean= identityBean; binding.chooseCardType.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ChooseView.getIntence(IdentifyingActivity.this, Arrays.asList(nianfen.clone()), new ChooseView.ChooseCallBack() { @Override public void onOptionsSelect(int options1) { } }).show(); } }); IdentityBean identityBean = baseDao.identityDao().findFirst(); if (identityBean != null) { myIdentityBean = identityBean; binding.electricOldNumber.setText(myIdentityBean.getIdentity()); }else { myIdentityBean=new IdentityBean(); } else { myIdentityBean = new IdentityBean(); binding.electricOldNumber.setText("3668F7A30119"); } binding.electricOk.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String data = binding.electricOldNumber.getText().toString(); if (!TextUtils.isEmpty(data)){ if (!TextUtils.isEmpty(data)) { myIdentityBean.setIdentity(binding.electricOldNumber.getText().toString()); baseDao.identityDao().insert(myIdentityBean); TipUtil.show("保存成功"); }else { } else { TipUtil.show("请输入卡标识"); } @@ -50,4 +69,26 @@ }); } private void chooseData(String data) { switch (data) { case "管理卡": break; case "清零卡": break; case "重新注册设备卡": break; case "删除全部用户卡": break; case "设置域名卡": break; case "测试卡": break; case "设备信息卡": break; case "水泵功率卡": break; } } } app/src/main/java/com/dayu/recharge/activity/SysIpActivity.java
@@ -1,6 +1,7 @@ package com.dayu.recharge.activity; import android.os.Bundle; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.widget.Toast; @@ -10,6 +11,8 @@ import com.dayu.recharge.dbBean.AdminDataBean; import com.dayu.recharge.dbBean.IpBean; import com.dayu.recharge.utils.DeviceNumberUtils; import com.dayu.recharge.utils.TipUtil; import com.dayu.recharge.utils.ToastUtil; import com.dayu.recharge.utils.WSHelper; /** @@ -48,10 +51,19 @@ ipBinding.ipOk.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (TextUtils.isEmpty(ipBinding.port.getText().toString())) { ToastUtil.show("请输入端口号"); return; } int newPort = Integer.parseInt(ipBinding.port.getText().toString()); if (newPort <= 0 || newPort > 65535) { TipUtil.show("请输入正确的端口号"); return; } if (ipBean != null) { String oldIp = ipBean.getIp(); int oldPort = ipBean.getPort(); if (!oldIp.equals(ipBinding.ip.getText().toString())|| oldPort != Integer.valueOf(ipBinding.port.getText().toString())) { if (!oldIp.equals(ipBinding.ip.getText().toString()) || oldPort != newPort) { // DeviceNumberUtils.setDeviceNumber(""); } } @@ -59,7 +71,7 @@ ipBean = new IpBean(); } ipBean.setIp(ipBinding.ip.getText().toString()); ipBean.setPort(Integer.parseInt(ipBinding.port.getText().toString())); ipBean.setPort(newPort); baseDao.ipDao().insert(ipBean); AdminDataBean adminData = baseDao.adminDao().findFirst(); //修改IP后重新连接 app/src/main/java/com/dayu/recharge/view/ChooseView.java
New file @@ -0,0 +1,119 @@ package com.dayu.recharge.view; import android.app.Activity; import android.content.Context; import android.view.View; import android.view.inputmethod.InputMethodManager; import android.widget.TextView; import androidx.annotation.NonNull; import com.bigkoo.pickerview.builder.OptionsPickerBuilder; import com.bigkoo.pickerview.listener.CustomListener; import com.bigkoo.pickerview.listener.OnOptionsSelectListener; import com.bigkoo.pickerview.view.OptionsPickerView; import com.dayu.recharge.R; import java.util.List; /** * Copyright (C), 2023, * Author: zuo * Date: 2023-04-09 17:37 * Description: 滚动选择框 */ public class ChooseView { private OptionsPickerView pvCustomOptions; Context mycontext; List<String> mycardItem; static ChooseView chooseView; ChooseCallBack chooseCallBack; public static ChooseView getIntence(@NonNull Activity context, List<String> cardItem, ChooseCallBack chooseCallBack) { hideSoftKeyboard(context); if (chooseView == null) { chooseView = new ChooseView(); } chooseView.mycontext = context; chooseView.chooseCallBack = chooseCallBack; chooseView.mycardItem = cardItem; chooseView.initView(); return chooseView; } /** * 隐藏软键盘(只适用于Activity,不适用于Fragment) */ public static void hideSoftKeyboard(Activity activity) { try { View view = activity.getCurrentFocus(); if (view != null) { InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE); inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); } } catch (Exception e) { e.printStackTrace(); } } void initView() { /** * @description * * 注意事项: * 自定义布局中,id为 optionspicker 或者 timepicker 的布局以及其子控件必须要有,否则会报空指针。 * 具体可参考demo 里面的两个自定义layout布局。 */ pvCustomOptions = new OptionsPickerBuilder(mycontext, new OnOptionsSelectListener() { @Override public void onOptionsSelect(int options1, int option2, int options3, View v) { //返回的分别是三个级别的选中位置 // String tx = cardItem.get(options1).getPickerViewText(); // btn_CustomOptions.setText(tx); chooseCallBack.onOptionsSelect(options1); } }) .setLayoutRes(R.layout.pickerview_choose, new CustomListener() { @Override public void customLayout(View v) { final TextView tvSubmit = (TextView) v.findViewById(R.id.bt_add); final TextView tvCancel = (TextView) v.findViewById(R.id.bt_cancel); tvSubmit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { pvCustomOptions.returnData(); pvCustomOptions.dismiss(); } }); tvCancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { pvCustomOptions.dismiss(); } }); } }) .isDialog(false) .setOutSideCancelable(false) .build(); pvCustomOptions.setPicker(mycardItem);//添加数据 } public void show() { pvCustomOptions.show(); } public interface ChooseCallBack { void onOptionsSelect(int options1); } } app/src/main/res/drawable/ic_choose_gray_edge.xml
New file @@ -0,0 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#ffffff" /> <corners android:radius="5dp" /> <stroke android:width="1dp" android:color="#ededed" /> </shape> app/src/main/res/layout/activity_identyfying.xml
@@ -13,17 +13,50 @@ app:centerText="水表脉冲设置" app:leftImage="@mipmap/icon_back" /> <RelativeLayout android:id="@+id/chooseCardType" android:layout_width="match_parent" android:layout_height="45dp" android:layout_below="@id/titleBar" android:layout_marginLeft="20dp" android:layout_marginTop="20dp" android:layout_marginRight="20dp" android:background="@drawable/ic_choose_gray_edge"> <TextView android:id="@+id/chooseCardTypeText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginLeft="10dp" android:hint="请选择卡类型" android:text="@{data.getBuildYearStr}" android:textColor="#000000" android:textSize="18sp" /> <ImageView android:layout_width="15dp" android:layout_height="15dp" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_marginRight="8dp" android:src="@mipmap/icon_bottom" /> </RelativeLayout> <LinearLayout android:id="@+id/electric_ll" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/titleBar" android:layout_below="@id/chooseCardType" android:layout_margin="20dp" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#000000" android:text="当前卡标识:" android:textSize="@dimen/text_size" /> @@ -43,8 +76,8 @@ android:layout_below="@+id/electric_ll" android:layout_alignParentStart="true" android:layout_margin="20dp" android:inputType="number" android:hint="请输入新的卡标识" /> android:hint="请输入新的卡标识" android:inputType="number" /> <TextView android:id="@+id/electric_ok" app/src/main/res/layout/activity_power.xml
@@ -44,7 +44,6 @@ android:layout_alignParentStart="true" android:layout_marginStart="20dp" android:layout_marginTop="20dp" android:maxLength="8" android:layout_marginEnd="20dp" android:layout_marginBottom="20dp" android:hint="请输入新设置的水泵功率" app/src/main/res/layout/pickerview_choose.xml
New file @@ -0,0 +1,65 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <RelativeLayout android:layout_width="match_parent" android:background="@color/white" android:layout_height="45dp"> <TextView android:id="@+id/bt_cancel" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginLeft="20dp" android:gravity="center" android:text="取 消" android:textColor="@color/choose_grey" android:textSize="@dimen/choose_pop_text" /> <TextView android:id="@+id/bt_add" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_alignParentRight="true" android:layout_marginRight="20dp" android:gravity="center" android:text="确 定" android:textColor="@color/title_color" android:textSize="@dimen/choose_pop_text" /> </RelativeLayout> <!--此部分需要完整复制过去,删减或者更改ID会导致初始化找不到内容而报空--> <LinearLayout android:id="@+id/optionspicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:minHeight="150dp" android:gravity="center" android:background="@android:color/white" android:orientation="horizontal"> <com.contrarywind.view.WheelView android:id="@+id/options1" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" /> <com.contrarywind.view.WheelView android:id="@+id/options2" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" /> <com.contrarywind.view.WheelView android:id="@+id/options3" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" /> </LinearLayout> </LinearLayout> app/src/main/res/mipmap-xhdpi/icon_bottom.png