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