ChoiseTextBookActivity.java 12.1 KB
package com.hjx.personalcenter.activity;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import com.facebook.drawee.view.SimpleDraweeView;
import com.hjx.personalcenter.R;
import com.hjx.personalcenter.adapter.GridAdapter;
import com.hjx.personalcenter.customdialog.ElectronicCardDialog;
import com.hjx.personalcenter.customdialog.VerSionDialog;
import com.hjx.personalcenter.db.SaveParam;
import com.hjx.personalcenter.http.HttpCode;
import com.hjx.personalcenter.http.HttpManager;
import com.hjx.personalcenter.interfaces.DialogCallBack;
import com.hjx.personalcenter.model.DefautPublishInfo;
import com.hjx.personalcenter.model.VersionInfo;
import com.hjx.personalcenter.util.AlertUtils;
import com.hjx.personalcenter.util.GetDevicesUtil;

import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.List;

/**
 * 选择教材
 * Created by h on 2017/8/10.
 */

public class ChoiseTextBookActivity extends AppCompatActivity implements View.OnClickListener, AdapterView.OnItemClickListener, DialogCallBack.VersionCallBack {
    private GridView gridView;
    private Button btn_ok;
    private ImageView cancel;
    private ArrayList<DefautPublishInfo.DataBean> defautPublishInfos = new ArrayList<>();
    private GridAdapter sim_adapter;
    private SimpleDraweeView simpleDraweeView;
    private TextView publish;
    private String chinese, math, english, physics, chemistry, history, geography, political, biology, science;


    Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            JSONObject jsonObject;
            String status;
            switch (msg.what) {
                case HttpCode.CHECKCARD:
                    try {
                        jsonObject = new JSONObject((String) msg.obj);
                        status = jsonObject.optString("status");
                        if (status.equals("1")) {
                            AlertUtils.showToast(ChoiseTextBookActivity.this, "您已经填写了保卡信息,请到主界面确认您的保卡信息是否正确!");
                            Intent intent = new Intent();
                            intent.setClass(ChoiseTextBookActivity.this, TheStartPageActivity.class);
                            ChoiseTextBookActivity.this.startActivity(intent);
                            overridePendingTransition(R.anim.rightin, R.anim.rightout);
                        } else if (status.equals("2001")) {
                            ElectronicCardDialog.getInstance().show(getSupportFragmentManager(), "ElectronicCardDialog");
                        } else if (status.equals("2002")) {
                            AlertUtils.showToast(ChoiseTextBookActivity.this, "您的机器为样机,可直接使用!");
                            Intent intent = new Intent();
                            intent.setClass(ChoiseTextBookActivity.this, TheStartPageActivity.class);
                            ChoiseTextBookActivity.this.startActivity(intent);
                            overridePendingTransition(R.anim.rightin, R.anim.rightout);
                        }

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }

                    break;
                case HttpCode.PUBLISH_SUCESS:
                    defautPublishInfos.clear();
                    defautPublishInfos.addAll((List<DefautPublishInfo.DataBean>) msg.obj);
                    sim_adapter.notifyDataSetChanged();
                    for (int i = 0; i < defautPublishInfos.size(); i++) {
                        String subject = defautPublishInfos.get(i).getSubject();
                        if (subject.equals("语文")) {
                            chinese = defautPublishInfos.get(i).getPress();
                        } else if (subject.equals("数学")) {
                            math = defautPublishInfos.get(i).getPress();
                        } else if (subject.equals("英语")) {
                            english = defautPublishInfos.get(i).getPress();
                        } else if (subject.equals("物理")) {
                            physics = defautPublishInfos.get(i).getPress();
                        } else if (subject.equals("化学")) {
                            chemistry = defautPublishInfos.get(i).getPress();
                        } else if (subject.equals("历史")) {
                            history = defautPublishInfos.get(i).getPress();
                        } else if (subject.equals("地理")) {
                            geography = defautPublishInfos.get(i).getPress();
                        } else if (subject.equals("政治")) {
                            political = defautPublishInfos.get(i).getPress();
                        } else if (subject.equals("生物")) {
                            biology = defautPublishInfos.get(i).getPress();
                        } else if (subject.equals("科学")) {
                            science = defautPublishInfos.get(i).getPress();
                        }
                    }
                    break;
                case HttpCode.REGISTERINFO_SUCESS:
                    try {
                        jsonObject = new JSONObject((String) msg.obj);
                        String statusregister = jsonObject.optString("status");
                        if (statusregister.equals("1")) {
                            Toast.makeText(ChoiseTextBookActivity.this, "注册信息上传成功", Toast.LENGTH_LONG).show();
                            String deviceNumber = GetDevicesUtil.getDevicesInfo(ChoiseTextBookActivity.this).getDeviceNumber();
                            if (deviceNumber == null) {
                                AlertUtils.showToast(ChoiseTextBookActivity.this, "连接超时请重新登录!");

                            } else {
                                //验证保卡信息
                                HttpManager.getInstance().cardinfocheck(ChoiseTextBookActivity.this, deviceNumber, handler);
                            }

                        } else {
                            AlertUtils.showToast(ChoiseTextBookActivity.this, "您好,服务器异常,请稍后重试");
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }


                    break;

            }

        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        String userID = SaveParam.getInstance().getLoginParam(this, "userId");
        String graderid = SaveParam.getInstance().getLoginParam(this, SaveParam.CHILDSGRADENS);
        String accounts = SaveParam.getInstance().getCustomizeParam(ChoiseTextBookActivity.this,SaveParam.ACCOUNT);
        try {
            long auserID = Long.parseLong(userID);
            int graderID = Integer.parseInt(graderid);
            int accountss = Integer.parseInt(accounts);
            //获取版本信息
            HttpManager.getInstance().getpublishinfo(this, auserID, graderID,accountss, handler);

        } catch (NumberFormatException e) {
            e.printStackTrace();
        }
        setContentView(R.layout.activity_choisetextbook);
        SysApplication.getInstance().addActivity(this);
        initView();
        initData();
        initLister();
    }

