android上传图片及下载图片并显示
1、项目需要打开摄像头,拍照,然后上传照片。
首先定义一个“拍照”按钮,用来跳转到另一个Activity:
[java] protected void takePhoto() {
// TODO Auto-generated method stub
String sdStatus = Environment.getExternalStorageState();
if (!sdStatus.equals(Environment.MEDIA_MOUNTED))
{ // 检测sd是否可用
Log.i("exception",
"SD card is not avaiable/writeable right now.");
Toast.makeText(getApplicationContext(), "sd卡无法使用",
Toast.LENGTH_SHORT).show();
return;
}
File file = new File(
Environment.getExternalStorageDirectory().getAbsolutePath()
+File.separator+"myAQ"+File.separator);
if(!file.exists())
file.mkdirs();// 创建文件夹
String time = new SimpleDateFormat(
"yyyyMMddHHmmss").format(new Date());
fileName = time+".jpg";
Intent intent = new Intent(PublishNewsActivity.this,TakePhotoActivity.class);
intent.putExtra("fileName", fileName);
startActivityForResult(intent, 10);
}
protected void takePhoto() {
// TODO Auto-generated method stub
String sdStatus = Environment.getExternalStorageState();
if (!sdStatus.equals(Environment.MEDIA_MOUNTED))
{ // 检测sd是否可用
Log.i("exception",
"SD card is not avaiable/writeable right now.");
Toast.makeText(getApplicationContext(), "sd卡无法使用",
Toast.LENGTH_SHORT).show();
return;
}
File file = new File(
Environment.getExternalStorageDirectory().getAbsolutePath()
+File.separator+"myAQ"+File.separator);
if(!file.exists())
file.mkdirs();// 创建文件夹
String time = new SimpleDateFormat(
"yyyyMMddHHmmss").format(new Date());
fileName = time+".jpg";
Intent intent = new Intent(PublishNewsActivity.this,TakePhotoActivity.class);
intent.putExtra("fileName", fileName);
startActivityForResult(intent, 10);
}在拍照的Activity会打开摄像头,点击拍照按钮可以拍照并返回上一个Activity。
[java] import java.io.File;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.ImageFormat;
import android.graphics.Matrix;
import android.graphics.PixelFormat;
import android.graphics.Bitmap.CompressFormat;
import android.hardware.Camera;
import android.hardware.Camera.PictureCallback;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.content.Intent;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Menu;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.SurfaceHolder.Callback;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.Toast;
public class TakePhotoActivity extends Activity {
private SurfaceView mSurfaceView;
private SurfaceHolder mHolder;
protected Camera camera;
private Button start;
private String photoName;
private int window_width;
private int window_height;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Window window = getWindow();
requestWindowFeature(Window.FEATURE_NO_TITLE);//没有标题
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置全屏
getWindow().setFormat(PixelFormat.TRANSLUCENT);//设置半透明
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);//设置高亮
setCo
补充:移动开发 , Android ,