//MAIN
package com.zmy.friendsmyapp.main2.HeadRightactivity;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
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.text.format.DateFormat;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.google.gson.Gson;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.RequestParams;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest;
import com.zmy.friendsmyapp.Logins.LoginActivity;
import com.zmy.friendsmyapp.R;
import com.zmy.friendsmyapp.main2.Fragment.Me.Sqlite.dao;
import com.zmy.friendsmyapp.main2.HeadRightactivity.adapter.head_right_gridviewAdapter;
import com.zmy.friendsmyapp.main2.HeadRightactivity.bean.Fabu;
import com.zmy.friendsmyapp.main2.MyGrid.MyGridView;
import com.zmy.friendsmyapp.utilityclass.ToastUtils;
import org.w3c.dom.Text;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Locale;
public class HeadRightsActivity extends Activity {
private EditText head_right_content;
private LinearLayout head_right_ll;
private ArrayList<ImageView> list_imageview;
private ImageView head_right_ll_img;
private ImageView head_right_ll_addimg;
List<String> list=new ArrayList<String>();
List<String> lists=new ArrayList<String>();
//调用拍照标识
public static final int CAMERA = 0x01;
//调用相册标识
public static final int PICTURE = 0x02;
/* 头像名称 */
private MyGridView head_right_gridView;
private head_right_gridviewAdapter adapter;
private ImageView heads_img_left;
private ImageView heads_img_right;
private TextView heads_tv_title;
String imgs="";
private Bitmap bitmap;
String path = "http://app.chunchennet.cn/index/PublishDynamic.html";
private AlertDialog.Builder builde;
private TextView right_camera;
private TextView right_photo;
private AlertDialog alertDialog;
private ImageView dialog_img_xiangce;
private ImageView dialog_img_xiangji;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_head_rights);
heads_img_left = (ImageView) findViewById(R.id.heads_img_left);
heads_img_right = (ImageView) findViewById(R.id.heads_img_right);
heads_tv_title = (TextView) findViewById(R.id.heads_tv_title);
right_head();
fabuleft_onclick();
faburight_onclick();
head_right_content = (EditText) findViewById(R.id.head_right_content);
head_right_ll_addimg = (ImageView) findViewById(R.id.head_right_ll_addimg);
head_right_gridView = (MyGridView) findViewById(R.id.head_right_gridView);
adapter = new head_right_gridviewAdapter(HeadRightsActivity.this);
head_right_gridView.setAdapter(adapter);
dialogs();
//点击添加打开相机或者相片的dialog,弹出框
head_right_ll_addimg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//显示dialog
showdialogs();
}
});
}
//创建弹出框
public void dialogs(){
builde = new AlertDialog.Builder(HeadRightsActivity.this);
alertDialog = builde.create();
View view=View.inflate(HeadRightsActivity.this,R.layout.right_dialog,null);
alertDialog.setView(view);
right_camera = (TextView) view.findViewById(R.id.right_camera);
right_photo = (TextView) view.findViewById(R.id.right_photo);
dialog_img_xiangce = (ImageView) view.findViewById(R.id.dialog_img_xiangce);
dialog_img_xiangji = (ImageView) view.findViewById(R.id.dialog_img_xiangji);
}
//显示弹出框
public void showdialogs(){
alertDialog.show();
// 设置相机按钮
right_camera.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog_img_xiangji.setImageResource(R.drawable.xiangji);
//相机意图
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA);
alertDialog.dismiss();
}
});
// 设置相册按钮
right_photo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog_img_xiangce.setImageResource(R.drawable.xiangce);
//相册意图
Intent picture = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(picture, PICTURE);
alertDialog.dismiss();
}
});
}
//右边图像发布动态
public void right_head(){
heads_tv_title.setText("发布动态");
heads_img_right.setVisibility(View.VISIBLE);
heads_img_right.setImageResource(R.mipmap.fabu);
heads_img_left.setVisibility(View.VISIBLE);
}
//发布右边图像监听
public void faburight_onclick(){
heads_img_right.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(HeadRightsActivity.this,"正在发布", Toast.LENGTH_SHORT).show();
String title = head_right_content.getText().toString().trim();
getinfo(title);
}
});
}
//发布左边图像监听
public void fabuleft_onclick(){
heads_img_left.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
//上传照片
public void getinfo(String title) {
//网络请求
// showProgressDialog(IssueActivity.this);
for (int i = 0; i < lists.size(); i++) {
Bitmap bitmap = BitmapFactory.decodeFile(lists.get(i));
if (i == lists.size() - 1) {
imgs += bitmapToString(bitmap);
} else {
imgs += bitmapToString(bitmap) + ",";
}
}
HttpUtils httpUtils = new HttpUtils();
RequestParams params = new RequestParams();
params.addBodyParameter("ticket", LoginActivity.ticket);
params.addBodyParameter("title", title);
params.addBodyParameter("Imgs", imgs);
httpUtils.send(HttpRequest.HttpMethod.POST, path, params, new RequestCallBack<String>() {
@Override
public void onSuccess(ResponseInfo<String> responseInfo) {
Log.i("luck", responseInfo.result);
// closeProgressDialog();
Gson gson = new Gson();
Fabu fabu = gson.fromJson(responseInfo.result, Fabu.class);
//判断 if (fabu.status.equals("1")) {
list.clear();
lists.clear();
Toast.makeText(HeadRightsActivity.this, fabu.msg, Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(HeadRightsActivity.this, fabu.msg, Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(HttpException e, String s) {
Toast.makeText(HeadRightsActivity.this, "网络异常", Toast.LENGTH_SHORT).show();
}
});
}
//将图片转化为64格式bitmap---String
public static String bitmapToString(Bitmap bitmap) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 60, baos);
byte[] b = baos.toByteArray();
return android.util.Base64.encodeToString(b, android.util.Base64.DEFAULT);
}
//相机,相册的回调方法
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//相册
if (requestCode == PICTURE && resultCode == Activity.RESULT_OK && null != data) {
Uri selectedImage = data.getData();
String[] filePathColumns = {MediaStore.Images.Media.DATA};
Cursor c = this.getContentResolver().query(selectedImage, filePathColumns, null, null, null);
c.moveToFirst();
int columnIndex = c.getColumnIndex(filePathColumns[0]);
String picturePath = c.getString(columnIndex);
c.close();
list.add(picturePath);
if(list.size()>=4){
ToastUtils.show(HeadRightsActivity.this,"最多添加三张");
}else{
lists.add(picturePath);
adapter.addright_test(lists);
}
}
//相机
else if (requestCode == CAMERA && resultCode == Activity.RESULT_OK && null != data) {
String sdState = Environment.getExternalStorageState();
if (!sdState.equals(Environment.MEDIA_MOUNTED)) {
//GameLog.log(Tag, "sd card unmount");
return;
}
new DateFormat();
String name = DateFormat.format("yyyyMMdd_hhmmss", Calendar.getInstance(Locale.CHINA)) + ".jpg";
Bundle bundle = data.getExtras();
//获取相机返回的数据,并转换为图片格式
Bitmap bitmap = (Bitmap) bundle.get("data");
FileOutputStream fout = null;
File file = new File("/sdcard/pintu/");
file.mkdirs();
String filename = file.getPath() + name;
try {
fout = new FileOutputStream(filename);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fout);
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
try {
fout.flush();
fout.close();
} catch (IOException e) { e.printStackTrace(); }
}
list.add(filename);
if(list.size()>=4){
ToastUtils.show(HeadRightsActivity.this,"相机最多添加三张");
}else{
lists.add(filename);
adapter.addright_test(lists);
}
}
}}