yy1717
2020-02-26 432b34202aed7b34d7c1719d4a056651b656ec62
Merge branch 'master' of https://gitee.com/endian11/DriveJudge
9个文件已修改
1个文件已添加
156 ■■■■ 已修改文件
app/src/main/assets/students_file.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/Constant.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/MainActivity.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/app.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java 57 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/layout_base_datas.xml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values/strings.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/assets/students_file.json
@@ -3,7 +3,7 @@
  {
    "stu_id":1001,
    "ID": "410923198910162545",
    "name": "李四",
    "name": "",
    "sex":2,
    "head_url":""
app/src/main/java/safeluck/drive/evaluation/Constant.java
@@ -74,8 +74,11 @@
    public static final int UPGRADE_MCU_CONTENT_FILE = 0x8100;
    public static final String MCU_FILE_NAME = "dfu.bin";
    public static final int MCU_SN = 8;
    public static final int IC_ID = 0x0011;//4.    返回IC卡信息
    public static final int SEND_CONFIG_SIGNAL = 0x8008;
    public static final String STU_INFO_PLATFORM = "STU_INFO_PLATFORM";
    public static final int SHUTDOWN_TIME = 16;
    public static final int READ_PHYSICAL_ID = 0x8011;//4.    读取IC卡
    public static String exam_enter_exitdata="exam_enter_exitdata";
}
app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -163,16 +163,7 @@
        String hosts = "[{\"host\":\"192.168.31.77\", \"port\":12125}]";
        IMSClientBootstrap.getInstance().init(userId,token,hosts,1,this);
        WokViewModel wokViewModel = ViewModelProviders.of(this).get(WokViewModel.class);
        wokViewModel.getStudents().observe(this, new Observer<List<Student>>() {
            @Override
            public void onChanged(List<Student> students) {
                for (Student student :
                        students) {
                    Log.i(TAG, "onChanged: " + student.toString());
                }
            }
        });
        rtkConfigViewModel  = ViewModelProviders.of(this).get(RTKConfigViewModel.class);
        rtkConfigViewModel.getRTKConfig().observe(this, new Observer<RTKConfig>() {
app/src/main/java/safeluck/drive/evaluation/app.java
@@ -262,6 +262,10 @@
                break;
            case Constant.MCU_SN:
                break;
            case Constant.IC_ID:
                CEventCenter.dispatchEvent(Constant.BIND_SPEED_TOPIC,cmd,0,json);
                break;
        }
app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
New file
@@ -0,0 +1,55 @@
package safeluck.drive.evaluation.bean;
import android.content.Context;
import java.util.Random;
import safeluck.drive.evaluation.app;
import safeluck.drive.evaluation.util.SPUtils;
public class ExamPlatformData {
    private static final ExamPlatformData ourInstance = new ExamPlatformData();
    private int exam_id =12345;//考试唯一ID
    public static ExamPlatformData getInstance() {
        return ourInstance;
    }
    private ExamPlatformData() {
    }
    public String getPlatformIP(){
        return (String) SPUtils.get(app.getAppContext(),SPUtils.PLATFORM_IP,"");
    }
    public int getPlatformPort(){
        return (int) SPUtils.get(app.getAppContext(),SPUtils.PLATFORM_PORT,0);
    }
    /**
     * 插入平台IP地址
     * @param ip
     */
    public void insertPlatformIp(String ip){
        SPUtils.put(app.getAppContext(),SPUtils.PLATFORM_IP,ip);
    }
    /**
     * 插入平台端口号
     * @param port
     */
    public void insertPlatformPort(int port){
        SPUtils.put(app.getAppContext(),SPUtils.PLATFORM_PORT,port);
    }
    public int getExamUniqueID(){
        return exam_id;
    }
}
app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java
@@ -9,6 +9,7 @@
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.anyun.exam.lib.AYSdk;
@@ -22,6 +23,7 @@
import me.yokeyword.fragmentation.SupportFragment;
import safeluck.drive.evaluation.Constant;
import safeluck.drive.evaluation.R;
import safeluck.drive.evaluation.bean.ExamPlatformData;
import safeluck.drive.evaluation.util.FileUtil;
/**
@@ -38,6 +40,7 @@
    private Button btn_inspect_signal;
    private Button btn_config_signal;
    private Button btn_mcu_upgrade;
    private EditText et_ip,et_port;
    public static SupportFragment newInstance() {
        return new BaseDatasFragment();
@@ -54,6 +57,9 @@
    }
    private void initView(View view) {
        view.findViewById(R.id.btn_save_platform);
        et_ip = view.findViewById(R.id.et_platform_ip);
        et_port = view.findViewById(R.id.et_platform_port);
        btn_inspect_signal = view.findViewById(R.id.btn_inpsect_signal);
        btn_mcu_upgrade = view.findViewById(R.id.btn_mcu_upgrade);
        btn_mcu_upgrade.setOnClickListener(this);
@@ -90,6 +96,10 @@
                    e.printStackTrace();
                }
                break;
            case R.id.btn_save_platform:
                ExamPlatformData.getInstance().insertPlatformIp(et_ip.getText().toString().trim());
                ExamPlatformData.getInstance().insertPlatformPort(Integer.parseInt(et_port.getText().toString().trim()));
                break;
            default:
                break;
        }
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -5,6 +5,7 @@
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
@@ -37,6 +38,8 @@
import me.yokeyword.fragmentation.SupportFragment;
import safeluck.drive.evaluation.Constant;
import safeluck.drive.evaluation.DB.Student;
import safeluck.drive.evaluation.DB.WokViewModel;
import safeluck.drive.evaluation.DB.appstatusdb.AppStatus;
import safeluck.drive.evaluation.DB.appstatusdb.AppStatusViewModel;
import safeluck.drive.evaluation.DB.exam_status.ExamStatusInitWorker;
@@ -78,7 +81,7 @@
    private int item_id;//扣分分数总和
    private ExamStatusViewModel examStatusViewModel;
    private static final int ADD_DATA = 1;
    private TextView tv_speed,tv_total_score,tv_sat_num;
    private TextView tv_speed,tv_total_score,tv_sat_num,tv_name,tv_id;
    private double speed=0.0;
    private ImageView iv_rtk_status,iv_head;
@@ -86,6 +89,7 @@
    private List<ScoreBean> mArrayList = new ArrayList<>();
    private static final int SPEED_DATA = 2;
    private FailedProjViewModel failedProjViewModel;
    String icson;//返回的ic卡信息 json
    public static SupportFragment newInstance() {
        return new NetWorkTrainFragment();
@@ -105,6 +109,23 @@
            }
            if (msg.what == SPEED_DATA){
                tv_speed.setText(getResources().getString(R.string.speed,speed));
            }
            if (msg.what == Constant.IC_ID){
                try {
                    JSONObject jsSpeed = new JSONObject(icson);
                    int result = jsSpeed.getInt("result");
                    String icStr = jsSpeed.getString("serialno");
                    if (result == 0) {
                        JKMessage0201 jkMessage0201 = new JKMessage0201();
                        jkMessage0201.currentExam = 1;
                        jkMessage0201.id = icStr;
                        MessageProcessor.getInstance().sendMessage(jkMessage0201);
                    }
                }catch (JSONException e){
                }
            }
            return false;
        }
@@ -181,7 +202,21 @@
            }
        });
        WokViewModel wokViewModel = ViewModelProviders.of(this).get(WokViewModel.class);
        wokViewModel.getStudents().observe(this, new Observer<List<Student>>() {
            @Override
            public void onChanged(List<Student> students) {
                for (Student student :
                        students) {
                    MyLog.i(TAG, "onChanged: " + student.toString());
                    if (!TextUtils.isEmpty(student.getName())){
                        tv_name.setText(getString(R.string.name)+student.getName());
                        tv_id.setText(getString(R.string.user_id)+student.getID());
                    }
                }
            }
        });
        AppStatusViewModel appStatusViewModel = ViewModelProviders.of(this).get(AppStatusViewModel.class);
        appStatusViewModel.getAppStatus().observe(this, new Observer<AppStatus>() {
@@ -253,6 +288,8 @@
        av_podao = view.findViewById(R.id.av1);
        av_zhijiao = view.findViewById(R.id.av4);
        houseView = view.findViewById(R.id.hv);
        tv_name = view.findViewById(R.id.tv_name);
        tv_id = view.findViewById(R.id.tv_ID);
        iv_rtk_status = view.findViewById(R.id.iv_rtk_connect);
        iv_head = view.findViewById(R.id.iv_head);
@@ -306,7 +343,7 @@
                JKMessage0202 jkMessage0202 = new JKMessage0202();
                jkMessage0202.phone = "0314200100000004";
                jkMessage0202.timeBCD = new Date();
                jkMessage0202.curr_exam = 1;
                jkMessage0202.curr_exam = 0;
                jkMessage0202.ID = "123456789";
                jkMessage0202.exam_id = 123456;
                MessageProcessor.getInstance().sendMessage(jkMessage0202);
@@ -328,11 +365,9 @@
                break;
            case R.id.profile:
                MyLog.i(TAG,"签到,获取身份证物理卡号");
                AYSdk.getInstance().sendCmd(Constant.READ_PHYSICAL_ID,null);
                //TODO 获得物理卡号 发送JKMessage0201给平台,获取姓名、身份证、head_url
                JKMessage0201 jkMessage0201 = new JKMessage0201();
                jkMessage0201.currentExam = 1;
                jkMessage0201.id = "123456789";
                MessageProcessor.getInstance().sendMessage(jkMessage0201);
                break;
        }
    }
@@ -372,8 +407,14 @@
    private ICEventListener icEventListener = new ICEventListener() {
        @Override
        public void onCEvent(String topic, int msgCode, int resultCode, Object obj) {
            speed  = (double)obj;
            mHandler.obtainMessage(SPEED_DATA).sendToTarget();
            if (msgCode == Constant.IC_ID){
                icson = (String)obj;
                mHandler.obtainMessage(msgCode).sendToTarget();
            }else{
                speed  = (double)obj;
                mHandler.obtainMessage(SPEED_DATA).sendToTarget();
            }
        }
    };
    @Override
app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java
@@ -16,6 +16,8 @@
     */
    public static final String FILE_NAME = "share_data";
    public static final String DES_HEX_PWD = "des_pwd";
    public static final String PLATFORM_IP = "platform_ip";
    public static final String PLATFORM_PORT = "platform_port";
    /**
     * 保存数据的方法,我们需要拿到保存数据的具体类型,然后根据类型调用不同的保存方法
app/src/main/res/layout/layout_base_datas.xml
@@ -15,7 +15,7 @@
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="@android:color/black"
                android:text="BDS数据输入:"/>
                android:text="考试平台地址:"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
@@ -24,7 +24,8 @@
            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="192.168.23.12"
                android:text="47.93.157.103"
                android:id="@+id/et_platform_ip"
                android:background="@android:drawable/editbox_background_normal"/>
            <TextView
                android:layout_width="wrap_content"
@@ -34,7 +35,8 @@
            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="8080"
                android:text="2020"
                android:id="@+id/et_platform_port"
                android:background="@android:drawable/editbox_background_normal"/>
        </LinearLayout>
        <View
@@ -109,6 +111,7 @@
                        android:entries="@array/spinnerarr"/>
                </TableRow>
                <TableRow android:gravity="center_horizontal"
                    android:visibility="gone"
                    android:layout_marginBottom="10dp">
                    <TextView
                        android:layout_width="wrap_content"
@@ -193,6 +196,7 @@
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/btn_save_platform"
            android:text="保存"/>
    </LinearLayout>
app/src/main/res/values/strings.xml
@@ -5,7 +5,7 @@
    <string name="vehicle_train">单机训练</string>
    <string name="vehicle_net">联网考试</string>
    <string name="version_name">v%1$s</string>
    <string name="user_id">身份证号:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</string>
    <string name="user_id">身份证号:</string>
    <string name="inspector">考核员编号:</string>
    <string name="sys_setting">系统配置</string>
    <string name="sys_setting_sub">智能考培,助力驾考新旅程</string>