Android设置拍照或者上传本地图片的示例设置拍照或者上传本地图片的示例
本篇文章主要介绍了Android设置拍照或者上传本地图片示例,可以拍照或者上传本地文件,有需要的可以了解
一下。
前几天,我们客户端这边收到了市场部的一个需求,需要在我们订单成交后,我们的客户端有一个上传交易凭证的功能,那么
如何在Android实现上传图片的这个功能呢?在我进行编码之前,我先问自己几个问题。
第一, 图片是直接选择图库里的,还是需要拍照和选择图片两个选项?
因为在选择图片的时候,会有一个拍照的按钮,也可以实现拍照的功能。
第二, 需不需要本地缓存?
本地缓存值得是,在我们的图片上传后,是否在下次直接显示,而不是从服务器读取。
第三,图片是否需要压缩?
众所周知,图片这种资源,因为体积较大,在网络上传输还是很慢的,所以,我们需要在我们的传输时,适当的对文件的大小
进行压缩,那么就要根据我们自身的需求,按照一定的比例来进行压缩。
在思考完这几个问题后,根据我们自己的需求,我们在上传时有两个选项的,一个是拍照,一个是选择图片,另外我们需要做
本地缓存,还有,图片上传不需要压缩。
那么我们就可以开始实现了,首先在我们的主fragment里,添加如下代码,如果你是activity,当然也可以。
做一个ImageView,作为我们上传的图像。
mPic1 = (ImageView) view.findViewById(R.id.ImageView01);
nbsp; mPic1.setOnClickListener(mPhotoListener);
private View.OnClickListener mPhotoListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
int id = v.getId();
if (id == R.id.ImageView01) {
Intent popupIntent = new Intent(getActivity(), PopupActivity.class);
mPhotoId = id;
startActivityForResult(popupIntent, 1);
}
}
};
然后,我们跳转到另外一个PopupActivity,让我们选择,
PopupActivity.Java
package com.chuanlaoda.android.activity;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.ActivityNotFoundException;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.util.Log;
import android.view.MotionEvent;
评论0
最新资源