    private void initView() {
        gridView = (GridView) findViewById(R.id.grideview);
        cancel = (ImageView) findViewById(R.id.cancel);
        btn_ok = (Button) findViewById(R.id.btn_ok);
    }

    private void initData() {
        sim_adapter = new GridAdapter(defautPublishInfos, this);
        //配置适配器
        gridView.setAdapter(sim_adapter);

    }

    private void initLister() {
        btn_ok.setOnClickListener(this);
        cancel.setOnClickListener(this);
        gridView.setOnItemClickListener(this);

    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_ok:
                String userID = SaveParam.getInstance().getLoginParam(this, "userId");
                String regionId = SaveParam.getInstance().getsaveCityParam(ChoiseTextBookActivity.this, SaveParam.COUNTRY);
                String regionId1 = SaveParam.getInstance().getsaveCityParam(ChoiseTextBookActivity.this, SaveParam.CITYS);
                if (regionId == null) {
                    regionId = regionId1;
                }
                String grade = SaveParam.getInstance().getLoginParam(ChoiseTextBookActivity.this, SaveParam.CHILDSGRADENS);
                String schoolid = SaveParam.getInstance().getLoginParam(ChoiseTextBookActivity.this, SaveParam.SCHOOOlID);
                String name = SaveParam.getInstance().getLoginParam(ChoiseTextBookActivity.this, SaveParam.USERNAME);
                String regeionname = SaveParam.getInstance().getLoginParam(ChoiseTextBookActivity.this, SaveParam.ADRESS);

                try {
                    if (userID == null) {
                        AlertUtils.showToast(ChoiseTextBookActivity.this, "连接超时请重新登录!");

                    } else {
                        Object schoolID;
                        long auserID = Long.parseLong(userID);
                        int gradeID = Integer.parseInt(grade);
                        long regionID = Long.parseLong(regionId);
                        if (schoolid == null) {
                            schoolID = null;
                        } else {
                            schoolID = Long.parseLong(schoolid);
                        }

                        //提交注册信息
                        HttpManager.getInstance().subregisterinfo(ChoiseTextBookActivity.this, auserID,
                                name, gradeID, regionID, regeionname, schoolID, math, english, chinese, physics, chemistry, history, geography, political, biology, science, handler);
                    }

                } catch (NumberFormatException e) {
                    e.printStackTrace();
                }

                break;
            case R.id.cancel:
                finish();
                break;
        }

    }

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        SaveParam.getInstance().saveLoginParam(this, SaveParam.SUBJECT, defautPublishInfos.get(position).getSubject());
        VerSionDialog.getInstance(this).show(getSupportFragmentManager(), "VerSionDialog");
        simpleDraweeView = (SimpleDraweeView) view.findViewById(R.id.image_publish);
        publish = (TextView) view.findViewById(R.id.tv_publish);

    }

    @Override
    public void versionOnItemClick(ArrayList<VersionInfo.DataBean> data, int position, int type) {
        String imageurl = data.get(position).getPressCover();
        String publishs = data.get(position).getPressName();
        simpleDraweeView.setImageURI(imageurl);
        publish.setText(publishs);
        String subject = SaveParam.getInstance().getLoginParam(this, SaveParam.SUBJECT);
        Log.e("test", "选择的科目" + subject);
        if ("语文".equals(subject)) {
            chinese = publishs;
        } else if ("数学".equals(subject)) {
            math = publishs;
        } else if ("英语".equals(subject)) {
            english = publishs;
        } else if ("物理".equals(subject)) {
            physics = publishs;
        } else if ("化学".equals(subject)) {
            chemistry = publishs;
        } else if ("历史".equals(subject)) {
            history = publishs;
        } else if ("地理".equals(subject)) {
            geography = publishs;
        } else if ("政治".equals(subject)) {
            political = publishs;
        } else if ("生物".equals(subject)) {
            biology = publishs;
        } else if ("科学".equals(subject)) {
            science = publishs;
        }

    }
}