From d09bdcac6830afaad6e277fb558c16d2aa6187a7 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 14 十二月 2023 11:13:21 +0800
Subject: [PATCH] 卡标识码列表功能相关,可分辨设置不同类型卡标识码
---
app/src/main/java/com/dayu/recharge/activity/IdentifyingActivity.java | 100 +++++++++++++++++++++---
app/src/main/java/com/dayu/recharge/dbBean/CardData.java | 43 ++++++++++
app/src/main/java/com/dayu/recharge/card/RegisteredCard.java | 4 +
app/src/main/res/layout/activity_identyfying.xml | 3
app/src/main/res/layout/pickerview_choose.xml | 10 +-
app/src/main/java/com/dayu/recharge/card/CleanCard.java | 6 +
app/src/main/java/com/dayu/recharge/card/TestCard.java | 4 +
app/src/main/java/com/dayu/recharge/card/ManageCard.java | 5
app/src/main/java/com/dayu/recharge/dao/CardDataDao.java | 30 +++++++
app/src/main/java/com/dayu/recharge/dao/AppDatabase.java | 5 +
app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java | 4 +
local.properties | 4
app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java | 4 +
13 files changed, 195 insertions(+), 27 deletions(-)
diff --git a/app/src/main/java/com/dayu/recharge/activity/IdentifyingActivity.java b/app/src/main/java/com/dayu/recharge/activity/IdentifyingActivity.java
index 9786eb7..520ed07 100644
--- a/app/src/main/java/com/dayu/recharge/activity/IdentifyingActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/IdentifyingActivity.java
@@ -5,8 +5,16 @@
import android.view.LayoutInflater;
import android.view.View;
+import com.dayu.recharge.card.CleanCard;
+import com.dayu.recharge.card.ConfigurationPowerCard;
+import com.dayu.recharge.card.ConfigureDeviceRegistrationCrad;
+import com.dayu.recharge.card.ManageCard;
+import com.dayu.recharge.card.RegisteredCard;
+import com.dayu.recharge.card.TestCard;
import com.dayu.recharge.databinding.ActivityIdentyfyingBinding;
+import com.dayu.recharge.dbBean.CardData;
import com.dayu.recharge.dbBean.IdentityBean;
+import com.dayu.recharge.utils.MyCommon;
import com.dayu.recharge.utils.TipUtil;
import com.dayu.recharge.view.ChooseView;
@@ -22,10 +30,15 @@
public class IdentifyingActivity extends BaseActivity {
ActivityIdentyfyingBinding binding;
- IdentityBean myIdentityBean;
- String[] nianfen = {"绠$悊鍗�", "娓呴浂鍗�", "閲嶆柊娉ㄥ唽璁惧鍗�", "鍒犻櫎鍏ㄩ儴鐢ㄦ埛鍗�", "璁剧疆鍩熷悕鍗�", "娴嬭瘯鍗�", "璁惧淇℃伅鍗�", "姘存车鍔熺巼鍗�"};
+ String[] nianfen = {"绠$悊鍗�", "娓呴浂鍗�", "閲嶆柊娉ㄥ唽璁惧鍗�", "鍒犻櫎鍏ㄩ儴鐢ㄦ埛鍗�", "娴嬭瘯鍗�", "璁惧淇℃伅鍗�", "姘存车鍔熺巼鍗�"};
+
+ /**
+ * 褰撳墠閫変腑鐨勫崱绫诲瀷
+ */
+ String cardType;
+ CardData cardData;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -38,7 +51,8 @@
ChooseView.getIntence(IdentifyingActivity.this, Arrays.asList(nianfen.clone()), new ChooseView.ChooseCallBack() {
@Override
public void onOptionsSelect(int options1) {
-
+ chooseData(nianfen[options1]);
+ binding.chooseCardTypeText.setText(nianfen[options1]);
}
}).show();
}
@@ -46,49 +60,105 @@
IdentityBean identityBean = baseDao.identityDao().findFirst();
- if (identityBean != null) {
- myIdentityBean = identityBean;
- binding.electricOldNumber.setText(myIdentityBean.getIdentity());
- } else {
- myIdentityBean = new IdentityBean();
- binding.electricOldNumber.setText("3668F7A30119");
- }
+
binding.electricOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+ if (TextUtils.isEmpty(cardType)) {
+ TipUtil.show("璇烽�夋嫨鍗$被鍨�");
+ return;
+ }
String data = binding.electricOldNumber.getText().toString();
if (!TextUtils.isEmpty(data)) {
- myIdentityBean.setIdentity(binding.electricOldNumber.getText().toString());
- baseDao.identityDao().insert(myIdentityBean);
+ if (cardData == null) {
+ cardData = new CardData();
+ cardData.setCardType(cardType);
+ }
+ cardData.setCardIdentifying(data);
+ baseDao.cardDataDao().insert(cardData);
TipUtil.show("淇濆瓨鎴愬姛");
} else {
TipUtil.show("璇疯緭鍏ュ崱鏍囪瘑");
}
-
}
});
}
private void chooseData(String data) {
+
switch (data) {
case "绠$悊鍗�":
+ cardType = MyCommon.MANAGE_CRAD;
+ cardData = baseDao.cardDataDao().findFirst(MyCommon.MANAGE_CRAD);
+ if (cardData != null) {
+ setData(cardData);
+ } else {
+ binding.electricOldNumber.setText(new ManageCard().getCardData());
+ }
break;
case "娓呴浂鍗�":
+ cardType = MyCommon.CLEAN_CARD_TYPE;
+ cardData = baseDao.cardDataDao().findFirst(MyCommon.CLEAN_CARD_TYPE);
+ if (cardData != null) {
+ setData(cardData);
+ } else {
+ binding.electricOldNumber.setText(new CleanCard().getCardData());
+ }
break;
case "閲嶆柊娉ㄥ唽璁惧鍗�":
+ cardType = MyCommon.REGISTERED_CARD_TYPE;
+ cardData = baseDao.cardDataDao().findFirst(MyCommon.REGISTERED_CARD_TYPE);
+ if (cardData != null) {
+ setData(cardData);
+ } else {
+ binding.electricOldNumber.setText(new RegisteredCard().getCardData());
+ }
break;
case "鍒犻櫎鍏ㄩ儴鐢ㄦ埛鍗�":
- break;
- case "璁剧疆鍩熷悕鍗�":
+ cardType = MyCommon.CLEAN_ALL_USER_CARD_TYPE;
+ cardData = baseDao.cardDataDao().findFirst(MyCommon.CLEAN_ALL_USER_CARD_TYPE);
+ if (cardData != null) {
+ setData(cardData);
+ } else {
+ binding.electricOldNumber.setText(new RegisteredCard().getCardData());
+ }
break;
case "娴嬭瘯鍗�":
+ cardType = MyCommon.TEST_CARD_TYPE;
+ cardData = baseDao.cardDataDao().findFirst(MyCommon.TEST_CARD_TYPE);
+ if (cardData != null) {
+ setData(cardData);
+ } else {
+ binding.electricOldNumber.setText(new TestCard().getCardData());
+ }
break;
case "璁惧淇℃伅鍗�":
+ cardType = MyCommon.CONFIGURATION_CARD_TYPE;
+ cardData = baseDao.cardDataDao().findFirst(MyCommon.CONFIGURATION_CARD_TYPE);
+ if (cardData != null) {
+ setData(cardData);
+ } else {
+ binding.electricOldNumber.setText(new ConfigureDeviceRegistrationCrad().getCardData());
+ }
break;
case "姘存车鍔熺巼鍗�":
+ cardType = MyCommon.CONFIGURATION_POWER_CARD_TYPE;
+ cardData = baseDao.cardDataDao().findFirst(MyCommon.CONFIGURATION_POWER_CARD_TYPE);
+ if (cardData != null) {
+ setData(cardData);
+ } else {
+ binding.electricOldNumber.setText(new ConfigurationPowerCard().getCardData());
+ }
break;
}
}
+ private void setData(CardData cardData) {
+ if (cardData != null) {
+ String Identifying = cardData.getCardIdentifying();
+ binding.electricOldNumber.setText(Identifying);
+ }
+ }
+
}
diff --git a/app/src/main/java/com/dayu/recharge/card/CleanCard.java b/app/src/main/java/com/dayu/recharge/card/CleanCard.java
index 6eba6a9..2a8ac77 100644
--- a/app/src/main/java/com/dayu/recharge/card/CleanCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/CleanCard.java
@@ -15,6 +15,12 @@
public String cardType = MyCommon.CLEAN_CARD_TYPE;//鍗$被鍨�
public String cardData = "3668F7A30119";//鏍囪瘑鐮�
+ public String getCardData() {
+ return cardData;
+ }
+
+
+
public byte[] toByte() {
Zero zero = new Zero();
return zero.toByte();
diff --git a/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java b/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java
index 533edfa..c727b4c 100644
--- a/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java
@@ -21,6 +21,10 @@
public String cardType = MyCommon.CONFIGURATION_POWER_CARD_TYPE;//鍗$被鍨�
public String cardData = "A0B1C289";//鏍囪瘑鐮�
+ public String getCardData() {
+ return cardData;
+ }
+
public String power;//鍔熺巼
public String getPower() {
diff --git a/app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java b/app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java
index 049fcab..796d029 100644
--- a/app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java
+++ b/app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java
@@ -18,6 +18,10 @@
public String cardType = MyCommon.CONFIGURATION_CARD_TYPE;//鍗$被鍨�
public String cardData = "A0B1C289";//鏍囪瘑鐮�
+ public String getCardData() {
+ return cardData;
+ }
+
public byte[] toByte() {
Zero zero = new Zero();
return zero.toByte();
diff --git a/app/src/main/java/com/dayu/recharge/card/ManageCard.java b/app/src/main/java/com/dayu/recharge/card/ManageCard.java
index 451a8c8..4bea602 100644
--- a/app/src/main/java/com/dayu/recharge/card/ManageCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/ManageCard.java
@@ -1,8 +1,6 @@
package com.dayu.recharge.card;
-import com.dayu.recharge.tools.BcdUtil;
import com.dayu.recharge.tools.HexUtil;
-import com.dayu.recharge.utils.MornyUtil;
import com.dayu.recharge.utils.MyCommon;
import java.io.Serializable;
@@ -17,6 +15,9 @@
public String cardType = MyCommon.MANAGE_CRAD;//鍗$被鍨�
public String cardData = "3668F7A30119";//鏍囪瘑鐮�
+ public String getCardData() {
+ return cardData;
+ }
public byte[] toZeroByte() {
Zero zero = new Zero();
diff --git a/app/src/main/java/com/dayu/recharge/card/RegisteredCard.java b/app/src/main/java/com/dayu/recharge/card/RegisteredCard.java
index e3652a8..de5c242 100644
--- a/app/src/main/java/com/dayu/recharge/card/RegisteredCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/RegisteredCard.java
@@ -15,6 +15,10 @@
public String cardType = MyCommon.REGISTERED_CARD_TYPE;//鍗$被鍨�
public String cardData = "A0B1C289";//鏍囪瘑鐮�
+ public String getCardData() {
+ return cardData;
+ }
+
public byte[] toByte() {
Zero zero = new Zero();
return zero.toByte();
diff --git a/app/src/main/java/com/dayu/recharge/card/TestCard.java b/app/src/main/java/com/dayu/recharge/card/TestCard.java
index f3f6915..c12f7e2 100644
--- a/app/src/main/java/com/dayu/recharge/card/TestCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/TestCard.java
@@ -15,6 +15,10 @@
public String cardType = MyCommon.TEST_CARD_TYPE;//鍗$被鍨�
public String cardData = "A0B1C289";//鏍囪瘑鐮�
+ public String getCardData() {
+ return cardData;
+ }
+
public byte[] toByte() {
Zero zero = new Zero();
return zero.toByte();
diff --git a/app/src/main/java/com/dayu/recharge/dao/AppDatabase.java b/app/src/main/java/com/dayu/recharge/dao/AppDatabase.java
index 7942211..e00689d 100644
--- a/app/src/main/java/com/dayu/recharge/dao/AppDatabase.java
+++ b/app/src/main/java/com/dayu/recharge/dao/AppDatabase.java
@@ -4,6 +4,7 @@
import androidx.room.RoomDatabase;
import com.dayu.recharge.dbBean.AdminDataBean;
+import com.dayu.recharge.dbBean.CardData;
import com.dayu.recharge.dbBean.DeviceNumber;
import com.dayu.recharge.dbBean.DomainBean;
import com.dayu.recharge.dbBean.ElectricPriceBean;
@@ -20,7 +21,7 @@
* Date: 2023-11-05 16:23
* Description:
*/
-@Database(entities = {DeviceNumber.class,IdentityBean.class,DomainBean.class,ElectricPriceBean.class, IpBean.class, AdminDataBean.class, PassWordBean.class, UserCardBean.class, RechargeBean.class, PowerBean.class}, version = 1, exportSchema = false)
+@Database(entities = {CardData.class, DeviceNumber.class, IdentityBean.class, DomainBean.class, ElectricPriceBean.class, IpBean.class, AdminDataBean.class, PassWordBean.class, UserCardBean.class, RechargeBean.class, PowerBean.class}, version = 2, exportSchema = false)
public abstract class AppDatabase extends RoomDatabase {
@@ -43,4 +44,6 @@
public abstract IdentityDao identityDao();
public abstract DeviceNumberDao deviceNumberDao();
+
+ public abstract CardDataDao cardDataDao();
}
diff --git a/app/src/main/java/com/dayu/recharge/dao/CardDataDao.java b/app/src/main/java/com/dayu/recharge/dao/CardDataDao.java
new file mode 100644
index 0000000..07438d5
--- /dev/null
+++ b/app/src/main/java/com/dayu/recharge/dao/CardDataDao.java
@@ -0,0 +1,30 @@
+package com.dayu.recharge.dao;
+
+import androidx.room.Dao;
+import androidx.room.Insert;
+import androidx.room.OnConflictStrategy;
+import androidx.room.Query;
+import androidx.room.Update;
+
+import com.dayu.recharge.dbBean.CardData;
+
+/**
+ * Created by Android Studio.
+ * author: zuo
+ * Date: 2023-12-14
+ * Time: 10:08
+ * 澶囨敞锛�
+ */
+@Dao
+public interface CardDataDao {
+ @Insert(onConflict = OnConflictStrategy.REPLACE)
+ void insert(CardData cardData);
+
+ @Update
+ void update(CardData cardData);
+
+ @Query("select * from CardData where cardType=:cardType limit 1")
+ CardData findFirst(String cardType);
+
+
+}
diff --git a/app/src/main/java/com/dayu/recharge/dbBean/CardData.java b/app/src/main/java/com/dayu/recharge/dbBean/CardData.java
new file mode 100644
index 0000000..749a91e
--- /dev/null
+++ b/app/src/main/java/com/dayu/recharge/dbBean/CardData.java
@@ -0,0 +1,43 @@
+package com.dayu.recharge.dbBean;
+
+import androidx.room.Entity;
+import androidx.room.PrimaryKey;
+
+/**
+ * Created by Android Studio.
+ * author: zuo
+ * Date: 2023-12-14
+ * Time: 10:05
+ * 澶囨敞锛� 鍗$浉鍏充俊鎭�
+ */
+@Entity
+public class CardData {
+ @PrimaryKey(autoGenerate = true)
+ public long id;
+
+ /**
+ * 鍗$墖绫诲瀷
+ */
+ public String cardType;
+
+ /**
+ * 鍗℃爣璇�
+ */
+ public String cardIdentifying;
+
+ public String getCardIdentifying() {
+ return cardIdentifying;
+ }
+
+ public void setCardIdentifying(String cardIdentifying) {
+ this.cardIdentifying = cardIdentifying;
+ }
+
+ public String getCardType() {
+ return cardType;
+ }
+
+ public void setCardType(String cardType) {
+ this.cardType = cardType;
+ }
+}
diff --git a/app/src/main/res/layout/activity_identyfying.xml b/app/src/main/res/layout/activity_identyfying.xml
index cb2323b..e72d9be 100644
--- a/app/src/main/res/layout/activity_identyfying.xml
+++ b/app/src/main/res/layout/activity_identyfying.xml
@@ -10,7 +10,7 @@
android:layout_width="match_parent"
android:layout_height="@dimen/dimen_title_height"
android:background="@drawable/title_bar_bg"
- app:centerText="姘磋〃鑴夊啿璁剧疆"
+ app:centerText="鍗℃爣璇嗙爜璁剧疆"
app:leftImage="@mipmap/icon_back" />
@@ -31,7 +31,6 @@
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:hint="璇烽�夋嫨鍗$被鍨�"
- android:text="@{data.getBuildYearStr}"
android:textColor="#000000"
android:textSize="18sp" />
diff --git a/app/src/main/res/layout/pickerview_choose.xml b/app/src/main/res/layout/pickerview_choose.xml
index 05d4fa4..109f32c 100644
--- a/app/src/main/res/layout/pickerview_choose.xml
+++ b/app/src/main/res/layout/pickerview_choose.xml
@@ -7,7 +7,7 @@
<RelativeLayout
android:layout_width="match_parent"
- android:background="@color/white"
+ android:background="#ffffff"
android:layout_height="45dp">
<TextView
@@ -17,8 +17,8 @@
android:layout_marginLeft="20dp"
android:gravity="center"
android:text="鍙� 娑�"
- android:textColor="@color/choose_grey"
- android:textSize="@dimen/choose_pop_text" />
+ android:textColor="@color/title_bg"
+ android:textSize="19sp" />
<TextView
android:id="@+id/bt_add"
@@ -28,8 +28,8 @@
android:layout_marginRight="20dp"
android:gravity="center"
android:text="纭� 瀹�"
- android:textColor="@color/title_color"
- android:textSize="@dimen/choose_pop_text" />
+ android:textColor="@color/title_bg"
+ android:textSize="19sp" />
</RelativeLayout>
diff --git a/local.properties b/local.properties
index 90aa526..1f4d3ae 100644
--- a/local.properties
+++ b/local.properties
@@ -4,5 +4,5 @@
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
-#Sat Nov 11 20:12:34 CST 2023
-sdk.dir=D\:\\sdk
+#Thu Dec 14 09:58:29 CST 2023
+sdk.dir=D\:\\AndroidStudio\\sdk
--
Gitblit v1.8.0