package com.jqyd.camera;
import java.io.File;
import com.jqyd.camera.AccessoryDTO;
import com.jqyd.camera.PhotoUtil;
import com.jqyd.camera.TopBarUtil;
import com.jqyd.camera.UIUtil;
import com.jqyd.manager.R;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
public class AddPhotoActivity extends Activity {
/**
* 负责定义页面数据变量
*/
private AccessoryDTO photo;
/**
* 负责定义页面显示控件变量
*/
private Button btn_Ok;
private Button btn_Concel;
private Button btn_Photograph;
private Button btn_ChoosePhoto;
private ImageView Photo_Display;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 初始化界参数
initPara();
// 初始化界面控件
initUI();
// 添加事件监听
regListener();
// 初始化界面数据
showData();
}
/**
* 初始化界参数
*/
public void initPara() {
photo=PhotoUtil.photo;
photo.setType(AccessoryDTO.AccessoryType.image.getCode());
}
/**
* 初始化界面控件
*/
public void initUI() {
//setContentView(R.layout.photos_add);
UIUtil.initFrameContentView(this, R.layout.photos_add);
//初始化标题栏
View topbar = (View)findViewById(R.id.incTopBar);
String title="添加图片";
TopBarUtil.setup(topbar, title);
//设置回退按钮处理程序
TopBarUtil.setBackClick(topbar, new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
AddPhotoActivity.this.finish();
}
});
// 获取控件
btn_Ok = (Button) findViewById(R.id.btn_ok);
btn_Concel = (Button) findViewById(R.id.btn_cancel);
btn_Photograph = (Button) findViewById(R.id.btn_Photograph);
btn_ChoosePhoto = (Button) findViewById(R.id.btn_ChoosePhoto);
Photo_Display = (ImageView) findViewById(R.id.Color_Display);
}
/**
* 添加事件监听
*/
public void regListener() {
//拍照按钮处理程序
btn_Photograph.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
PhotoUtil.startSysCamera(AddPhotoActivity.this);
}
});
//选择照片按钮处理程序
btn_ChoosePhoto.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
PhotoUtil.chooseSysPhoto(AddPhotoActivity.this);
}
});
//完成按钮,保存数据,并返回
btn_Ok.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Save();
}
});
//放弃当前操作,直接返回
btn_Concel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
File file = new File(PhotoUtil.getPhotoPath());
if (file.exists()) {
file.delete();
}
UIUtil.finishFunction(AddPhotoActivity.this);
}
});
}
/**
* 初始化界面数据
*/
public void showData() {
//显示图片
PhotoUtil.showPicture(AddPhotoActivity.this,Photo_Display,photo,200,200);
}
/**
* 保存数据
*/
public void Save() {
if(!PhotoUtil.isPhotoing){
UIUtil.showMsg(AddPhotoActivity.this, "还没有拍照哦!请先拍照");
}else{
PhotoUtil.isPhotoing=false;
Intent intent = new Intent();
intent.putExtra("m", photo);
setResult(RESULT_OK, intent);
UIUtil.finishFunction(AddPhotoActivity.this);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PhotoUtil.REQUEST_Photograph) {
if(resultCode == RESULT_OK){
//如果存储卡可用,读取存储卡上图片,否则处理返回缩略图
if(PhotoUtil.isHasSdcard()){
String filepath = PhotoUtil.getPhotoPath();
//存储图片对象
photo.setPath(filepath);
photo.setName(PhotoUtil.PhotoName);
PhotoUtil.showPicture(AddPhotoActivity.this,Photo_Display,photo,200,200);
PhotoUtil.isPhotoing=true;
}
}else{
UIUtil.showMsg(AddPhotoActivity.this, "取消拍照");
}
}else if (requestCode == PhotoUtil.REQUEST_ChoosePicture) {
if(resultCode == RESULT_OK){
Uri uri = data.getData();
String path=PhotoUtil.getPhotoPath(AddPhotoActivity.this,uri);
photo.setPath(path);
File f=new File(path);
if(f.exists()){
//存储图片对象
photo.setName(PhotoUtil.PhotoName);
photo.setName(f.getName());
PhotoUtil.showPicture(AddPhotoActivity.this,Photo_Display,photo,200,200);
}else{
UIUtil.showMsg(AddPhotoActivity.this, "照片选择失败");
}
}else{
UIUtil.showMsg(AddPhotoActivity.this, "取消选择照片");
}
}
}
}