ChoiseTextBookActivity.java 8.77 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.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.model.DefautPublishInfo;
import com.hjx.personalcenter.util.AlertUtils;

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{
    private GridView gridView;
    private Button btn_ok;
    private ImageView cancel;
    private ArrayList<DefautPublishInfo.DataBean> defautPublishInfos = new ArrayList<>();
    private GridAdapter sim_adapter;



    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");
                        }

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

                    break;
                case HttpCode.PUBLISH_SUCESS:
                    defautPublishInfos.clear();
                    defautPublishInfos.addAll( (List<DefautPublishInfo.DataBean>)msg.obj);
                    sim_adapter.notifyDataSetChanged();
                    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 userID = SaveParam.getInstance().getLoginParam(ChoiseTextBookActivity.this, "userId");
                            try {
                                if (userID == null) {
                                    AlertUtils.showToast(ChoiseTextBookActivity.this, "连接超时请重新登录!");

                                } else {
                                    long auserID = Long.parseLong(userID);
                                    //验证保卡信息
                                    HttpManager.getInstance().cardinfocheck(ChoiseTextBookActivity.this, auserID, handler);
                                }

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

                        } 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().getCustomizeParam(this,SaveParam.GRADENS);
        try {
            long auserID = Long.parseLong(userID);
            int graderID = Integer.parseInt(graderid);
            //获取版本信息
            HttpManager.getInstance().getpublishinfo(this,auserID,graderID,handler);

        } catch (NumberFormatException e) {
            e.printStackTrace();
        }
        setContentView(R.layout.activity_choisetextbook);
        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().getLoginParam(ChoiseTextBookActivity.this, SaveParam.COUNTRY);
                String regionId1 = SaveParam.getInstance().getLoginParam(ChoiseTextBookActivity.this, SaveParam.CITYS);
                if (regionId == null) {
                    regionId = regionId1;
                }
                String grade = SaveParam.getInstance().getCustomizeParam(ChoiseTextBookActivity.this, SaveParam.GRADENS);
                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);
                String togoth ="人民教育出版社";

                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,togoth,togoth,togoth,togoth
                                ,togoth,togoth,togoth,togoth,togoth,togoth,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().show(getSupportFragmentManager(), "VerSionDialog");

        String imgurl = SaveParam.getInstance().getLoginParam(this, SaveParam.IMGURL);
        String version = SaveParam.getInstance().getLoginParam(this, SaveParam.VERSION);
        SimpleDraweeView simpleDraweeView = (SimpleDraweeView) parent.findViewById(R.id.image_publish);
        TextView publish = (TextView) parent.findViewById(R.id.tv_publish);
        simpleDraweeView.setImageURI(imgurl);
        publish.setText(version);
    }

}