左晓为主开发手持机充值管理机
zuoxiao
2023-11-23 bbce34a82d99e9b84a352209532751e8ac8975a4
添加按钮点击效果
14个文件已修改
2个文件已添加
147 ■■■■ 已修改文件
app/src/main/java/com/dayu/recharge/activity/BaseActivity.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/recharge/activity/HomeActivity.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/recharge/dao/BaseDaoSingleton.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/recharge/dao/RechargeDao.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/recharge/dao/UserCardDao.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/recharge/model/RechargeListModel.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/recharge/net/SocketNet.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/text_selecte.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_home.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values/colors.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values/styles.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>