From bbce34a82d99e9b84a352209532751e8ac8975a4 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 23 十一月 2023 10:00:49 +0800
Subject: [PATCH] 添加按钮点击效果

---
 app/src/main/java/com/dayu/recharge/model/RechargeListModel.java       |   33 +++++++++++
 app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java      |    6 +
 app/src/main/res/values/styles.xml                                     |    1 
 app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java      |   12 +--
 app/src/main/java/com/dayu/recharge/dao/BaseDaoSingleton.java          |   14 ++++
 app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java     |    5 +
 app/src/main/java/com/dayu/recharge/dao/UserCardDao.java               |    2 
 app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java |   12 +++-
 app/src/main/java/com/dayu/recharge/activity/BaseActivity.java         |    6 +
 app/src/main/java/com/dayu/recharge/dao/RechargeDao.java               |    5 +
 app/src/main/java/com/dayu/recharge/activity/HomeActivity.java         |    8 ++
 app/src/main/res/values/colors.xml                                     |    2 
 app/src/main/java/com/dayu/recharge/net/SocketNet.java                 |    6 +-
 app/src/main/res/drawable/text_selecte.xml                             |    6 ++
 app/src/main/res/layout/activity_home.xml                              |    6 ++
 app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java     |   23 ++++---
 16 files changed, 118 insertions(+), 29 deletions(-)

diff --git a/app/src/main/java/com/dayu/recharge/activity/BaseActivity.java b/app/src/main/java/com/dayu/recharge/activity/BaseActivity.java
index 3fefb90..c9d70d2 100644
--- a/app/src/main/java/com/dayu/recharge/activity/BaseActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/BaseActivity.java
@@ -18,12 +18,16 @@
 public class BaseActivity extends AppCompatActivity {
 
     public TitleBar titleBar = null;
-    public  AppDatabase baseDao;
+    //z涓荤嚎绋嬫煡璇�
+    public AppDatabase baseDao;
+    //寮傛绾跨▼鏌ヨ
+    public AppDatabase asynchBaseDao;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         baseDao = BaseDaoSingleton.getInstance(this);
+        asynchBaseDao = BaseDaoSingleton.getAsynchInstance(this);
     }
 
 
diff --git a/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java b/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java
index f006e6a..b2eb71b 100644
--- a/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java
@@ -116,4 +116,12 @@
             }
         });
     }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        homeActivity=null;
+    }
+
+
 }
diff --git a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
index 311b862..1a7ec6a 100644
--- a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
@@ -660,5 +660,8 @@
         }
 
     }
-
+    protected void onDestroy() {
+        super.onDestroy();
+        nfcWreatActivity=null;
+    }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java b/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java
index ddbc7c2..0d5db30 100644
--- a/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java
@@ -320,6 +320,10 @@
             return (c >= 0x4e00 && c <= 0x9fa5);
         }
     }
-
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        newCardActivity=null;
+    }
 
 }
diff --git a/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java b/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
index 48f91a6..d7f58d0 100644
--- a/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
+++ b/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
@@ -27,6 +27,7 @@
 import com.dayu.recharge.utils.MyCommon;
 import com.dayu.recharge.utils.SocketUtil;
 import com.dayu.recharge.utils.TipUtil;
+import com.dayu.recharge.view.ProgressDialog;
 
 import java.util.Arrays;
 import java.util.Calendar;
@@ -97,7 +98,7 @@
     public void onNewIntent(Intent intent) {
         super.onNewIntent(intent);
         this.intent = intent;
-        startAnim();
+        ProgressDialog.show(this);
         if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) {
             readAllData(intent);
         }
@@ -107,7 +108,7 @@
      * 璇诲彇鍏ㄩ儴鏁版嵁
      */
 
