/** * ���ֽ��׷������� * created by songdebin * * ***/ package com.bdyjy.fragment; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.provider.MediaStore; import android.text.TextUtils; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.View.OnClickListener; import android.view.inputmethod.InputMethodManager; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import android.widget.Button; import android.widget.ImageView; import android.widget.EditText; import android.widget.RelativeLayout; import android.annotation.SuppressLint; import android.app.Activity; import android.app.Fragment; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import com.alibaba.fastjson.JSON; import com.bdyjy.R; import com.bdyjy.activity.MainActivity; import com.bdyjy.constants.Const; import com.bdyjy.constants.HandlerOrder; import com.bdyjy.entity.ReleaseBean; import com.bdyjy.entity.fix.MyFixContentBean; import com.bdyjy.entity.secondMarket.SecondMarketContentBean; import com.bdyjy.entity.upload.ImgUploadResultBean; import com.bdyjy.util.HttpXmlClient; import com.bdyjy.util.OkHttpUtils; import com.bdyjy.util.PropetiesFileReaderUtil; import com.bdyjy.util.SPUtils; @SuppressLint("ValidFragment") public class FleaReleaseFragment extends Fragment{ private MainActivity ctx; private TextView tv_back; private Button btn_my; private Button btn_commit; Handler handler = null; private EditText et_title; private EditText et_goodsname; private EditText et_price; private EditText et_contacts; private EditText et_tel; private EditText et_description; private String imagePath1=null; private String imagePath2=null; private ImageView addimage1; private ImageView addimage2; private RelativeLayout lv_addImage; private int source; private List<ImgUploadResultBean> uploadResultList = new ArrayList<ImgUploadResultBean>(); private Map<String, String> imgsMap = new HashMap<String, String>(); public FleaReleaseFragment(MainActivity ctx,int source) { this.ctx = ctx; this.source=source; } String toastMsg = null; private void initHandler() { handler = new Handler(ctx.getMainLooper()) { @Override public void handleMessage(Message msg) { switch (msg.what) { case HandlerOrder.TOAST: // TODO Toast.makeText(ctx, toastMsg, Toast.LENGTH_LONG).show(); break; case HandlerOrder.PROCESSBAR_SHOW: ctx.showRoundProcessDialog(); break; case HandlerOrder.PROCESSBAR_HIDE: ctx.hideRoundProcessDialog(); break; case HandlerOrder.UPLOAD_OK: //ͼƬ�ϴ� �ɹ� ctx.hideRoundProcessDialog(); String result = msg.getData().get("body").toString(); System.out.println("result:\n" + result); ImgUploadResultBean is = JSON.parseObject(result, ImgUploadResultBean.class); if ("0".equals(is.getApp_result_key())) { System.out.println(is.getAttachmentName());// �ļ��� System.out.println(is.getAttachmentUrl());// �ڷ������ϵĴ洢·�� System.out.println(is.getPrix());// �ļ���������ַ System.out.println(is.getType());// �ļ���� System.out.println(is.getSize());// �ļ���С uploadResultList.add(is); } else { Toast.makeText(ctx, "�ϴ�����App_result_key��=0", Toast.LENGTH_LONG).show(); } if (uploadResultList.size() == imgsMap.size())// �������ͼƬ���Ѿ��ϴ���� ��ʼ�ϴ�������Ϣ { Commit(); } break; case HandlerOrder.POST_OK: //��Ϣ�ϴ��ɹ� ctx.hideRoundProcessDialog(); String res; res=msg.getData().getString("body"); ReleaseBean bean = JSON.parseObject(res,ReleaseBean.class); String app_result_key = bean.getApp_result_key(); if ("0".equals(app_result_key)) //���ص���Ϣ { toastMsg = "��Ϣ�ύ�ɹ�"; handler.sendEmptyMessage(HandlerOrder.TOAST); //�Զ���ת���ֽ����б� if(source==Const.FRAGMENT2_ID){ ctx.jumpToClickById(Const.FRAGMENT_FLEAMARKET_LIST_ID); }else { ctx.jumpToMyFlea(Const.FRAGMENT3_ID); } }else { toastMsg = "��Ϣ�ύʧ�ܣ��������ݽ����ں���Ӣ���Լ�������"; handler.sendEmptyMessage(HandlerOrder.TOAST); } ctx.hideRoundProcessDialog(); break; case HandlerOrder.POST_ERROR: //��Ϣ�ϴ��ɹ� toastMsg = "��Ϣ�ύʧ�ܣ������������"; handler.sendEmptyMessage(HandlerOrder.TOAST); ctx.hideRoundProcessDialog(); break; case HandlerOrder.UPLOAD_ERROR: toastMsg = "��Ϣ�ύʧ�ܣ������������"; handler.sendEmptyMessage(HandlerOrder.TOAST); ctx.hideRoundProcessDialog(); break; } } }; } public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.flea_release_fragment, null); initHandler(); //��ʼ����������ͼƬ�ĵط� addimage1=(ImageView)view.findViewById(R.id.iv_show1_flea_release); addimage2=(ImageView)view.findViewById(R.id.iv_show2_flea_release); //���ͼƬ lv_addImage=(RelativeLayout)view.findViewById(R.id.lv_addimage_flea_release); lv_addImage.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(intent, 200); } }); //��������ؼ��ij�ʼ�� et_title=(EditText)view.findViewById(R.id.et_title_flea_release); et_goodsname=(EditText)view.findViewById(R.id.et_goodsname_flea_release); et_price=(EditText)view.findViewById(R.id.et_price_flea_release); et_contacts=(EditText)view.findViewById(R.id.et_contacts_flea_release); et_tel=(EditText)view.findViewById(R.id.et_tel_flea_release); et_description=(EditText)view.findViewById(R.id.et_description_flea_release); //���������ύ�İ��� btn_commit=(Button)view.findViewById(R.id.btn_flea_release); btn_commit.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String title=et_title.getText().toString().trim(); String goodsName=et_goodsname.getText().toString().trim(); String price=et_price.getText().toString().trim(); String tel=et_tel.getText().toString().trim(); String contacts=et_contacts.getText().toString().trim(); String description=et_description.getText().toString().trim(); if(TextUtils.isEmpty(title)){ toastMsg = "����д����"; handler.sendEmptyMessage(HandlerOrder.TOAST); }else if(TextUtils.isEmpty(goodsName)){ toastMsg = "����д��Ʒ��"; handler.sendEmptyMessage(HandlerOrder.TOAST); }else if(TextUtils.isEmpty(price)){ toastMsg = "����д�۸�"; handler.sendEmptyMessage(HandlerOrder.TOAST); }else if(TextUtils.isEmpty(tel)){ toastMsg = "��������ϵ��ʽ"; handler.sendEmptyMessage(HandlerOrder.TOAST); }else if(TextUtils.isEmpty(contacts)){ toastMsg = "������ϵ��"; handler.sendEmptyMessage(HandlerOrder.TOAST); }else if(TextUtils.isEmpty(description)){ toastMsg = "��������"; handler.sendEmptyMessage(HandlerOrder.TOAST); }else{ // �����ͼƬ���ϴ�ͼƬ if (!TextUtils.isEmpty(imgsMap.get(img1Key)) || !TextUtils.isEmpty(imgsMap.get(img2Key))) { uploadResultList.clear(); // ���ѡ����ͼƬ try { // TODO ������ύ�������ϴ�ͼƬ��ѭ�������ϴ��ķ��� for (String key : imgsMap.keySet()) { handler.sendEmptyMessage(HandlerOrder.PROCESSBAR_SHOW); OkHttpUtils.getInstance().uploadImg(ctx, imgsMap.get(key), handler); // } } catch (Exception e) { e.printStackTrace(); } }else{// ���û��ͼƬֱ���ϴ�������Ϣ Commit(); } } } }); //������һ���� �����г��б�ҳ tv_back = (TextView) view.findViewById(R.id.tv_back); tv_back.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if(source==Const.FRAGMENT2_ID){ ctx.jumpToClickById(Const.FRAGMENT_FLEAMARKET_LIST_ID); }else { ctx.jumpToMyFlea(Const.FRAGMENT3_ID); } } }); //��ת���ҵĶ��ֽ��� if(source==Const.FRAGMENT2_ID) { btn_my=(Button)view.findViewById(R.id.setting); btn_my.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { ctx.jumpToMyFlea(source); } }); }else { btn_my=(Button)view.findViewById(R.id.setting); btn_my.setVisibility(View.INVISIBLE); } return view; } /** * *�ύ���ݰ���ͼƬ����Ϣ * songdebin * */ public void Commit(){ new Thread() //�����ϴ�������Ϣ { @Override public void run() { String res = null; // ��sharePreference��ȡ��֮ǰ�洢�IJ��� String token = (String) SPUtils.get(ctx, "token", ""); String singnature = (String) SPUtils.get(ctx, "singnature", ""); String st = (String) SPUtils.get(ctx, "st", ""); String title=et_title.getText().toString().trim(); String goodsName=et_goodsname.getText().toString().trim(); String price=et_price.getText().toString().trim(); String tel=et_tel.getText().toString().trim(); String contacts=et_contacts.getText().toString().trim(); String status="��֪��"; String description=et_description.getText().toString().trim(); // ����post���� tryPost(title, goodsName, price,tel, contacts, description, token, singnature, st); } }.start(); } //�ӱ��ػ�ȡͼƬ @SuppressLint("DefaultLocale") @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if (requestCode == 200 && resultCode == Activity.RESULT_OK) { Log.d("dd", data.toString()); Uri uri = data.getData(); // ���صĽ�� ContentResolver cr = ctx.getContentResolver(); String[] filePathColumn = { MediaStore.Images.Media.DATA }; Cursor cursor = ctx.getContentResolver().query(uri, filePathColumn, null, null, null); if (cursor == null) { System.out.print("cursor :"+null); return; } System.out.print("cursor :"+cursor); cursor.moveToFirst(); int columnIndex = cursor.getColumnIndex(filePathColumn[0]); String picturePath = cursor.getString(columnIndex); if (!picturePath.toLowerCase().endsWith(".jpg") && !picturePath.toLowerCase().endsWith(".jpeg")) { Toast.makeText(ctx.getApplicationContext(), "��ѡ��jpg��ʽ��ͼƬ", Toast.LENGTH_SHORT).show(); return; } try { //Toast.makeText(ctx, picturePath, Toast.LENGTH_SHORT).show(); if (picIndex == 1) { imgsMap.put(img1Key, picturePath); imagePath1=picturePath; ShowImg(imagePath1, addimage1); picIndex = 2; }else if(picIndex==2){ imagePath2=picturePath; imgsMap.put(img2Key, picturePath); ShowImg(imagePath2, addimage2); picIndex = 1; } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } // images.add(picturePath);// ������Ϊ�˻�ȡͼƬ��·�� // setAdapter(new MyAdapter(UploadActivity.this)); Log.d("dd", picturePath); } } private int picIndex = 1; private String img1Key = "img1"; private String img2Key = "img2"; public void ShowImg(String uri, ImageView headimage2) throws IOException { FileInputStream fs = new FileInputStream(uri); BufferedInputStream bs = new BufferedInputStream(fs); Bitmap btp = BitmapFactory.decodeStream(bs); headimage2.setImageBitmap(btp); bs.close(); fs.close(); btp = null; } /** * �����첽post��ʽ�����ύ * * @param title * @param type * @param tel * @param location * @param description * @param token * @param singnature * @param st */ private void tryPost(String title, String goodsName, String price,String contacts,String tel, String description, String token, String singnature, String st) { // ����ʹ���첽post������� HashMap<String, String> map = new HashMap<String, String>(); // ���ڿ�ʼ������� map.put("title", title); map.put("goodsName", goodsName); map.put("price", price); map.put("contacts",contacts); map.put("tel", tel); map.put("description", description); for (int i = 0; i < uploadResultList.size(); i++) { map.put("attArry[" + i + "].filePath", uploadResultList.get(i) .getAttachmentUrl()); map.put("attArry[" + i + "].fileName", uploadResultList.get(i) .getAttachmentName()); map.put("attArry[" + i + "].fileSize", uploadResultList.get(i) .getSize()); map.put("attArry[" + i + "].fileType", uploadResultList.get(i) .getType()); } String http = "/admin/secondhanddeal/addSave.do?token=" + token //******************************·��û������ + "&singnature=" + singnature + "&st=" + st+"&status="+1; handler.sendEmptyMessage(HandlerOrder.PROCESSBAR_SHOW); OkHttpUtils.getInstance().doPostAsync(ctx, http, map, handler); } /* * (non-Javadoc) * * @see android.app.Fragment#onDestroy() */ @Override public void onDestroy() { InputMethodManager imm = (InputMethodManager) ctx .getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(null, 0); super.onDestroy(); } }