打开相册相机上传照片代码


//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);
}

}

}}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值