-   public   void readAllData(Intent intent) {
+    public void readAllData(Intent intent) {
         NfcReadHelper.getInstence(intent)
                 .getAllData(new NfcReadHelper.NFCCallListback() {
                     @Override
@@ -252,14 +253,9 @@
 
     }
 
-    void startAnim() {
-        redCardBinding.avi.setVisibility(View.VISIBLE);
-        redCardBinding.avi.show();
-        // or avi.smoothToShow();
-    }
 
     void stopAnim() {
-        redCardBinding.avi.hide();
+        ProgressDialog.dismiss();
         // or avi.smoothToHide();
     }
 
diff --git a/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java b/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java
index e1ed963..fabb5c9 100644
--- a/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java
@@ -187,18 +187,19 @@
                             //濮撳悕
                             byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19);
                             userName = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte));
+                            binding.rechargeLL.setVisibility(View.VISIBLE);
+                            binding.rechargeRegistBtn.setVisibility(View.VISIBLE);
+                            binding.rechargeReadLL.setVisibility(View.GONE);
+                            binding.rechargeTextLL.setVisibility(View.VISIBLE);
+                            binding.userName.setText(userName);
+                            binding.redRemainderBlance.setText(MornyUtil.changeF2Y(balance));
+                            binding.redStatu.setText(stateText.toString());
+                            binding.redInitCode.setText(initPeasantCode);
                             if ("00".equals(state)) {
                                 stateText.append("鍚敤");
-                                binding.rechargeLL.setVisibility(View.VISIBLE);
-                                binding.rechargeRegistBtn.setVisibility(View.VISIBLE);
-                                binding.rechargeReadLL.setVisibility(View.GONE);
-                                binding.rechargeTextLL.setVisibility(View.VISIBLE);
-                                binding.userName.setText(userName);
-                                binding.redRemainderBlance.setText(MornyUtil.changeF2Y(balance));
-                                binding.redStatu.setText(stateText.toString());
-                                binding.redInitCode.setText(initPeasantCode);
                                 userCard.setState("00");
                                 userCard.setBalance(balance);
+                                binding.redStatu.setText(stateText.toString());
                                 return;
                             } else if ("01".equals(state)) {
                                 stateText.append("璇ュ崱宸茶绂佺敤");
@@ -212,6 +213,7 @@
                             } else if ("04".equals(state)) {
                                 stateText.append("鍏跺畠");
                             }
+                            binding.redStatu.setText(stateText.toString());
                             binding.rechargeLL.setVisibility(View.GONE);
                             binding.rechargeRegistBtn.setVisibility(View.GONE);
                             TipUtil.show(RechargeActivity.this, stateText.toString());
@@ -236,5 +238,8 @@
         }
 
     }
-
+    protected void onDestroy() {
+        super.onDestroy();
+        rechargeActivity=null;
+    }
 }
diff --git a/app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java b/app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java
index 6c0b70e..588fcaf 100644
--- a/app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java
@@ -9,11 +9,13 @@
 import com.dayu.recharge.adapter.RechargeAdapter;
 import com.dayu.recharge.databinding.ActivityRechargeListBinding;
 import com.dayu.recharge.dbBean.RechargeBean;
+import com.dayu.recharge.model.RechargeListModel;
 import com.dayu.recharge.utils.ArithUtil;
 import com.dayu.recharge.utils.TipUtil;
 import com.dayu.recharge.view.datepicker.CustomDatePicker;
 import com.dayu.recharge.view.datepicker.DateFormatUtils;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -26,7 +28,7 @@
 
     ActivityRechargeListBinding rechargeListBinding;
     RechargeAdapter adapter;
-    List<RechargeBean> rechargeList;
+    List<RechargeBean> rechargeList = new ArrayList<>();
 
     private CustomDatePicker beginDatePicker;
     private CustomDatePicker endDatePicker;
@@ -46,8 +48,12 @@
 
     private void setData() {
 
-        rechargeList = baseDao.rechargeDao().findAll();
-
+        RechargeListModel rechargeListModel = new RechargeListModel(this);
+        rechargeListModel.getRechargeList().observe(this, myList -> {
+            rechargeList.clear();
+            rechargeList.addAll(myList);
+            adapter.notifyDataSetChanged();
+        });
         adapter = new RechargeAdapter(this, rechargeList);
         rechargeListBinding.rechargeList.setAdapter(adapter);
     }
