package com.mgw.member.ui.activity;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.loopj.android.http.RequestParams;
import com.mgw.member.R;
import com.mgw.member.constant.Define_C;
import com.mgw.member.ui.fragment.MyInfoFragment;
import com.mgw.member.uitls.MgqDataHandler;
import com.mgw.member.uitls.MgqRestClient;
import com.squareup.picasso.Picasso;
/**
* 广告添加页
*
* @author Administrator
*
*/
public class AddadActivity extends Activity {
private EditText et_title_ad, et_abstract_ad, et_detail_ad;
private ImageView imageView_adcover, imageView_firstadimg, imageView_nextadimg, imageView_thirdadimg;
private Button button_savead;
private ImageButton button_deletcover, button_deletefirstimg, button_deletenextimg, button_deletethirdimg;
private TextView imagebutton_addad_back;
private LinearLayout liLayout_addad;
private InputMethodManager inputMethodManager;
// public boolean coveimg = false;
// public boolean firstimg = false;
// public boolean nexttimg = false;
// public boolean thirdtimg = false;
// public String coveimgid = "";
// public String firstimgid = "";
// public String nexttimgid = "";
// public String thirdtimgid = "";
private String images = "";
private static final String IMAGE_FILE_NAME = "faceImage.jpg";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_addad);
et_title_ad = (EditText) findViewById(R.id.et_title_ad);
et_abstract_ad = (EditText) findViewById(R.id.et_abstract_ad);
et_detail_ad = (EditText) findViewById(R.id.et_detail_ad);
imageView_adcover = (ImageView) findViewById(R.id.imageView_adcover);
imageView_firstadimg = (ImageView) findViewById(R.id.imageView_firstadimg);
imageView_nextadimg = (ImageView) findViewById(R.id.imageView_nextadimg);
imageView_thirdadimg = (ImageView) findViewById(R.id.imageView_thirdadimg);
button_savead = (Button) findViewById(R.id.button_savead);
imagebutton_addad_back = (TextView) findViewById(R.id.imagebutton_addad_back);
button_deletcover = (ImageButton) findViewById(R.id.button_deletecover);
button_deletefirstimg = (ImageButton) findViewById(R.id.button_deletefirstimg);
button_deletenextimg = (ImageButton) findViewById(R.id.button_deletenextimg);
button_deletethirdimg = (ImageButton) findViewById(R.id.button_deletethirdimg);
liLayout_addad = (LinearLayout) findViewById(R.id.liLayout_addad);
inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
Intent intent = getIntent();
if (intent.getIntExtra("mod", 1) == 2) {
String adid = intent.getStringExtra("adid");
Log.i("===adid===", adid);
getadinfoData(true, adid);
}
Log.i("oncreat方法执行了", "oncreat方法执行了。。。");
}
@Override
protected void onResume() {
super.onResume();
SharedPreferences.Editor sharedPreferences = getSharedPreferences("mgw_data", 0).edit();
sharedPreferences.putInt("QQsharecod", 200);
sharedPreferences.commit();
init();
}
// 給各个控件设置监听
public void init() {
imagebutton_addad_back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
imageView_adcover.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Define_C.coveimg = true;
showImgDialog();
}
});
imageView_firstadimg.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Define_C.firstimg = true;
showImgDialog();
}
});
imageView_nextadimg.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Define_C.nexttimg = true;
showImgDialog();
}
});
imageView_thirdadimg.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Define_C.thirdtimg = true;
showImgDialog();
}
});
button_deletcover.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
imageView_adcover.setImageResource(R.drawable.moren0);
button_deletcover.setVisibility(View.GONE);
Define_C.coveimgid = "";
}
});
button_deletefirstimg.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
imageView_firstadimg.setImageResource(R.drawable.moren0);
button_deletefirstimg.setVisibility(View.GONE);
Define_C.firstimgid = "";
}
});
button_deletenextimg.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
imageView_nextadimg.setImageResource(R.drawable.moren0);
button_deletenextimg.setVisibility(View.GONE);
Define_C.nexttimgid = "";
}
});
button_deletethirdimg.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
imageView_thirdadimg.setImageResource(R.drawable.moren0);
button_deletethirdimg.setVisibility(View.GONE);
Define_C.thirdtimgid = "";
}
});
button_savead.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (et_title_ad.getText().toString().trim().equals("")) {
Toast.makeText(getApplicationContext(), "广告标题不能为空或者空格哦!", Toast.LENGTH_SHORT).show();
return;
}
if (et_abstract_ad.getText().toString().trim().equals("")) {
Toast.makeText(getApplicationContext(), "广告摘要不能为空或者空格哦!", Toast.LENGTH_SHORT).show();
return;
}
if (et_detail_ad.getText().toString().trim().equals("")) {
Toast.makeText(getApplicationContext(), "广告内容不能为空或者空格哦!", Toast.LENGTH_SHORT).show();
return;
}
if (Define_C.coveimgid.equals("")) {
Toast.makeText(getApplicationContext(), "封面图片必须要有哦!", Toast.LENGTH_SHORT).show();
return;
}
confirmData();
}
});
liLayout_addad.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// 隐藏软键盘
if (getWindow().getAttributes().softInputMode != WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN) {
if (getCurrentFocus() != null)
inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
return false;
}
});
}
AlertDialog mDailog = null;
// 展示选择图片对话框
void showImgDialog() {
mDailog = new AlertDialog.Builder(this).setCancelable(false).setNegativeButton("取消选择", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Define_C.coveimg = false;
Define_C.firstimg = false;
Define_C.nexttimg = false;
Define_C.thirdtimg = false;
mDailog.dismiss();
}
}).setTitle("图片选择与处理").setItems(new String[] { "拍照", "从相册中选择" }, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
displayBriefMemory();
final ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
ActivityManager.MemoryInfo info = new ActivityManager.MemoryInfo();
activityManager.getMemoryInfo(info);
// if ((info.availMem >> 10) < 160000) {
// Toast.makeText(getApplicationContext(),
// "您的设备可用内存不够,无法执行以下操作,敬请谅解!",
// Toast.LENGTH_LONG).show();
// return;
// }
if (which == 0) {
showImgPick(0);
} else if (which == 1) {
showImgPick(1);
}
mDailog.dismiss();
mDailog = null;
}
}).show();
}
public static final int CROPPHOT_CODE = 5;
public static final int IMAGE_CODE = 3;
public static final int TAKEPHOT_CODE = 4;
private final String IMAGE_TYPE = "image/*";
// private static final String IMAGE_FILE_LOCATION =
// "file:///sdcard/temp.jpg";
// Uri imageUri = Uri.parse(IMAGE_FILE_LOCATION);
Uri imageUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "/" + IMAGE_FILE_NAME));
// 处理拍的照片
private void cropImageUri(Uri uri, int requestCode) {
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 7);
intent.putExtra("aspectY", 4);
intent.putExtra("outputX", 320);
intent.putExtra("outputY", 182);
intent.putExtra("scale", true);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
intent.putExtra("return-data", false);
intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
intent.putExtra("noFaceDetection", true); // no face detection
startActivityForResult(intent, requestCode);
}
// 处理相册的图片
private void getImage() {
Intent getAlbum = new Intent(Intent.ACTION_GET_CONTENT);
getAlbum.setType(IMAGE_TYPE);
getAlbum.putExtra("crop", "true");
getAlbum.putExtra("aspectX", 7);
getAlbum.putExtra("aspectY", 4);
getAlbum.putExtra("outputX", 320);
getAlbum.putExtra("outputY", 182);
getAlbum.putExtra("scale", true);
getAlbum.putExtra("return-data", false);
getAlbum.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
getAlbum.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
getAlbum.putExtra("noFaceDetection", true); // no face detection
startActivityForResult(getAlbum, IMAGE_CODE);
}
void showImgPick(int type) {
if (type == 0) {
String state = Environment.getExternalStorageState();
if (state.equals(Environment.MEDIA_MOUNTED)) {
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(intent, TAKEPHOT_CODE);
}
} else {
getImage();
}
}
Bitmap photo = null;
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == 0) {
Define_C.coveimg = false;
Define_C.firstimg = false;
Define_C.nexttimg = false;
Define_C.thirdtimg = false;
return;
}
switch (requestCode) {
case TAKEPHOT_CODE:
cropImageUri(imageUri, CROPPHOT_CODE);
return;
case CROPPHOT_CODE:
photo = decodeUriAsBitmap(imageUri);
break;
case IMAGE_CODE:
photo = decodeUriAsBitmap(imageUri);
break;
}
InputStream is = Bitmap2IS(photo);
getData(is, photo);
}
boolean mUpImage = false;
// 图片上传方法代码
private void getData(final InputStream is, final Bitmap photo) {
MgqDataHandler loginHandler = new MgqDataHandler(this, true, false) {
@Override
public void onSuccess(String response) {
super.onSuccess(response);
try {
JSONObject obj = new JSONObject(response);
Log.e("json", obj.toString());
if (obj.getInt("flag") == 0) {
if (Define_C.coveimg) {
Log.i("封面图地址", obj.getJSONObject("item").getString("url"));
Define_C.coveimgid = obj.getJSONObject("item").getString("url");
imageView_adcover.setImageBitmap(photo);
button_deletcover.setVisibility(View.VISIBLE);
Define_C.coveimg = false;
}
if (Define_C.firstimg) {
Log.i("第一张图地址", obj.getJSONObject("item").getString("url"));
Define_C.firstimgid = obj.getJSONObject("item").getString("url");
imageView_firstadimg.setImageBitmap(photo);
button_deletefirstimg.setVisibility(View.VISIBLE);
Define_C.firstimg = false;
}
if (Define_C.nexttimg) {
Log.i("第二张图地址", obj.getJSONObject("item").getString("url"));
Define_C.nexttimgid = obj.getJSONObject("item").getString("url");
imageView_nextadimg.setImageBitmap(photo);
button_deletenextimg.setVisibility(View.VISIBLE);
Define_C.nexttimg = false;
}
if (Define_C.thirdtimg) {
Log.i("第三张图地址", obj.getJSONObject("item").getString("url"));
Define_C.thirdtimgid = obj.getJSONObject("item").getString("url");
imageView_thirdadimg.setImageBitmap(photo);
button_deletethirdimg.setVisibility(View.VISIBLE);
Define_C.thirdtimg = false;
}
Toast.makeText(getApplicationContext(), "上传成功!", Toast.LENGTH_SHORT).show();
} else {
Define_C.coveimg = false;
Define_C.firstimg = false;
Define_C.nexttimg = false;
Define_C.thirdtimg = false;
Toast.makeText(getApplicationContext(), obj.getString("msg"), Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
mUpImage = false;
}
@Override
public void onFailure(Throwable ble) {
Toast.makeText(getApplicationContext(), "上传失败!", Toast.LENGTH_SHORT).show();
}
@Override
public void onFinish() {
super.onFinish();
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Define_C.coveimg = false;
Define_C.firstimg = false;
Define_C.nexttimg = false;
Define_C.thirdtimg = false;
}
};
RequestParams params = new RequestParams();
params.put("picture", is);
// MgqRestClient.post(
// "http://Android4.mgw.cc/MemImage/UploadPicture.aspx?"
// + "&userid=" + obj.getString("UserID")
// + "&format=.jpg", params, loginHandler);
MgqRestClient.post(Define_C.mgw_url2 + "/MemImage/UploadPicture.aspx?" + "&userid=" + getSharedPreferences("mgw_data", 0).getString("mgw_userID", null) + "&format=.jpg", params, loginHandler);
}
// 确认保存的方法
private void confirmData() {
MgqDataHandler loginHandler = new MgqDataHandler(this, true, false) {
@Override
public void onSuccess(String response) {
super.onSuccess(response);
try {
JSONObject obj = new JSONObject(response);
Log.e("json", obj.toString());
if (obj.getInt("flag") == 0) {
MyInfoFragment.shoudeflush = true;
Toast.makeText(getApplicationContext(), "保存成功!", Toast.LENGTH_SHORT).show();
finish();
} else {
// ToastUtil.showToastWithAlertPic(obj.getString("msg"));
Toast.makeText(getApplicationContext(), obj.getString("msg"), Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
mUpImage = false;
}
@Override
public void onFailure(Throwable ble) {
Toast.makeText(getApplicationContext(), "保存失败!", Toast.LENGTH_SHORT).show();
}
@Override
public void onFinish() {
Define_C.coveimgid = "";
Define_C.firstimgid = "";
Define_C.nexttimgid = "";
Define_C.thirdtimgid = "";
}
};
if (!Define_C.firstimgid.equals("")) {
images = Define_C.firstimgid + ",";
}
if (!Define_C.nexttimgid.equals("")) {
images = images + Define_C.nexttimgid + ",";
}
if (!Define_C.thirdtimgid.equals("")) {
images = images + Define_C.thirdtimgid + ",";
}
if (images.equals("")) {
images = ",";
}
RequestParams params = new RequestParams();
// 广告保存的接口
String type = "platinum.uploadad";
Intent intent = getIntent();
if (intent.getIntExtra("mod", 1) == 2) {
String adid = intent.getStringExtra("adid");
Log.i("===adid===", adid);
params.put("adid", adid);
// 广告修改后后保存的接口
type = "platinum.modifyad";
}
params.add("type", type);
params.add("userid", getSharedPreferences("mgw_data", 0).getString("mgw_userID", null));
params.add("serial", getSharedPreferences("mgw_data", 0).getString("mgw_serial", null));
params.add("title", et_title_ad.getText().toString().trim());
params.add("face", Define_C.coveimgid);
params.add("images", images.toString().substring(0, images.toString().length() - 1));
params.add("desc", et_abstract_ad.getText().toString().trim());
params.add("content", et_detail_ad.getText().toString().trim());
MgqRestClient.get(Define_C.mgw_url, params, loginHandler);
}
// 通过Uri得到bitmap对象
private Bitmap decodeUriAsBitmap(Uri uri) {
Bitmap bitmap = null;
try {
bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(uri));
} catch (FileNotFoundException e) {
e.printStackTrace();
return null;
}
return bitmap;
}
// 将bitmap对象转换为输入流
private InputStream Bitmap2IS(Bitmap bitmap) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 80, baos);
InputStream sbs = new ByteArrayInputStream(baos.toByteArray());
return sbs;
}
// 获取内存状况
private void displayBriefMemory() {
final ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
ActivityManager.MemoryInfo info = new ActivityManager.MemoryInfo();
activityManager.getMemoryInfo(info);
Log.i("系统剩余内存----->", "系统剩余内存:" + (info.availMem >> 10) + "k");
Log.i("系统是否处于低内存运行----->", "系统是否处于低内存运行:" + info.lowMemory);
Log.i("当系统剩余内存低于----->", "当系统剩余内存低于" + info.threshold + "时就看成低内存运行");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.i("onDestroy方法执行了", "广告activity以消亡。。。");
}
// 编辑广告前下载数据
private void getadinfoData(boolean show, String adid) {
MgqDataHandler loginHandler = new MgqDataHandler(this, show, false) {
@Override
public void onSuccess(String response) {
super.onSuccess(response);
try {
JSONObject obj = new JSONObject(response);
Log.e("json==", obj.toString());
if (obj.getInt("flag") == 0) {
JSONObject jsonObject = obj.getJSONObject("item");
et_title_ad.setText(jsonObject.getString("title"));
et_abstract_ad.setText(jsonObject.getString("abstract"));
et_detail_ad.setText(jsonObject.getString("content"));
String face = jsonObject.getString("face");
Picasso.with(getApplicationContext()).load(face).into(imageView_adcover);
// ImageLoaderHelper.displayImage(R.drawable.img_loading,
// imageView_adcover, face);
button_deletcover.setVisibility(View.VISIBLE);
Define_C.coveimgid = face;
String[] cimgs = jsonObject.getString("cimg").split(",");
Log.i("==imgsize", cimgs.length + "");
switch (cimgs.length) {
case 1:
if (cimgs[0].equals("")) {
break;
}
Picasso.with(getApplicationContext()).load(cimgs[0]).into(imageView_firstadimg);
// ImageLoaderHelper.displayImage(
// R.drawable.img_loading,
// imageView_firstadimg, cimgs[0]);
Define_C.firstimgid = cimgs[0];
button_deletefirstimg.setVisibility(View.VISIBLE);
Log.i("==图一==", cimgs[0]);
break;
case 2:
Log.i("==图一==", cimgs[0]);
Picasso.with(getApplicationContext()).load(cimgs[0]).into(imageView_firstadimg);
// ImageLoaderHelper.displayImage(
// R.drawable.img_loading,
// imageView_firstadimg, cimgs[0]);
button_deletefirstimg.setVisibility(View.VISIBLE);
Define_C.firstimgid = cimgs[0];
Picasso.with(getApplicationContext()).load(cimgs[1]).into(imageView_nextadimg);
// ImageLoaderHelper.displayImage(
// R.drawable.img_loading,
// imageView_nextadimg, cimgs[1]);
button_deletenextimg.setVisibility(View.VISIBLE);
Define_C.nexttimgid = cimgs[1];
break;
case 3:
Log.i("==图一==", cimgs[0]);
Log.i("==图二==", cimgs[1]);
Log.i("==图三==", cimgs[2]);
Picasso.with(getApplicationContext()).load(cimgs[0]).into(imageView_firstadimg);
// ImageLoaderHelper.displayImage(
// R.drawable.img_loading,
// imageView_firstadimg, cimgs[0]);
button_deletefirstimg.setVisibility(View.VISIBLE);
Define_C.firstimgid = cimgs[0];
Picasso.with(getApplicationContext()).load(cimgs[1]).into(imageView_nextadimg);
// ImageLoaderHelper.displayImage(
// R.drawable.img_loading,
// imageView_nextadimg, cimgs[1]);
button_deletenextimg.setVisibility(View.VISIBLE);
Define_C.nexttimgid = cimgs[1];
Picasso.with(getApplicationContext()).load(cimgs[2]).into(imageView_thirdadimg);
// ImageLoaderHelper.displayImage(
// R.drawable.img_loading,
// imageView_thirdadimg, cimgs[2]);
button_deletethirdimg.setVisibility(View.VISIBLE);
Define_C.thirdtimgid = cimgs[2];
break;
}
} else {
Toast.makeText(getApplicationContext(), obj.getString("msg"), Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(Throwable ble) {
}
};
RequestParams params = new RequestParams();
params.put("type", "member.getadinfo");
params.add("userid", getSharedPreferences("mgw_data", 0).getString("mgw_userID", null));
params.add("serial", getSharedPreferences("mgw_data", 0).getString("mgw_serial", null));
params.put("adid", adid);
MgqRestClient.get(Define_C.mgw_url, params, loginHandler);
}
}