Java tutorial
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(); } } }; }