欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Android編程實(shí)現(xiàn)調(diào)用相冊(cè)、相機(jī)及拍照后直接裁剪的方法

本文實(shí)例講述了Android編程實(shí)現(xiàn)調(diào)用相冊(cè)、相機(jī)及拍照后直接裁剪的方法。分享給大家供大家參考,具體如下:

成都創(chuàng)新互聯(lián)是專業(yè)的賓陽(yáng)網(wǎng)站建設(shè)公司,賓陽(yáng)接單;提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行賓陽(yáng)網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

package com.cvte.health.phone;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.ContentUris;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import com.cvte.health.AccountManager;
import com.cvte.health.HealthApplication;
import com.cvte.health.R;
import com.cvte.health.api.ImageUpdater;
import com.cvte.health.database.User;
public class ChangePortraitActivity extends Activity {
  private ImageView mImageView;
  private Button mButtonCamera;
  private Button mButtonPhoto;
  private Button mButtonBack;
  private Button mButtonSave;
  private User mUser = null;
  private File mCurrentPhotoFile;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_change_portrait);
    HealthApplication.getInstance().addActivity(this);
    mUser = AccountManager.getInstance().getCurrentUser();
    mImageView = (ImageView) this.findViewById(R.id.imageview_preview);
    mButtonCamera = (Button) this.findViewById(R.id.button_cameraButton);
    mButtonPhoto = (Button) this.findViewById(R.id.button_photoButton);
    mButtonBack = (Button) findViewById(R.id.button_back);
    mButtonSave = (Button) findViewById(R.id.button_save);
    ImageUpdater.getInstance(this).updateUserPhoto(mUser, mImageView);
    mButtonCamera.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
        mCurrentPhotoFile = new File("mnt/sdcard/DCIM/Camera/",
            getPhotoFileName());
        intent.putExtra(MediaStore.EXTRA_OUTPUT,
            Uri.fromFile(mCurrentPhotoFile));
        startActivityForResult(intent, Activity.DEFAULT_KEYS_DIALER);
        /*
         * Intent intent = new
         * Intent("android.media.action.IMAGE_CAPTURE");
         * intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new
         * File(Environment .getExternalStorageDirectory(),
         * "camera.jpg")));
         * intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
         * startActivityForResult(intent, 10);
         */
      }
    });
    mButtonPhoto.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
        intent.addCategory(Intent.CATEGORY_OPENABLE);
        intent.setType("image/*");
        intent.putExtra("crop", "true");
        intent.putExtra("aspectX", 1);
        intent.putExtra("aspectY", 1);
        intent.putExtra("outputX", 300);
        intent.putExtra("outputY", 300);
        intent.putExtra("return-data", true);
        startActivityForResult(intent, 11);
      }
    });
    mButtonBack.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        finish();
      }
    });
    mButtonSave.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        Intent intent = new Intent(ChangePortraitActivity.this,
            UserProfileActivity.class);
        mImageView.setDrawingCacheEnabled(Boolean.TRUE);
        intent.putExtra("BITMAP", mImageView.getDrawingCache()); // 這里可以放一個(gè)bitmap
        startActivity(intent);
        finish();
        overridePendingTransition(R.anim.activity_in_from_left,
            R.anim.activity_out_from_right);
      }
    });
  }
  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == 10 && resultCode == Activity.RESULT_OK) {
      mImageView.setImageDrawable(Drawable.createFromPath(new File(
          Environment.getExternalStorageDirectory(), "camera.jpg")
          .getAbsolutePath()));
    } else if (requestCode == 11 && resultCode == Activity.RESULT_OK) {
      Bitmap cameraBitmap = (Bitmap) data.getExtras().get("data");
      mImageView.setImageBitmap(cameraBitmap);
    } else if (requestCode == 1 && resultCode == Activity.RESULT_OK) {
      Uri imgUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
      ContentResolver cr = ChangePortraitActivity.this
          .getContentResolver();
      Uri fileUri = Uri.fromFile(mCurrentPhotoFile);
      sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,
          fileUri));
      try {
        Thread.sleep(3000);
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
      Cursor cursor = cr.query(imgUri, null,
          MediaStore.Images.Media.DISPLAY_NAME + "='"
              + mCurrentPhotoFile.getName() + "'", null, null);
      Uri uri = null;
      if (cursor != null && cursor.getCount() > 0) {
        cursor.moveToLast();
        long id = cursor.getLong(0);
        uri = ContentUris.withAppendedId(imgUri, id);
      }
      final Intent intent = new Intent("com.android.camera.action.CROP");
      intent.setDataAndType(uri, "image/*");
      intent.putExtra("crop", "true");
      intent.putExtra("aspectX", 1);
      intent.putExtra("aspectY", 1);
      intent.putExtra("outputX", 300);
      intent.putExtra("outputY", 300);
      intent.putExtra("return-data", true);
      ChangePortraitActivity.this.startActivityForResult(intent, 3);
    } else if (requestCode == 3 && resultCode == Activity.RESULT_OK) {
      Bitmap cameraBitmap = (Bitmap) data.getExtras().get("data");
      mImageView.setImageBitmap(cameraBitmap);
    }
  }
  private String getPhotoFileName() {
    Date date = new Date(System.currentTimeMillis());
    SimpleDateFormat dateFormat = new SimpleDateFormat(
        "'IMG'_yyyyMMdd_HHmmss");
    return dateFormat.format(date) + ".jpg";
  }
}

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android拍照與圖片處理技巧總結(jié)》、《Android圖形與圖像處理技巧總結(jié)》、《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android調(diào)試技巧與常見(jiàn)問(wèn)題解決方法匯總》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

文章題目:Android編程實(shí)現(xiàn)調(diào)用相冊(cè)、相機(jī)及拍照后直接裁剪的方法
網(wǎng)站鏈接:http://chinadenli.net/article46/joiceg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、響應(yīng)式網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站制作營(yíng)銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
国产国产精品精品在线| 国产一区欧美一区日韩一区| 在线欧美精品二区三区| 亚洲中文字幕综合网在线| 成人午夜免费观看视频| 久久精品久久久精品久久| 欧美特色特黄一级大黄片| 丝袜诱惑一区二区三区| 欧美精品专区一区二区| 精品少妇人妻av免费看| 久久经典一区二区三区| 91久久国产福利自产拍| 亚洲国产色婷婷久久精品| 国产一二三区不卡视频| 午夜精品福利视频观看| 少妇熟女精品一区二区三区| 激情爱爱一区二区三区| 亚洲中文字幕综合网在线| 国产日韩综合一区在线观看| 成人精品一区二区三区综合| 欧美有码黄片免费在线视频| 国产日韩欧美一区二区| 成人日韩视频中文字幕| 国产欧美日本在线播放| 亚洲欧洲成人精品香蕉网| 国产精品白丝久久av| 国产一区欧美一区日本道| 果冻传媒精选麻豆白晶晶| 亚洲欧美日本成人在线| 日韩欧美国产精品中文字幕| 国产亚洲精品俞拍视频福利区| 亚洲精品中文字幕在线视频| 色无极东京热男人的天堂| 欧美做爰猛烈叫床大尺度| 欧美国产在线观看精品| 人妻露脸一区二区三区| 久久福利视频视频一区二区 | 成人精品网一区二区三区| 黄色国产自拍在线观看| 日韩黄色一级片免费收看| 精品视频一区二区不卡|