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); } app/src/main/java/com/dayu/recharge/activity/HomeActivity.java
@@ -116,4 +116,12 @@ } }); } @Override protected void onDestroy() { super.onDestroy(); homeActivity=null; } } app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
@@ -660,5 +660,8 @@ } } protected void onDestroy() { super.onDestroy(); nfcWreatActivity=null; } } 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; } } 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(); } 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; } } 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); } 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; } } 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); 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") app/src/main/java/com/dayu/recharge/model/RechargeListModel.java
New file @@ -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; } } 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(); } } app/src/main/res/drawable/text_selecte.xml
New file @@ -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> 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> 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> 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>