- 浏览: 98390 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
sincerehui:
android二维码的编码与解码(图片解码与摄像头解码) -
nyh1006:
学习一下!
UIScrollView循环滚动 -
bravewly:
为啥扫不出结果呢?是我扫的方式不对么?
android二维码的编码与解码(图片解码与摄像头解码) -
messigoogle:
我说您这个也是跟eoe上的差不多吧,加载的Assert中的图片 ...
android瀑布流 -
gundumw100:
LazyScrollView是偶写的。欢迎使用。呵呵。http ...
android瀑布流
/*用来标识请求照相功能的activity*/ private static final int CAMERA_WITH_DATA = 3023; /*用来标识请求gallery的activity*/ private static final int PHOTO_PICKED_WITH_DATA = 3021; /*拍照的照片存储位置*/ private static final File PHOTO_DIR = new File(Environment.getExternalStorageDirectory() + "/DCIM/Camera"); private File mCurrentPhotoFile;//照相机拍照得到的图片
private void doPickPhotoAction() { Context context = EditContact.this; // Wrap our context to inflate list items using correct theme final Context dialogContext = new ContextThemeWrapper(context, android.R.style.Theme_Light); String cancel="返回"; String[] choices; choices = new String[2]; choices[0] = getString(R.string.take_photo); //拍照 choices[1] = getString(R.string.pick_photo); //从相册中选择 final ListAdapter adapter = new ArrayAdapter<String>(dialogContext, android.R.layout.simple_list_item_1, choices); final AlertDialog.Builder builder = new AlertDialog.Builder( dialogContext); builder.setTitle(R.string.attachToContact); builder.setSingleChoiceItems(adapter, -1, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); switch (which) { case 0:{ String status=Environment.getExternalStorageState(); if(status.equals(Environment.MEDIA_MOUNTED)){//判断是否有SD卡 doTakePhoto();// 用户点击了从照相机获取 } else{ showToast("没有SD卡"); } break; } case 1: doPickPhotoFromGallery();// 从相册中去获取 break; } } }); builder.setNegativeButton(cancel, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.create().show(); } } /** * 拍照获取图片 * */ protected void doTakePhoto() { try { // Launch camera to take photo for selected contact PHOTO_DIR.mkdirs();// 创建照片的存储目录 mCurrentPhotoFile = new File(PHOTO_DIR, getPhotoFileName());// 给新照的照片文件命名 final Intent intent = getTakePickIntent(mCurrentPhotoFile); startActivityForResult(intent, CAMERA_WITH_DATA); } catch (ActivityNotFoundException e) { Toast.makeText(this, R.string.photoPickerNotFoundText, Toast.LENGTH_LONG).show(); } } public static Intent getTakePickIntent(File f) { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE, null); intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f)); return intent; } /** * 用当前时间给取得的图片命名 * */ private String getPhotoFileName() { Date date = new Date(System.currentTimeMillis()); SimpleDateFormat dateFormat = new SimpleDateFormat( "'IMG'_yyyy-MM-dd HH:mm:ss"); return dateFormat.format(date) + ".jpg"; } // 请求Gallery程序 protected void doPickPhotoFromGallery() { try { // Launch picker to choose photo for selected contact final Intent intent = getPhotoPickIntent(); startActivityForResult(intent, PHOTO_PICKED_WITH_DATA); } catch (ActivityNotFoundException e) { Toast.makeText(this, R.string.photoPickerNotFoundText1, Toast.LENGTH_LONG).show(); } } // 封装请求Gallery的intent public static Intent getPhotoPickIntent() { Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null); intent.setType("image/*"); intent.putExtra("crop", "true"); intent.putExtra("aspectX", 1); intent.putExtra("aspectY", 1); intent.putExtra("outputX", 80); intent.putExtra("outputY", 80); intent.putExtra("return-data", true); return intent; } // 因为调用了Camera和Gally所以要判断他们各自的返回情况,他们启动时是这样的startActivityForResult protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode != RESULT_OK) return; switch (requestCode) { case PHOTO_PICKED_WITH_DATA: {// 调用Gallery返回的 final Bitmap photo = data.getParcelableExtra("data"); // 下面就是显示照片了 System.out.println(photo); //缓存用户选择的图片 img = getBitmapByte(photo); mEditor.setPhotoBitmap(photo); System.out.println("set new photo"); break; } case CAMERA_WITH_DATA: {// 照相机程序返回的,再次调用图片剪辑程序去修剪图片 doCropPhoto(mCurrentPhotoFile); break; } } } protected void doCropPhoto(File f) { try { // 启动gallery去剪辑这个照片 final Intent intent = getCropImageIntent(Uri.fromFile(f)); startActivityForResult(intent, PHOTO_PICKED_WITH_DATA); } catch (Exception e) { Toast.makeText(this, R.string.photoPickerNotFoundText, Toast.LENGTH_LONG).show(); } } /** * Constructs an intent for image cropping. 调用图片剪辑程序 */ public static Intent getCropImageIntent(Uri photoUri) { Intent intent = new Intent("com.android.camera.action.CROP"); intent.setDataAndType(photoUri, "image/*"); intent.putExtra("crop", "true"); intent.putExtra("aspectX", 1); intent.putExtra("aspectY", 1); intent.putExtra("outputX", 80); intent.putExtra("outputY", 80); intent.putExtra("return-data", true); return intent; }
发表评论
-
实现ScrollView的嵌套
2012-12-27 10:39 2203今天忽然需要写两个ScrollView嵌套,如: &l ... -
Android4.0新的SDK新特性 (汉化)
2012-10-31 15:40 1399Android 4.0 是一次重要的平台发布版,为用户和 ... -
Fragments (Android官方文档中文版)
2012-10-30 15:44 964原作者为: 苍山。感谢他分享的内容 概述 ... -
仿iphone实现两个view切换翻转动画
2012-10-26 14:59 2422看那些iPhone的view的切换效果非常帅,今天研究了一下从 ... -
android瀑布流
2012-10-26 10:54 2512今天研究了一下瀑布流,来说一下我实现它的方法。 看一下 ... -
android二维码的编码与解码(图片解码与摄像头解码)
2012-10-24 17:43 3873今天上网找了找可以从图片解析二维码 ,而不是从摄像头,找了半天 ... -
Android 连接WIF获取的信息剖析
2012-10-10 13:48 1189Android的参数大致分成两块:系统服务参数和平台系统 ... -
android使用字体库更改字体
2012-07-27 15:34 1434TextView tv = (TextView) thi ... -
Android代码混淆的实践
2012-07-11 12:46 968开发 apk 的时候当然要考虑保护好自己的代码,Android ... -
给Android的音量按钮添加监听事件
2012-07-09 17:02 1393@Override public boolean onK ... -
去掉listview背景变黑和顶底部边缘模糊
2012-06-29 17:24 1226listview在滚动是背景变黑:android:cacheC ... -
Android 在OnCreate()中获取控件高度与宽度
2012-06-20 17:01 2950试过在OnCreate()中获取控件高度与宽度的童鞋都知道,g ... -
android EditText插入字符串到光标所在位置
2012-03-07 14:01 2210EditText mEditText = (EditText) ... -
android tabactivity view切换edittext不弹出软键盘的解决方案
2011-12-21 12:03 2158public void onFocusChange(View ... -
更改CheckBox的样式
2011-12-13 08:43 2410首先在styles.xml添加如下的自定义样式: <s ... -
Android中RatingBar的自定义效果
2011-11-16 10:14 1547有时候android系统提供给我们的ratingbar效果 ... -
TabHost点击按钮布局改变
2011-11-15 09:48 1093main.xml <?xml version=&quo ... -
android获得控件在屏幕中的绝对坐标
2011-11-10 12:56 2628int[] location = new int[2] ; ... -
手势识别
2011-11-10 09:29 907[功能] 何为手势识别? 比如:你在屏幕上从左至右划出的一个动 ... -
Android px和dip以及sp的区别及转换代码
2011-11-09 16:11 1653/** * 根据手机的分辨率从 dp 的单位 转成为 px ...
相关推荐
在Android开发中,调用相机拍照和选择相册...总结,Android Studio调用相机拍照和选择相册照片,主要涉及权限管理、启动相机Intent、处理返回结果以及图片的存储操作。对于更复杂的相机功能,可以深入研究Camera2 API。
在Android应用开发中,调用...总之,Android调用系统相机和相册并不复杂,只需要理解Intent的工作原理以及如何与系统服务进行交互。遵循这些步骤,开发者可以轻松实现拍照和图片多选功能,而无需引入额外的第三方库。
这个资源包“Android中照相,从相册选取照片,android拍照或从相册选择,Java源码.zip”提供了一些Java源代码,帮助开发者实现这些功能。下面将详细介绍如何在Android应用中集成拍照和从相册选择图片的流程。 1. **...
在Android应用开发中,仿照微信实现拍照或从相册选取照片并发送动态是一项常见的功能。这个过程涉及到了多个Android SDK中的关键组件和技术,包括权限管理、意图(Intent)使用、图片选择、图片处理和上传等。下面...
【TakePicture】项目分为两大部分...实测:android 8、9、10、11、13以及鸿蒙系统有效。 机型:小米、OPPO、VIVO、华为手机。 1. 上传头像并裁剪。 2. 上传多张照片并做压缩处理,图片可实现在线预览,伸缩放大等功能。
在Android应用开发中,提供用户调用照相机拍照...以上就是关于“android调用照相机拍照与选择本地照片功能”的核心知识点,开发者在实现这些功能时,需要注意优化用户体验,合理管理文件,以及遵循Android的最佳实践。
总结一下,仿QQAndroid调用摄像头拍照和从相册选择图片涉及的知识点包括: 1. 使用Intent启动相机应用和系统相册。 2. 在onActivityResult中处理返回的数据。 3. 图片的获取、处理和显示,包括Bitmap的操作。 4. ...
本文将深入探讨如何在Android应用中实现拍照、从相册选取照片以及进行文件管理的操作,主要针对Java语言编写的应用。 首先,我们要了解Android权限管理。在Android 6.0(API级别23)及以上版本,应用需要在运行时...
在Android应用开发中,用户经常需要通过拍照或者从相册选取照片,并且有时需要对选取的照片进行裁剪,以满足特定尺寸的要求。这个过程涉及到图片处理的重要知识点,包括图像选择、图片裁剪以及关注分辨率。以下是对...
本项目标题为“android照相机相册选择,可以多选”,说明它实现了在Android平台上让用户能够通过自定义的方式,不仅能够使用相机拍摄照片,还能够从相册中选取多张图片,并且具备删除已选择图片的功能。这一特性极大...
在Android应用开发中,调用相机和相册是常见的功能,允许用户拍摄照片或选择已有的图片进行操作。本文将详细介绍两种方法,一种基于郭霖的教程,另一种是经过优化可兼容小米设备的方法。 首先,我们来看郭霖教程中...
在Android应用开发中,涉及到用户交互的一个常见任务是允许用户通过拍照或从相册选取照片,并对其进行裁剪,以满足特定尺寸或比例的需求。这里我们将深入探讨如何在Android 7.0及更高版本中实现这一功能,同时确保...
在"Android zxing二维码扫描 从相册选择二维码识别"这个主题中,我们将深入探讨如何利用ZXing库实现在Android应用中进行二维码的扫描和识别,以及如何从相册选取图片进行识别。 首先,为了在Android应用中使用ZXing...
Delphi XE5 Android 调用照相机获取拍的照片 Delphi XE5 是一款功能强大且流行的开发环境,它提供了许多优秀的功能,包括对 Android 平台的支持。在 Android 平台上,Delphi XE5 提供了许多有用的组件和 API,允许...
至此,我们就实现了在Android应用中调用相机拍照、从相册选取照片以及对图片进行裁剪的功能。`readme.txt`文件可能是对这个过程的简单说明或使用步骤,帮助开发者更好地理解代码实现。 在实际项目中,可以根据需求...
本项目"Android-修改用户头像仿ios底部弹框从手机相册选择拍照"旨在实现一个与iOS类似的功能,即在Android系统上提供一个底部弹出框,让用户能够通过选择相册中的图片或者直接拍照来更新他们的头像。以下是对这个...
android7.0拍照或相册选择照片并裁剪 如果您觉得我的代码还行,并使用我的代码,请给我的资源5星评价,这是对我最大的支持。也让更多的android开发者可以用到。 感谢郭霖,感谢...
本文将详细讲解如何在Android的Webview中调用相册和拍照功能,以实现H5与原生Android应用的深度集成。 首先,我们需要了解`WebView`的基本用法。`WebView`是Android SDK中的一个类,它可以加载URL,展示HTML页面,...
通过以上步骤,我们可以实现Android应用中从相机拍照和从相册选择图片的功能,并将选中的图片显示在`ImageView`上。这在很多应用中都是基础且常用的功能,因此理解和掌握这部分知识对于Android开发者来说至关重要。
在Android平台上,为用户提供拍照和从...总的来说,Android中的拍照和相册选择照片功能涉及`Intent`的使用、相机服务的调用、相册数据的读取以及权限管理。通过这些知识点,开发者可以为用户提供完整的图片获取体验。