diff --git a/app/src/main/java/com/dayu/recharge/dao/BaseDaoSingleton.java b/app/src/main/java/com/dayu/recharge/dao/BaseDaoSingleton.java
index 1eae378..c55fdc6 100644
--- a/app/src/main/java/com/dayu/recharge/dao/BaseDaoSingleton.java
+++ b/app/src/main/java/com/dayu/recharge/dao/BaseDaoSingleton.java
@@ -15,6 +15,7 @@
  */
 public class BaseDaoSingleton {
     public static AppDatabase baseDao;
+    public static AppDatabase AsynchBaseDao;
 //MyFileUtil.SqlitePath +
     public static AppDatabase getInstance(Context context) {
         if (baseDao == null) {
@@ -27,5 +28,18 @@
         return baseDao;
     }
 
+    public static AppDatabase getAsynchInstance(Context context){
+
+        if (AsynchBaseDao == null) {
+            AsynchBaseDao = Room.databaseBuilder(
+                    context,
+                    AppDatabase.class,
+                    "ConfigurationData"
+            ).build();
+        }
+        return AsynchBaseDao;
+
+    }
+
 
 }
diff --git a/app/src/main/java/com/dayu/recharge/dao/RechargeDao.java b/app/src/main/java/com/dayu/recharge/dao/RechargeDao.java
index b67131a..f563625 100644
--- a/app/src/main/java/com/dayu/recharge/dao/RechargeDao.java
+++ b/app/src/main/java/com/dayu/recharge/dao/RechargeDao.java
@@ -1,5 +1,6 @@
 package com.dayu.recharge.dao;
 
+import androidx.lifecycle.LiveData;
 import androidx.room.Dao;
 import androidx.room.Delete;
 import androidx.room.Insert;
@@ -30,8 +31,8 @@
     @Delete
     void delete(RechargeBean passWord);
 
-    @Query("select  * from RechargeBean ")
-    List<RechargeBean> findAll();
+    @Query("select  * from RechargeBean order by date desc")
+    LiveData<List<RechargeBean>> findAll();
 
     @Query("select  * from RechargeBean where date>=:beginTime and date<=:endTime")
     List<RechargeBean> findByTime(long beginTime, long endTime);
diff --git a/app/src/main/java/com/dayu/recharge/dao/UserCardDao.java b/app/src/main/java/com/dayu/recharge/dao/UserCardDao.java
index ae09ac6..5ab72db 100644
--- a/app/src/main/java/com/dayu/recharge/dao/UserCardDao.java
+++ b/app/src/main/java/com/dayu/recharge/dao/UserCardDao.java
@@ -28,7 +28,7 @@
     @Delete
     void delete(UserCardBean passWord);
 
-    @Query("select  * from UserCardBean ")
+    @Query("select  * from UserCardBean order by date desc")
     List<UserCardBean> findAll();
 
     @Query("select  * from UserCardBean where date>=:beginTime and date<=:endTime")
diff --git a/app/src/main/java/com/dayu/recharge/model/RechargeListModel.java b/app/src/main/java/com/dayu/recharge/model/RechargeListModel.java
new file mode 100644
index 0000000..9f6d923
--- /dev/null
+++ b/app/src/main/java/com/dayu/recharge/model/RechargeListModel.java
@@ -0,0 +1,33 @@
+package com.dayu.recharge.model;
+
+import androidx.lifecycle.LiveData;
+import androidx.lifecycle.ViewModel;
+
+import com.dayu.recharge.activity.BaseActivity;
+import com.dayu.recharge.dbBean.RechargeBean;
+
+import java.util.List;
+
+/**
+ * Created by Android Studio.
+ * author: zuo
+ * Date: 2023-11-23
+ * Time: 9:06
+ * 澶囨敞锛�
+ */
+public class RechargeListModel   {
+    LiveData<List<RechargeBean>> rechargeList;
+
+
+    public RechargeListModel(BaseActivity baseActivity) {
+        rechargeList = baseActivity.asynchBaseDao.rechargeDao().findAll();
+    }
+
+    public LiveData<List<RechargeBean>> getRechargeList() {
+        return rechargeList;
+    }
+
+    public void setRechargeList(LiveData<List<RechargeBean>> rechargeList) {
+        this.rechargeList = rechargeList;
+    }
+}
diff --git a/app/src/main/java/com/dayu/recharge/net/SocketNet.java b/app/src/main/java/com/dayu/recharge/net/SocketNet.java
index d8866a2..f1dbe8f 100644
--- a/app/src/main/java/com/dayu/recharge/net/SocketNet.java
+++ b/app/src/main/java/com/dayu/recharge/net/SocketNet.java
@@ -132,7 +132,7 @@
 //                ToastUtil.show(mContext, "杩炴帴澶辫触,璇锋鏌ョ綉缁�");
             } else {
                 if (myCallBack != null) {
-                    myCallBack.onSocketError(-1, "socket杩炴帴澶辫触,璇锋鏌ョ綉缁�");
+                    myCallBack.onSocketError(-1, "杩炴帴鏁版嵁涓績澶辫触,璇锋鏌ョ綉缁�");
                 }
             }
         }
