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, "取消选择照片"); } } } }