From 50f6dd3b617f769e7fc6094c2dd0752747541489 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 23 十一月 2023 18:04:05 +0800
Subject: [PATCH] 修复导出充值记录bug 优化充值记录加载逻辑和速度 优化导出记录逻辑
---
app/src/main/java/com/dayu/recharge/activity/MyActivity.java | 94 +++++--
app/src/main/java/com/dayu/recharge/model/RechargeListModel.java | 17 +
app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java | 204 +++++++++++-----
app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java | 149 ++++--------
app/src/main/java/com/dayu/recharge/utils/ExcelUtil.java | 6
app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java | 59 +---
app/src/main/res/layout/activity_recharge.xml | 1
app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java | 25 +
app/src/main/java/com/dayu/recharge/dao/RechargeDao.java | 5
app/src/main/java/com/dayu/recharge/activity/HomeActivity.java | 25 +
app/src/main/java/com/dayu/recharge/model/UserListMode.java | 30 ++
app/src/main/java/com/dayu/recharge/MyApplication.java | 9
app/src/main/res/layout/activity_admin.xml | 8
app/src/main/res/layout/activity_home.xml | 18
app/src/main/res/layout/activity_my.xml | 10
app/src/main/res/layout/activity_parameter.xml | 4
app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java | 8
app/src/main/res/layout/activity_recharge_detail.xml | 12 +
18 files changed, 428 insertions(+), 256 deletions(-)
diff --git a/app/src/main/java/com/dayu/recharge/MyApplication.java b/app/src/main/java/com/dayu/recharge/MyApplication.java
index 5a9cafc..4f9b349 100644
--- a/app/src/main/java/com/dayu/recharge/MyApplication.java
+++ b/app/src/main/java/com/dayu/recharge/MyApplication.java
@@ -66,13 +66,20 @@
isAidl = aidl;
}
+ IpBean ipBean;
+
/**
* 鍒濆鍖朎asySocket
*/
public void initEasySocket(boolean isCreate, SocketNet.CreateBack createBack) {
try {
this.createBack = createBack;
- IpBean ipBean = BaseDaoSingleton.getInstance(MyApplication.myApplication).ipDao().findFirst();
+ ipBean = BaseDaoSingleton.getInstance(MyApplication.myApplication).ipDao().findFirst();
+ if (ipBean == null) {
+ ipBean = new IpBean();
+ ipBean.setIp("dayuyanjiuyuan.top");
+ ipBean.setPort(8888);
+ }
if (ipBean != null) {
try {
//澶勭悊褰撹繛鎺ヤ笂IP鍚庝慨鏀筰p涓嶇敓鏁堥棶棰�
diff --git a/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java b/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java
index 9447bcd..54db2fd 100644
--- a/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java
@@ -9,12 +9,16 @@
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
+import android.nfc.NdefMessage;
import android.nfc.NfcAdapter;
+import android.nfc.NfcEvent;
+import android.nfc.Tag;
import android.os.Handler;
import android.os.Message;
import com.dayu.recharge.card.UserCard;
import com.dayu.recharge.tools.NfcReadHelper;
+import com.dayu.recharge.utils.LogUtil;
import com.dayu.recharge.utils.TipUtil;
import com.tencent.bugly.crashreport.CrashReport;
@@ -62,6 +66,23 @@
super.onStart();
//姝ゅadapter闇�瑕侀噸鏂拌幏鍙栵紝鍚﹀垯鏃犳硶鑾峰彇message
mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
+ if (mNfcAdapter != null){
+ mNfcAdapter.setNdefPushMessageCallback(new NfcAdapter.CreateNdefMessageCallback() {
+ @Override
+ public NdefMessage createNdefMessage(NfcEvent nfcEvent) {
+ // 鍦ㄦ澶勫鐞哊FC娑堟伅鐨勫垱寤�
+ return null;
+ }
+ }, this);
+
+ }
+// mNfcAdapter.enableReaderMode(this, new NfcAdapter.ReaderCallback() {
+// @Override
+// public void onTagDiscovered(Tag tag) {
+// LogUtil.e(tag.toString());
+// }
+// }, NfcAdapter.FLAG_READER_NFC_A | NfcAdapter.FLAG_READER_SKIP_NDEF_CHECK, null);
+
//涓�鏃︽埅鑾種FC娑堟伅锛屽氨浼氶�氳繃PendingIntent璋冪敤绐楀彛
mPendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()), 0);
@@ -107,43 +128,5 @@
return false;
}
return true;
- }
-
- /**
- * 璇诲彇鍏ㄩ儴鏁版嵁
- */
- public void readAllData(Intent intent) {
- try {
- NfcReadHelper.getInstence(intent)
- .getAllData(new NfcReadHelper.NFCCallListback() {
- @Override
- public void callBack(Map<String, List<byte[]>> data) {
- Message message = new Message();
-// 鑾峰彇1鎵囧尯鏁版嵁
- List<byte[]> oneSector = data.get("1");
- if (oneSector != null && oneSector.size() > 0) {
- userCard = UserCard.getBean(oneSector);
- message.what = RECHARGE;
- } else {
- message.what = ERROR;
- }
- if (handler != null) {
- handler.sendMessage(message);
- }
- }
-
- @Override
- public void error(int code) {
- if (handler != null) {
- Message message = new Message();
- message.what = ERROR;
- handler.sendMessage(message);
- }
- }
- });
- } catch (Exception e) {
- e.printStackTrace();
- CrashReport.postCatchedException(e);
- }
}
}
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 b2eb71b..62eae53 100644
--- a/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java
@@ -3,14 +3,17 @@
import android.Manifest;
import android.content.Intent;
import android.os.Bundle;
+import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
+import android.widget.Toast;
import com.dayu.recharge.MyApplication;
import com.dayu.recharge.R;
import com.dayu.recharge.databinding.ActivityHomeBinding;
import com.dayu.recharge.dbBean.AdminDataBean;
import com.dayu.recharge.utils.TipUtil;
+import com.dayu.recharge.utils.ToastUtil;
import com.permissionx.guolindev.PermissionX;
@@ -71,7 +74,7 @@
if (adminData != null) {
startActivity(new Intent(HomeActivity.this, NewCardActivity.class));
} else {
- TipUtil.show("璇峰厛璁剧疆绠$悊鍛樹俊鎭�");
+ TipUtil.show("璇峰厛璁剧疆鍦板潃淇℃伅");
}
}
@@ -83,7 +86,7 @@
if (adminData != null) {
startActivity(new Intent(HomeActivity.this, RechargeActivity.class));
} else {
- TipUtil.show("璇峰厛璁剧疆绠$悊鍛樹俊鎭�");
+ TipUtil.show("璇峰厛璁剧疆鍦板潃淇℃伅");
}
}
@@ -120,8 +123,24 @@
@Override
protected void onDestroy() {
super.onDestroy();
- homeActivity=null;
+ homeActivity = null;
}
+ long mExitTime;
+
+ //鐐瑰嚮涓ゆ閫�鍑虹▼搴� 鏈夋椂闂撮棿闅� 闂撮殧鍐呯偣鍑诲垯閫�鍑虹▼搴� 鍚﹀垯 鍒欐彁绀�
+ @Override
+ public boolean onKeyDown(int keyCode, KeyEvent event) {
+ if (keyCode == KeyEvent.KEYCODE_BACK) {
+ if ((System.currentTimeMillis() - mExitTime) > 2000) {
+ Toast.makeText(HomeActivity.this, "鍐嶆寜涓�娆¢��鍑虹▼搴�", Toast.LENGTH_SHORT).show();
+ mExitTime = System.currentTimeMillis();
+ } else {
+ HomeActivity.this.finish();
+ }
+ return true;
+ }
+ return super.onKeyDown(keyCode, event);
+ }
}
diff --git a/app/src/main/java/com/dayu/recharge/activity/MyActivity.java b/app/src/main/java/com/dayu/recharge/activity/MyActivity.java
index 6dfe6ef..69f46bc 100644
--- a/app/src/main/java/com/dayu/recharge/activity/MyActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/MyActivity.java
@@ -6,9 +6,13 @@
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
+
+import androidx.annotation.NonNull;
import com.dayu.recharge.MyApplication;
import com.dayu.recharge.databinding.ActivityMyBinding;
@@ -119,42 +123,72 @@
}
+ Handler handler = new Handler(new Handler.Callback() {
+ @Override
+ public boolean handleMessage(@NonNull Message msg) {
+ switch (msg.what) {
+ case 1:
+ TipUtil.show(MyActivity.this, "瀵煎嚭鎴愬姛!");
+ break;
+ default:
+ TipUtil.show(MyActivity.this, "瀵煎嚭澶辫触!");
+ break;
+ }
+ stopAnim();
+ return false;
+ }
+ });
+
/**
* 瀵煎嚭鎴怑xcel
*/
private void outExcl() {
startAnim();
- File file = new File(ExcelUtil.outPath);
- //鏂囦欢澶规槸鍚﹀凡缁忓瓨鍦�
- if (!file.exists()) {
- file.mkdirs();
- }
- List listData = new ArrayList();
- try {
- if (isRechargeList) {
- listData = baseDao.rechargeDao().findByTime(beginTime, endTime);
- } else {
- listData = baseDao.userCardDao().findByTime(beginTime, endTime);
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ {
+ try {
+ File file = new File(ExcelUtil.outPath);
+ //鏂囦欢澶规槸鍚﹀凡缁忓瓨鍦�
+ if (!file.exists()) {
+ file.mkdirs();
+ }
+ List listData = new ArrayList();
+ try {
+ if (isRechargeList) {
+ listData = asynchBaseDao.rechargeDao().ansyFindByTime(beginTime, endTime);
+ } else {
+ listData = baseDao.userCardDao().findByTime(beginTime, endTime);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ String[] title;
+ String fileName;
+ if (listData == null || listData.size() == 0) {
+ TipUtil.show(MyActivity.this, "璁板綍涓虹┖");
+ return;
+ }
+ if (isRechargeList) {
+ title = new String[]{"璁惧搴忓垪鍙�", "鐢ㄦ埛鍚�", "韬唤璇佸彿", "鍏呭�兼棩鏈�", "鍏呭�奸噾棰濓紙鍏冿級", "鍓╀綑閲戦锛堝厓锛�"};
+ fileName = file.toString() + "/" + ExcelUtil.outRechargePathName;
+ } else {
+ title = new String[]{"璁惧搴忓垪鍙�", "鐢ㄦ埛鍚�", "韬唤璇佸彿", "娉ㄥ唽鏃ユ湡", "鐢佃瘽"};
+ fileName = file.toString() + "/" + ExcelUtil.outUserPathName;
+ }
+ ExcelUtil.initExcel(fileName, title);
+ ExcelUtil.writeObjListToExcel(listData, fileName, MyActivity.this);
+ handler.sendEmptyMessage(1);
+ } catch (Exception e) {
+ handler.sendEmptyMessage(2);
+ e.printStackTrace();
+ }
+ }
}
- } catch (Exception e) {
- e.printStackTrace();
- }
- String[] title;
- String fileName;
- if (listData == null || listData.size() == 0) {
- TipUtil.show(MyActivity.this, "璁板綍涓虹┖");
- return;
- }
- if (isRechargeList) {
- title = new String[]{"璁惧搴忓垪鍙�", "鐢ㄦ埛鍚�", "韬唤璇佸彿", "鍏呭�兼棩鏈�", "鍏呭�奸噾棰濓紙鍏冿級", "鍓╀綑閲戦锛堝厓锛�"};
- fileName = file.toString() + "/" + ExcelUtil.outRechargePathName;
- } else {
- title = new String[]{"璁惧搴忓垪鍙�", "鐢ㄦ埛鍚�", "韬唤璇佸彿", "娉ㄥ唽鏃ユ湡", "鐢佃瘽"};
- fileName = file.toString() + "/" + ExcelUtil.outUserPathName;
- }
- ExcelUtil.initExcel(fileName, title);
- ExcelUtil.writeObjListToExcel(listData, fileName, MyActivity.this);
- stopAnim();
+ }).start();
+
+
}
void getVersion(Activity context) {
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 d7f58d0..5b04dc2 100644
--- a/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
+++ b/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
@@ -3,11 +3,9 @@
import android.content.Intent;
import android.nfc.NfcAdapter;
import android.os.Bundle;
-import android.os.Handler;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.View;
-
import com.dayu.recharge.card.ConfigurationPowerCard;
import com.dayu.recharge.card.DomainCard;
@@ -96,12 +94,12 @@
@Override
public void onNewIntent(Intent intent) {
- super.onNewIntent(intent);
this.intent = intent;
ProgressDialog.show(this);
if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) {
readAllData(intent);
}
+ super.onNewIntent(intent);
}
/**
@@ -110,136 +108,93 @@
public void readAllData(Intent intent) {
NfcReadHelper.getInstence(intent)
- .getAllData(new NfcReadHelper.NFCCallListback() {
+ .getOneSectorData(new NfcReadHelper.NFCCallListback() {
@Override
- public void callBack(Map<String, List<byte[]>> data) {
- Message message = new Message();
+ public void callBack(List<byte[]> data) {
//鑾峰彇1鎵囧尯鏁版嵁
- List<byte[]> oneSector = data.get("1");
- if (oneSector != null && oneSector.size() > 0) {
- byte cardType = oneSector.get(0)[0];
+ if (data != null && data.size() > 0) {
+ byte cardType = data.get(0)[0];
String cardTypeStr = HexUtil.byteToHex(cardType);
switch (cardTypeStr) {
case MyCommon.USER_CARD_TYPE_1:
case MyCommon.USER_CARD_TYPE_2:
case MyCommon.USER_CARD_TYPE_3:
- userCard = UserCard.getBean(oneSector);
- message.what = USER_CRAD;
+ userCard = UserCard.getBean(data);
+ selectBalance(userCard.getInitPeasantCode());
break;
case MyCommon.MANAGE_CRAD:
- message.what = MANAGE_CRAD;
+ viweGone(false);
+ redCardBinding.readCardTypeTV.setText("褰撳墠涓虹鐞嗗崱");
+ stopAnim();
break;
case MyCommon.CLEAN_CARD_TYPE:
- message.what = CLEAN_CARD;
+ viweGone(false);
+ redCardBinding.readCardTypeTV.setText("褰撳墠涓烘竻闆跺崱");
+ stopAnim();
break;
case MyCommon.REGISTERED_CARD_TYPE:
- message.what = REGISTERED_CARD;
+ viweGone(false);
+ redCardBinding.readCardTypeTV.setText("褰撳墠涓洪噸鏂版敞鍐岃澶囧崱");
+ stopAnim();
+
break;
case MyCommon.CLEAN_ALL_USER_CARD_TYPE:
- message.what = CLEAN_ALL_USER;
+ viweGone(false);
+ redCardBinding.readCardTypeTV.setText("褰撳墠涓哄垹闄ゅ叏閮ㄧ敤鎴峰崱");
+ stopAnim();
break;
case MyCommon.DOMAIN_CARD_TYPE:
- message.what = DOMAIN_CARD;
- message.obj = oneSector;
+ viweGone(false);
+ redCardBinding.readCardTypeTV.setText("褰撳墠涓鸿缃煙鍚嶅崱");
+ DomainCard domainCard = DomainCard.toBean(data);
+ redCardBinding.readCardDataTV.setText("搴忓彿锛�" + domainCard.getDomainNumber() + "\n" + "鍩熷悕锛�" + domainCard.getDomainName() + "\n" + "绔彛鍙凤細" + domainCard.getPort());
+ stopAnim();
break;
case MyCommon.TEST_CARD_TYPE:
- message.what = TEST_CARD;
+ viweGone(false);
+ redCardBinding.readCardTypeTV.setText("褰撳墠涓烘祴璇曞崱");
+ stopAnim();
break;
case MyCommon.CONFIGURATION_CARD_TYPE:
- message.what = CONFIGURATION_CARD;
+ viweGone(false);
+ redCardBinding.readCardTypeTV.setText("褰撳墠涓洪厤缃澶囨敞鍐屼俊鎭崱");
+ stopAnim();
break;
case MyCommon.CONFIGURATION_POWER_CARD_TYPE:
- message.what = CONFIGURATION_POWER_CARD;
- message.obj = oneSector.get(0);
+ viweGone(false);
+ redCardBinding.readCardTypeTV.setText("褰撳墠閰嶇疆姘存车鍔熺巼鍗�");
+ ConfigurationPowerCard powerCard = ConfigurationPowerCard.toBean(data.get(0));
+ redCardBinding.readCardDataTV.setText(powerCard.getPower());
+ stopAnim();
+ break;
+ default:
+ TipUtil.show(ReadCardAcitivy.this, "鍗$墖鏃犳硶璇嗗埆");
+ stopAnim();
break;
}
} else {
- message.what = MyCommon.ERROR;
+ TipUtil.show(ReadCardAcitivy.this, "鍗$墖鏃犳硶璇嗗埆");
+ stopAnim();
}
- handler.sendMessage(message);
- }
+ }
@Override
public void error(int code) {
- Message message = new Message();
- message.what = code;
- handler.sendMessage(message);
+ switch (code) {
+ case MyCommon.ERROR_MOVE:
+ stopAnim();
+ TipUtil.show("杩炴帴涓柇锛岃閲嶆柊璐村悎鍗$墖");
+ break;
+ default:
+ stopAnim();
+ TipUtil.show("鍗$墖璇嗗埆閿欒,璇烽噸璇曪紒");
+ }
}
});
}
- Handler handler = new Handler(new Handler.Callback() {
- @Override
- public boolean handleMessage(Message msg) {
- switch (msg.what) {
- case USER_CRAD:
- selectBalance(userCard.getInitPeasantCode());
- break;
- case MANAGE_CRAD:
- viweGone(false);
- redCardBinding.readCardTypeTV.setText("褰撳墠涓虹鐞嗗崱");
- stopAnim();
- break;
- case CLEAN_CARD:
- viweGone(false);
- redCardBinding.readCardTypeTV.setText("褰撳墠涓烘竻闆跺崱");
- stopAnim();
- break;
- case REGISTERED_CARD:
- viweGone(false);
- redCardBinding.readCardTypeTV.setText("褰撳墠涓洪噸鏂版敞鍐岃澶囧崱");
- stopAnim();
- break;
- case CLEAN_ALL_USER:
- viweGone(false);
- redCardBinding.readCardTypeTV.setText("褰撳墠涓哄垹闄ゅ叏閮ㄧ敤鎴峰崱");
- stopAnim();
- break;
- case DOMAIN_CARD:
- viweGone(false);
- redCardBinding.readCardTypeTV.setText("褰撳墠涓鸿缃煙鍚嶅崱");
- List<byte[]> data = (List<byte[]>) msg.obj;
- DomainCard domainCard = DomainCard.toBean(data);
- redCardBinding.readCardDataTV.setText("搴忓彿锛�" + domainCard.getDomainNumber() + "\n" + "鍩熷悕锛�" + domainCard.getDomainName() + "\n" + "绔彛鍙凤細" + domainCard.getPort());
- stopAnim();
- break;
- case TEST_CARD:
- viweGone(false);
- redCardBinding.readCardTypeTV.setText("褰撳墠涓烘祴璇曞崱");
- stopAnim();
- break;
- case CONFIGURATION_CARD:
- viweGone(false);
- redCardBinding.readCardTypeTV.setText("褰撳墠涓洪厤缃澶囨敞鍐屼俊鎭崱");
- stopAnim();
- break;
- case CONFIGURATION_POWER_CARD:
- viweGone(false);
- redCardBinding.readCardTypeTV.setText("褰撳墠閰嶇疆姘存车鍔熺巼鍗�");
- byte[] powerData = (byte[]) msg.obj;
- ConfigurationPowerCard powerCard = ConfigurationPowerCard.toBean(powerData);
- redCardBinding.readCardDataTV.setText(powerCard.getPower());
- stopAnim();
- break;
- case PASS_WORD_CRAD:
- viweGone(false);
- redCardBinding.readCardTypeTV.setText("褰撳墠涓哄瘑鐮佸崱");
- stopAnim();
- break;
- case MyCommon.ERROR_MOVE:
- stopAnim();
- TipUtil.show("杩炴帴涓柇锛岃閲嶆柊璐村悎鍗$墖");
- break;
- default:
- TipUtil.show(ReadCardAcitivy.this, "鍗$墖鏃犳硶璇嗗埆");
- stopAnim();
- break;
- }
- return false;
- }
- });
private void viweGone(boolean isUSerCard) {
redCardBinding.readImgLL.setVisibility(View.GONE);
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 fabb5c9..12031d2 100644
--- a/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java
@@ -73,7 +73,7 @@
TipUtil.show(RechargeActivity.this, "鍗$墖璇诲彇澶辫触");
}
- readAllData(intent);
+// readAllData(intent);
} catch (Exception e) {
e.printStackTrace();
CrashReport.postCatchedException(e);
@@ -195,7 +195,9 @@
binding.redRemainderBlance.setText(MornyUtil.changeF2Y(balance));
binding.redStatu.setText(stateText.toString());
binding.redInitCode.setText(initPeasantCode);
+
if ("00".equals(state)) {
+ binding.rechargeRegistBtn.setVisibility(View.VISIBLE);
stateText.append("鍚敤");
userCard.setState("00");
userCard.setBalance(balance);
@@ -215,6 +217,7 @@
}
binding.redStatu.setText(stateText.toString());
binding.rechargeLL.setVisibility(View.GONE);
+ binding.rechargeRegistBtn.setVisibility(View.GONE);
binding.rechargeRegistBtn.setVisibility(View.GONE);
TipUtil.show(RechargeActivity.this, stateText.toString());
} catch (Exception e) {
@@ -238,8 +241,9 @@
}
}
+
protected void onDestroy() {
super.onDestroy();
- rechargeActivity=null;
+ 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 588fcaf..9ad290f 100644
--- a/app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java
@@ -35,6 +35,8 @@
long beginTime;
long endTime;
+ RechargeListModel rechargeListModel;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -48,11 +50,12 @@
private void setData() {
- RechargeListModel rechargeListModel = new RechargeListModel(this);
- rechargeListModel.getRechargeList().observe(this, myList -> {
+ rechargeListModel = new RechargeListModel(this);
+ rechargeListModel.getAllRechargeList().observe(this, myList -> {
rechargeList.clear();
rechargeList.addAll(myList);
adapter.notifyDataSetChanged();
+ getTotal();
});
adapter = new RechargeAdapter(this, rechargeList);
rechargeListBinding.rechargeList.setAdapter(adapter);
@@ -109,11 +112,19 @@
TipUtil.show(RechargeListActivity.this, "缁撴潫鏃堕棿涓嶈兘鏅氫簬寮�濮嬫椂闂�");
} else {
endTime = endTime + (1000 * 60 * 60 * 24) - 1;
- List<RechargeBean> userList = baseDao.rechargeDao().findByTime(beginTime, endTime);
- rechargeList.clear();
- rechargeList.addAll(userList);
- adapter.notifyDataSetChanged();
- getTotal();
+
+ rechargeListModel.getRechargeList(beginTime, endTime).observe(RechargeListActivity.this, list -> {
+ if (rechargeList != null) {
+ rechargeList.clear();
+ rechargeList.addAll(list);
+ adapter.notifyDataSetChanged();
+ getTotal();
+ } else {
+ TipUtil.show(RechargeListActivity.this, "鏈煡璇㈠埌鏁版嵁!");
+ }
+
+ });
+
}
}
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 f563625..5af3c7f 100644
--- a/app/src/main/java/com/dayu/recharge/dao/RechargeDao.java
+++ b/app/src/main/java/com/dayu/recharge/dao/RechargeDao.java
@@ -35,5 +35,8 @@
LiveData<List<RechargeBean>> findAll();
@Query("select * from RechargeBean where date>=:beginTime and date<=:endTime")
- List<RechargeBean> findByTime(long beginTime, long endTime);
+ LiveData<List<RechargeBean>> findByTime(long beginTime, long endTime);
+
+ @Query("select * from RechargeBean where date>=:beginTime and date<=:endTime")
+ List<RechargeBean> ansyFindByTime(long beginTime, long 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
index 9f6d923..7345d47 100644
--- a/app/src/main/java/com/dayu/recharge/model/RechargeListModel.java
+++ b/app/src/main/java/com/dayu/recharge/model/RechargeListModel.java
@@ -4,6 +4,7 @@
import androidx.lifecycle.ViewModel;
import com.dayu.recharge.activity.BaseActivity;
+import com.dayu.recharge.dao.RechargeDao;
import com.dayu.recharge.dbBean.RechargeBean;
import java.util.List;
@@ -13,17 +14,23 @@
* author: zuo
* Date: 2023-11-23
* Time: 9:06
- * 澶囨敞锛�
+ * 澶囨敞锛氬厖鍊艰褰曠殑mode
*/
-public class RechargeListModel {
+public class RechargeListModel {
LiveData<List<RechargeBean>> rechargeList;
-
+ RechargeDao rechargeDao;
public RechargeListModel(BaseActivity baseActivity) {
- rechargeList = baseActivity.asynchBaseDao.rechargeDao().findAll();
+ rechargeDao = baseActivity.asynchBaseDao.rechargeDao();
}
- public LiveData<List<RechargeBean>> getRechargeList() {
+ public LiveData<List<RechargeBean>> getAllRechargeList() {
+ rechargeList = rechargeDao.findAll();
+ return rechargeList;
+ }
+
+ public LiveData<List<RechargeBean>> getRechargeList(long beginTime, long endTime) {
+ rechargeList = rechargeDao.findByTime(beginTime,endTime);
return rechargeList;
}
diff --git a/app/src/main/java/com/dayu/recharge/model/UserListMode.java b/app/src/main/java/com/dayu/recharge/model/UserListMode.java
new file mode 100644
index 0000000..16631c1
--- /dev/null
+++ b/app/src/main/java/com/dayu/recharge/model/UserListMode.java
@@ -0,0 +1,30 @@
+package com.dayu.recharge.model;
+
+import android.app.Activity;
+
+import com.dayu.recharge.dbBean.UserCardBean;
+
+import java.util.List;
+
+/**
+ * Created by Android Studio.
+ * author: zuo
+ * Date: 2023-11-23
+ * Time: 16:35
+ * 澶囨敞锛氱敤鎴疯褰曠殑mode
+ */
+public class UserListMode {
+ List<UserCardBean> userCardBeanList;
+
+ public UserListMode(Activity activity) {
+
+ }
+
+ public List<UserCardBean> getUserCardBeanList() {
+ return userCardBeanList;
+ }
+
+ public void setUserCardBeanList(List<UserCardBean> userCardBeanList) {
+ this.userCardBeanList = userCardBeanList;
+ }
+}
diff --git a/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java b/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java
index 34cd956..650415d 100644
--- a/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java
+++ b/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java
@@ -69,8 +69,8 @@
List<byte[]> list = new ArrayList<>();
//楠岃瘉鎵囧尯瀵嗙爜锛屽惁鍒欎細鎶ラ敊锛堥摼鎺ュけ璐ラ敊璇級
boolean isOpen = mfc.authenticateSectorWithKeyA(1, defauleKey);
- if (!isOpen){
- isOpen= mfc.authenticateSectorWithKeyA(1, companyKey);
+ if (!isOpen) {
+ isOpen = mfc.authenticateSectorWithKeyA(1, companyKey);
}
if (isOpen) {
//鑾峰彇鎵囧尯閲岄潰鍧楃殑鏁伴噺
@@ -118,8 +118,8 @@
try {
mfc.connect();
boolean isOpen = mfc.authenticateSectorWithKeyA(1, defauleKey);
- if (!isOpen){
- isOpen= mfc.authenticateSectorWithKeyA(1, companyKey);
+ if (!isOpen) {
+ isOpen = mfc.authenticateSectorWithKeyA(1, companyKey);
}
if (isOpen) {
int bIndex = mfc.sectorToBlock(1);
@@ -152,72 +152,136 @@
*
* @param callback
*/
- public void getAllData(final NFCCallListback callback) {
- new Thread(new Runnable() {
- @Override
- public void run() {
- Map<String, List<byte[]>> map = new HashMap<>();
- MifareClassic mfc = MifareClassic.get(tag);
- if (null != mfc) {
- try {
- //閾炬帴NFC
- mfc.connect();
- //鑾峰彇鎵囧尯鏁伴噺
- int count = mfc.getSectorCount();
- //瀛樺偍绌洪棿
- int size = mfc.getSize();
- //鐢ㄤ簬鍒ゆ柇鏃跺�欐湁鍐呭璇诲彇鍑烘潵
- boolean flag = false;
- for (int i = 0; i < count; i++) {
- List<byte[]> list = new ArrayList<>();
- //楠岃瘉鎵囧尯瀵嗙爜锛屽惁鍒欎細鎶ラ敊锛堥摼鎺ュけ璐ラ敊璇級
- boolean isOpen = mfc.authenticateSectorWithKeyA(i, defauleKey);
- if (!isOpen){
- isOpen = mfc.authenticateSectorWithKeyA(i, companyKey);
+ public void getAllData(final NFCCallMapback callback) {
+ Map<String, List<byte[]>> map = new HashMap<>();
+ MifareClassic mfc = MifareClassic.get(tag);
+ if (null != mfc) {
+ try {
+ //閾炬帴NFC
+ mfc.connect();
+ //鑾峰彇鎵囧尯鏁伴噺
+ int count = mfc.getSectorCount();
+ //瀛樺偍绌洪棿
+ int size = mfc.getSize();
+ //鐢ㄤ簬鍒ゆ柇鏃跺�欐湁鍐呭璇诲彇鍑烘潵
+ boolean flag = false;
+ for (int i = 0; i < count; i++) {
+ List<byte[]> list = new ArrayList<>();
+ //楠岃瘉鎵囧尯瀵嗙爜锛屽惁鍒欎細鎶ラ敊锛堥摼鎺ュけ璐ラ敊璇級
+ boolean isOpen = mfc.authenticateSectorWithKeyA(i, defauleKey);
+ if (!isOpen) {
+ isOpen = mfc.authenticateSectorWithKeyA(i, companyKey);
+ }
+ if (isOpen) {
+ //鑾峰彇鎵囧尯閲岄潰鍧楃殑鏁伴噺
+ int bCount = mfc.getBlockCountInSector(i);
+ //鑾峰彇鎵囧尯绗竴涓潡瀵瑰簲鑺墖瀛樺偍鍣ㄧ殑浣嶇疆锛堟垜鏄繖鏍风悊瑙g殑锛屽洜涓虹0鎵囧尯鐨勮繖涓�兼槸4鑰屼笉鏄�0锛�
+ int bIndex = mfc.sectorToBlock(i);
+ //String data1 = "";
+ for (int j = 0; j < bCount; j++) {
+ //璇诲彇鏁版嵁
+ byte[] data = null;
+ try {
+ data = mfc.readBlock(bIndex);
+ bIndex++;
+ list.add(data);
+ } catch (Exception e) {
+ e.printStackTrace();
}
- if (isOpen) {
- //鑾峰彇鎵囧尯閲岄潰鍧楃殑鏁伴噺
- int bCount = mfc.getBlockCountInSector(i);
- //鑾峰彇鎵囧尯绗竴涓潡瀵瑰簲鑺墖瀛樺偍鍣ㄧ殑浣嶇疆锛堟垜鏄繖鏍风悊瑙g殑锛屽洜涓虹0鎵囧尯鐨勮繖涓�兼槸4鑰屼笉鏄�0锛�
- int bIndex = mfc.sectorToBlock(i);
- //String data1 = "";
- for (int j = 0; j < bCount; j++) {
- //璇诲彇鏁版嵁
- byte[] data = null;
- try {
- data = mfc.readBlock(bIndex);
- bIndex++;
- list.add(data);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- flag = true;
- }
- map.put(i + "", list);
}
- if (flag) {
- callback.callBack(map);
- } else {
- callback.error(MyCommon.ERROR);
- }
- } catch (IOException e) {
- callback.error(MyCommon.ERROR_MOVE);
- e.printStackTrace();
- } catch (Exception e) {
- callback.error(MyCommon.ERROR);
- e.printStackTrace();
- } finally {
+ flag = true;
+ }
+ map.put(i + "", list);
+ }
+ if (flag) {
+ callback.callBack(map);
+ } else {
+ callback.error(MyCommon.ERROR);
+ }
+ } catch (IOException e) {
+ callback.error(MyCommon.ERROR_MOVE);
+ e.printStackTrace();
+ } catch (Exception e) {
+ callback.error(MyCommon.ERROR);
+ e.printStackTrace();
+ } finally {
+ try {
+ mfc.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
+
+ /**
+ * 鑾峰彇1鎵囧尯淇℃伅
+ *
+ * @param callback
+ */
+ public void getOneSectorData(NFCCallListback callback) {
+
+
+ MifareClassic mfc = null;
+ try {
+ mfc = MifareClassic.get(tag);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ if (null != mfc) {
+ try {
+ //閾炬帴NFC
+ mfc.connect();
+ //鐢ㄤ簬鍒ゆ柇鏃跺�欐湁鍐呭璇诲彇鍑烘潵
+ boolean flag = false;
+ List<byte[]> list = new ArrayList<>();
+ //楠岃瘉鎵囧尯瀵嗙爜锛屽惁鍒欎細鎶ラ敊锛堥摼鎺ュけ璐ラ敊璇級
+ boolean isOpen = mfc.authenticateSectorWithKeyA(1, companyKey);
+ if (!isOpen) {
+ isOpen = mfc.authenticateSectorWithKeyA(1, defauleKey);
+ }
+ if (isOpen) {
+ //鑾峰彇鎵囧尯閲岄潰鍧楃殑鏁伴噺
+ int bCount = mfc.getBlockCountInSector(1);
+ //鑾峰彇鎵囧尯绗竴涓潡瀵瑰簲鑺墖瀛樺偍鍣ㄧ殑浣嶇疆锛堟垜鏄繖鏍风悊瑙g殑锛屽洜涓虹0鎵囧尯鐨勮繖涓�兼槸4鑰屼笉鏄�0锛�
+ int bIndex = mfc.sectorToBlock(1);
+ //String data1 = "";
+ for (int j = 0; j < bCount; j++) {
+ //璇诲彇鏁版嵁
+ byte[] data = null;
try {
- mfc.close();
+ data = mfc.readBlock(bIndex);
+ bIndex++;
+ list.add(data);
} catch (Exception e) {
e.printStackTrace();
}
}
+ flag = true;
+ }
+ if (flag) {
+ callback.callBack(list);
+ } else {
+ callback.error(MyCommon.ERROR);
+ }
+ } catch (IOException e) {
+ callback.error(MyCommon.ERROR_MOVE);
+ e.printStackTrace();
+ } catch (Exception e) {
+ callback.error(MyCommon.ERROR);
+ e.printStackTrace();
+ } finally {
+
+ try {
+ mfc.close();
+ } catch (Exception e) {
+ e.printStackTrace();
}
}
- }).start();
+ }
}
+
/**
* 璇诲彇NFC鍗$殑鐗瑰畾鎵囧尯淇℃伅
@@ -263,7 +327,7 @@
break;
}
boolean isOpen = mfc.authenticateSectorWithKeyA(a, defauleKey);
- if (!isOpen){
+ if (!isOpen) {
isOpen = mfc.authenticateSectorWithKeyA(a, companyKey);
}
if (isOpen) {
@@ -293,7 +357,7 @@
/**
* 杩斿洖鐩戝惉绫�
*/
- public interface NFCCallListback {
+ public interface NFCCallMapback {
/**
* 杩斿洖璇诲彇nfc鍗$殑鍏ㄩ儴淇℃伅
*
@@ -305,6 +369,22 @@
void error(int code);
}
+ /**
+ * 杩斿洖鐩戝惉绫�
+ */
+ public interface NFCCallListback {
+ /**
+ * 杩斿洖璇诲彇nfc鍗$殑鍏ㄩ儴淇℃伅
+ *
+ * @param data 鍓嶉潰浠h〃鎵囧尯 鍥涗釜鍧楃殑鏁版嵁鐢�#鍙烽殧寮�
+ */
+ void callBack(List<byte[]> data);
+
+
+ void error(int code);
+ }
+
+
public interface NFCCallByteback {
/**
* 杩斿洖璇诲彇nfc鍗$殑鍏ㄩ儴淇℃伅
diff --git a/app/src/main/java/com/dayu/recharge/utils/ExcelUtil.java b/app/src/main/java/com/dayu/recharge/utils/ExcelUtil.java
index e508bd9..4ac6e11 100644
--- a/app/src/main/java/com/dayu/recharge/utils/ExcelUtil.java
+++ b/app/src/main/java/com/dayu/recharge/utils/ExcelUtil.java
@@ -131,7 +131,11 @@
RechargeBean projectBean = (RechargeBean) objList.get(j);
list.add(projectBean.getSerial());
list.add(projectBean.getUserName());
- list.add(projectBean.getUserId());
+ if (projectBean.getUserId() != null) {
+ list.add(projectBean.getUserId());
+ } else {
+ list.add("");
+ }
list.add(DateUtil.dateToStamp(projectBean.getDate(), DateUtil.type2));
list.add(projectBean.getMorny());
list.add(projectBean.getBalance());
diff --git a/app/src/main/res/layout/activity_admin.xml b/app/src/main/res/layout/activity_admin.xml
index 726d4b4..6e87394 100644
--- a/app/src/main/res/layout/activity_admin.xml
+++ b/app/src/main/res/layout/activity_admin.xml
@@ -31,6 +31,7 @@
android:layout_marginTop="20dp"
android:padding="5dp"
android:text="鍒朵綔绠$悊鍗�"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
<TextView
@@ -41,6 +42,7 @@
android:layout_marginTop="20dp"
android:padding="5dp"
android:text="鍒朵綔娓呴浂鍗�"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
<TextView
@@ -51,6 +53,7 @@
android:layout_marginTop="20dp"
android:padding="5dp"
android:text="鍒朵綔閲嶆柊娉ㄥ唽璁惧鍗�"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
<TextView
@@ -61,6 +64,7 @@
android:layout_marginTop="20dp"
android:padding="5dp"
android:text="鍒朵綔鍒犻櫎鍏ㄩ儴鐢ㄦ埛鍗�"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
<TextView
@@ -71,6 +75,7 @@
android:layout_marginTop="20dp"
android:padding="5dp"
android:text="鍒朵綔璁剧疆鍩熷悕鍗�"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
@@ -82,6 +87,7 @@
android:layout_marginTop="20dp"
android:padding="5dp"
android:text="鍒朵綔娴嬭瘯鍗�"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
<TextView
@@ -92,6 +98,7 @@
android:layout_marginTop="20dp"
android:padding="5dp"
android:text="鍒朵綔閰嶇疆璁惧淇℃伅鍗�"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
<TextView
@@ -102,6 +109,7 @@
android:layout_marginTop="20dp"
android:padding="5dp"
android:text="鍒朵綔閰嶇疆姘存车鍔熺巼鍗�"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
</LinearLayout>
diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml
index 1498fd1..2200b50 100644
--- a/app/src/main/res/layout/activity_home.xml
+++ b/app/src/main/res/layout/activity_home.xml
@@ -14,15 +14,15 @@
<LinearLayout
android:layout_width="match_parent"
- android:layout_height="wrap_content"
+ android:layout_height="50dp"
android:layout_gravity="center"
- android:layout_marginTop="50dp"
+ android:layout_marginTop="30dp"
android:orientation="horizontal">
<TextView
android:id="@+id/home_newCard"
android:layout_width="0dp"
- android:layout_height="wrap_content"
+ android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="鏂板崱寮�鎴�"
@@ -32,7 +32,7 @@
<TextView
android:id="@+id/home_recharge"
android:layout_width="0dp"
- android:layout_height="wrap_content"
+ android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="鍏呭��"
@@ -42,7 +42,7 @@
<TextView
android:id="@+id/home_redCard"
android:layout_width="0dp"
- android:layout_height="wrap_content"
+ android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="璇诲彇鍗$墖"
@@ -52,7 +52,7 @@
<LinearLayout
android:layout_width="match_parent"
- android:layout_height="wrap_content"
+ android:layout_height="50dp"
android:layout_gravity="center"
android:layout_marginTop="30dp"
android:orientation="horizontal">
@@ -60,7 +60,7 @@
<TextView
android:id="@+id/home_admin"
android:layout_width="0dp"
- android:layout_height="wrap_content"
+ android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="绠$悊绯荤粺"
@@ -70,7 +70,7 @@
<TextView
android:id="@+id/home_parameter"
android:layout_width="0dp"
- android:layout_height="wrap_content"
+ android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="鍙傛暟璁剧疆"
@@ -80,7 +80,7 @@
<TextView
android:id="@+id/home_my"
android:layout_width="0dp"
- android:layout_height="wrap_content"
+ android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="涓汉涓績"
diff --git a/app/src/main/res/layout/activity_my.xml b/app/src/main/res/layout/activity_my.xml
index 3e5c97c..8e4e698 100644
--- a/app/src/main/res/layout/activity_my.xml
+++ b/app/src/main/res/layout/activity_my.xml
@@ -57,12 +57,14 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="鍦板潃淇℃伅锛�"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
<TextView
android:id="@+id/my_adminName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
</LinearLayout>
@@ -81,6 +83,7 @@
android:layout_height="wrap_content"
android:layout_toStartOf="@+id/my_newCardOut"
android:text="寮�鎴疯褰�"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
<TextView
@@ -89,6 +92,7 @@
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="瀵煎嚭璁板綍"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
</RelativeLayout>
@@ -104,6 +108,7 @@
android:layout_height="wrap_content"
android:layout_toStartOf="@+id/my_rechargeOut"
android:text="鍏呭�艰褰�"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
<TextView
@@ -112,6 +117,7 @@
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="瀵煎嚭璁板綍"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
</RelativeLayout>
@@ -123,6 +129,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="IP璁剧疆"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
<TextView
@@ -131,6 +138,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="鐢ㄦ埛琛ュ崱"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
@@ -140,6 +148,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="瀵嗙爜璁剧疆"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
<TextView
@@ -148,6 +157,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="鏈繛鎺ユ暟鎹腑蹇�"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
</LinearLayout>
diff --git a/app/src/main/res/layout/activity_parameter.xml b/app/src/main/res/layout/activity_parameter.xml
index d733b8c..f59a95d 100644
--- a/app/src/main/res/layout/activity_parameter.xml
+++ b/app/src/main/res/layout/activity_parameter.xml
@@ -21,6 +21,7 @@
android:layout_marginTop="20dp"
android:padding="5dp"
android:text="鍩熷悕鍗¤缃�"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
<TextView
@@ -31,6 +32,7 @@
android:layout_marginTop="20dp"
android:padding="5dp"
android:text="姘存车鍔熺巼鍗¤缃�"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
@@ -42,6 +44,7 @@
android:layout_marginTop="20dp"
android:padding="5dp"
android:text="鐢甸噺鍗曚环璁剧疆"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
<TextView
@@ -52,6 +55,7 @@
android:layout_marginTop="20dp"
android:padding="5dp"
android:text="鍗℃爣璇嗙爜璁剧疆"
+ android:textColor="@color/text_selecter"
android:textSize="@dimen/text_size" />
</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_recharge.xml b/app/src/main/res/layout/activity_recharge.xml
index 1cbff10..d48cb50 100644
--- a/app/src/main/res/layout/activity_recharge.xml
+++ b/app/src/main/res/layout/activity_recharge.xml
@@ -160,6 +160,7 @@
android:id="@+id/recharge_registBtn"
android:layout_width="match_parent"
android:layout_height="50dp"
+ android:visibility="gone"
android:layout_alignParentBottom="true"
android:background="@color/title_bg"
android:gravity="center"
diff --git a/app/src/main/res/layout/activity_recharge_detail.xml b/app/src/main/res/layout/activity_recharge_detail.xml
index a923fd1..8412dce 100644
--- a/app/src/main/res/layout/activity_recharge_detail.xml
+++ b/app/src/main/res/layout/activity_recharge_detail.xml
@@ -43,6 +43,7 @@
android:layout_marginTop="15dp"
android:text="鍏呭�奸噾棰濓細"
android:textSize="@dimen/text_size" />
+
<TextView
android:id="@+id/red_remainder_blance"
android:layout_width="match_parent"
@@ -76,5 +77,16 @@
android:layout_marginTop="15dp"
android:text="鍗$姸鎬侊細"
android:textSize="@dimen/text_size" />
+
+ <TextView
+
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="20dp"
+ android:gravity="center"
+ android:text="鍏呭�兼垚鍔燂紒"
+ android:textColor="@color/red"
+ android:textSize="@dimen/text_size" />
</LinearLayout>
+
</LinearLayout>
\ No newline at end of file
--
Gitblit v1.8.0