com.example.cuisoap.agrimac.machineRegister.containerActivity.java Source code

Java tutorial

Introduction

Here is the source code for com.example.cuisoap.agrimac.machineRegister.containerActivity.java

Source

package com.example.cuisoap.agrimac.machineRegister;

import java.io.File;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.HashMap;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.widget.Toast;

import com.example.cuisoap.agrimac.R;
import com.example.cuisoap.agrimac.network.IP;
import com.example.cuisoap.agrimac.network.netUtil;
import com.example.cuisoap.agrimac.tools.MyFragmentPagerAdapter;
import com.example.cuisoap.agrimac.tools.OnButtonClickListener;

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.MultipartEntity;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONException;
import org.json.JSONObject;

/**
 * Created by cuinaitian on 2016/4/12 0012.
 */
public class containerActivity extends FragmentActivity implements OnButtonClickListener {
    private ViewPager mPager;
    private ArrayList<Fragment> fragmentList;
    private JSONObject send_data;
    private HashMap<String, String> filelist;
    private String ip = IP.ip + "machine/new";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_machineregister);
        send_data = new JSONObject();
        filelist = new HashMap<>();
        InitViewPager();
    }

    /*
     * ?ViewPager
     */
    public void InitViewPager() {
        mPager = (ViewPager) findViewById(R.id.machineregister_viewpager);
        fragmentList = new ArrayList<Fragment>();
        driverInfoFragment pageOne = new driverInfoFragment();
        machineInfoFragment pageTwo = new machineInfoFragment();
        lease_fragment pageThree = new lease_fragment();
        fragmentList.add(pageOne);
        fragmentList.add(pageTwo);
        fragmentList.add(pageThree);
        //ViewPager?
        mPager.setAdapter(new MyFragmentPagerAdapter(getSupportFragmentManager(), fragmentList));
        mPager.setCurrentItem(0);//?
        setResult(RESULT_CANCELED, null);
    }

    @Override
    public void onButtonClicked(JSONObject data, int from) {
        System.out.println(data.toString());
        switch (from) {
        case 1:
            try {
                send_data.put("drive_type", data.getString("drive_type"));
                send_data.put("driver_name", data.getString("driver_name"));
                send_data.put("driver_age", data.getString("driver_age"));
                send_data.put("driver_gender", data.getString("driver_gender"));
                send_data.put("driver_license_type", data.getString("license_type"));
                //send_data.put("driver_license",data.getString("license_path"));
                filelist.put("driver_license", data.getString("license_path"));
            } catch (JSONException e) {
                e.printStackTrace();
            }
            mPager.setCurrentItem(1);
            break;
        case 2:
            try {
                send_data.put("machine_type", data.getString("machine_type"));
                send_data.put("machine_name", data.getString("machine_name"));
                send_data.put("machine_power", data.getString("machine_power"));
                send_data.put("passenger_num", data.getString("passenger_num"));
                send_data.put("machine_wheeldistance", data.getString("wheel_distance"));
                send_data.put("machine_checktime", data.getString("check_time"));
                send_data.put("machine_paytype", data.getString("pay_type"));
                send_data.put("machine_powertype", data.getString("power"));
                //  send_data.put("machine_license1",data.getString("license_path1"));
                //  send_data.put("machine_license2",data.getString("license_path2"));
                filelist.put("machine_license1", data.getString("license_path1"));
                filelist.put("machine_license2", data.getString("license_path2"));
            } catch (JSONException e) {
                e.printStackTrace();
            }
            mPager.setCurrentItem(2);
            break;
        case 3:
            try {
                send_data.put("lease_month", data.getString("lease_month"));
                send_data.put("lease_time", data.getString("lease_time"));
                send_data.put("work_condition", data.getString("work_condition"));
                send_data.put("need_type", data.getString("need_type"));
                if (data.getString("need_type").equals("2"))
                    send_data.put("need_item", data.getString("needItem"));
                send_data.put("house_type", data.getString("house_type"));
            } catch (JSONException e) {
                e.printStackTrace();
            }
            /* Message e=Message.obtain();
            JSONObject o=new JSONObject();
            try {
                o.put("status","0");
                o.put("id","1");
                e.obj=o.toString();
                e.setTarget(h);
                e.sendToTarget();
            } catch (JSONException e1) {
                e1.printStackTrace();
            }*/
            new Thread(send).start();

            //TODO ?
        }

    }

    Handler h = new Handler() {
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what == 0) {
                JSONObject o;
                JSONObject m;
                try {
                    o = new JSONObject(msg.obj.toString());
                    if (o.getString("status").equals("0")) {
                        Toast.makeText(getApplicationContext(), "?", Toast.LENGTH_SHORT).show();
                        m = o.getJSONObject("data");
                        Intent r = new Intent();
                        r.putExtra("data", m.toString());
                        setResult(1, r);
                        containerActivity.this.finish();
                    } else if (o.getString("status").equals("40004")) {
                        //Toast.makeText(getApplicationContext(), "???", Toast.LENGTH_SHORT).show();
                    }
                } catch (JSONException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            } else if (msg.what == 1) {
                Toast.makeText(getApplicationContext(), "?:?" + msg.obj, Toast.LENGTH_SHORT)
                        .show();
            }

        }

    };
    Runnable send = new Runnable() {
        @Override
        public void run() {
            // TODO Auto-generated method stub
            try {
                HttpClient client = new DefaultHttpClient();
                HttpPost httppost = null;
                client = new DefaultHttpClient();
                httppost = new HttpPost(ip);
                httppost.addHeader("x-auth-token", netUtil.token);
                MultipartEntity entity = new MultipartEntity();
                StringBody sb = new StringBody(send_data.toString(), Charset.defaultCharset());
                entity.addPart("data", sb);
                FileBody fb = new FileBody(new File(filelist.get("driver_license")));
                entity.addPart("driver_license", fb);
                fb = new FileBody(new File(filelist.get("machine_license1")));
                entity.addPart("machine_license_1", fb);
                fb = new FileBody(new File(filelist.get("machine_license2")));
                entity.addPart("machine_license_2", fb);
                httppost.setEntity(entity);
                HttpResponse httpResponse = client.execute(httppost);
                System.out.println(httpResponse.getStatusLine().getStatusCode());
                // ?????200???
                if (httpResponse.getStatusLine().getStatusCode() == 200) {
                    //?
                    System.out.println("?");
                    String result = EntityUtils.toString(httpResponse.getEntity()); //????String
                    if (result.equals(""))
                        System.out.println("??");
                    System.out.println(result);
                    String res = new String(result.getBytes(), "utf-8");
                    System.out.println(res);
                    Message msg = Message.obtain();
                    msg.setTarget(h);
                    msg.what = 0;
                    //msg.obj=result;
                    msg.obj = result;
                    msg.sendToTarget();
                } else {
                    Message msg = Message.obtain();
                    msg.setTarget(h);
                    msg.what = 1;
                    //msg.obj=result;
                    msg.obj = httpResponse.getStatusLine().getStatusCode();
                    msg.sendToTarget();
                }

            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }
    };
}