@@ -175,8 +175,8 @@
         }
     };
 
-    private void rushState(){
-        if ( HomeActivity.homeActivity!=null){
+    private void rushState() {
+        if (HomeActivity.homeActivity != null) {
             HomeActivity.homeActivity.rushState();
         }
     }
diff --git a/app/src/main/res/drawable/text_selecte.xml b/app/src/main/res/drawable/text_selecte.xml
new file mode 100644
index 0000000..1a55063
--- /dev/null
+++ b/app/src/main/res/drawable/text_selecte.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:color="@color/text_wite" android:state_pressed="false" />
+    <item android:color="@color/title_bg" android:state_pressed="true" />
+</selector>
diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml
index a9e2199..1498fd1 100644
--- a/app/src/main/res/layout/activity_home.xml
+++ b/app/src/main/res/layout/activity_home.xml
@@ -26,6 +26,7 @@
             android:layout_weight="1"
             android:gravity="center"
             android:text="鏂板崱寮�鎴�"
+            android:textColor="@color/text_selecter"
             android:textSize="@dimen/home_text_size" />
 
         <TextView
@@ -35,6 +36,7 @@
             android:layout_weight="1"
             android:gravity="center"
             android:text="鍏呭��"
+            android:textColor="@color/text_selecter"
             android:textSize="@dimen/home_text_size" />
 
         <TextView
@@ -44,6 +46,7 @@
             android:layout_weight="1"
             android:gravity="center"
             android:text="璇诲彇鍗$墖"
+            android:textColor="@color/text_selecter"
             android:textSize="@dimen/home_text_size" />
     </LinearLayout>
 
@@ -61,6 +64,7 @@
             android:layout_weight="1"
             android:gravity="center"
             android:text="绠$悊绯荤粺"
+            android:textColor="@color/text_selecter"
             android:textSize="@dimen/home_text_size" />
 
         <TextView
@@ -70,6 +74,7 @@
             android:layout_weight="1"
             android:gravity="center"
             android:text="鍙傛暟璁剧疆"
+            android:textColor="@color/text_selecter"
             android:textSize="@dimen/home_text_size" />
 
         <TextView
@@ -79,6 +84,7 @@
             android:layout_weight="1"
             android:gravity="center"
             android:text="涓汉涓績"
+            android:textColor="@color/text_selecter"
             android:textSize="@dimen/home_text_size" />
     </LinearLayout>
 
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 467f1cb..d1be4a7 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -20,4 +20,6 @@
     <color name="date_picker_text_dark">#333333</color>
     <color name="ws_pay_alpha">#00000000</color>
     <color name="red">#ff0000</color>
+
+    <color name="text_wite">#ffffff</color>
 </resources>
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index c10f817..f5c9509 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -6,6 +6,7 @@
         <item name="colorPrimary">@color/colorPrimary</item>
         <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
         <item name="colorAccent">@color/colorAccent</item>
+        <item name="android:windowAnimationStyle">@null</item>
     </style>
 
 

--
Gitblit v1.8.0