Android_5_学习《第一行代码》的使用摄像头和相册无法显示图片问题解决

解决方法参照网上教程:

学习《第一行代码》的使用摄像头和相册无法显示图片总结

在《第一行代码》的8.3小节调用摄像头和相册时,发现书上把代码敲完后,可以调用摄像头拍照,

勾选确认后回到APP页面时,并没有显示图片,选择相册图片也是一样,可以打开相册,

选中相片返回后也是无法在APP上显示,解决过程如下:

书上原代码:(粘贴自网上)

只说显示的问题吧,注意到进入显示有:

这么一个限定条件,而RESULT_OK = -1 ,那么requestCode是多少呢?前面是switch(requestCode) --> 然后是case TAKE_PHOTO:  而TAKE_PHOTO=1;

结果逻辑就变成这样,当requestCode = TAKE_PHOTO = 1时,进入到case里面,进入case之后, requestCode = 1 != RESULT_OK = -1 所以,

进入不了显示图片的程序里,自然也就无法显示图片了。

同理,选中相册中的相片也是一样,case CHOOSE_PHOTO: 这里CHOOSE_PHOTO = 2; 也不等于 -1 ,所以也无法显示相片。

解决过程:

一开始将case TAKE_PHOTO中的 if ( resultCode == RESULT_OK )

改为 if ( resultCode == RESULT_FIRST_USER) 结果拍照可以显示图片,

但是在case CHOOSE_PHOTO:  中也这样改选图片之后还是不行,

仔细看一下发现RESULT_FIRST_USER = 1;

与TAKE_PHOTO值一样,因此,第一个case可以跑进那个if 里面,第二个不行。

接下来,直接把第二的case中的 if( result == RESULT_OK ) 改为 if ( result == 2 ),

结果选择相片也是可以正常显示了。

到这里问题解决了。

解决完之后正确代码:

该作者还做了个尝试,因为如程序所示,通过switch( resultCode )已经有关于返回结果的删选,

这个if ( resultCode == RESULT_OK )是不是可以去掉?试一下,去调后也是可以正常显示图片的。

原文地址:https://www.cnblogs.com/lyj0123/p/9684898.html

时间: 2024-10-09 02:25:37

Android_5_学习《第一行代码》的使用摄像头和相册无法显示图片问题解决的相关文章

【java学习系列】 Android第一本书《第一行代码》

开始Java的学习,从Android,开始吧.<第一代码>开始阅读和调试demo例子. 下面是 <第一行代码>的思维导图:

20172327 2017-2018-2 《第一行代码Android》第一章学习总结

学号 2017-2018-2 <第一行代码Android>第一章学习总结 教材学习内容总结 - Android系统架构: 1.Linux内核层 Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动,音频驱动,照相机驱动,蓝牙驱动,Wi-Fi驱动,电源管理等. 2.系统运行底层 - 通过一些C/C++库来为Android系统提供了主要的特性支持 库名 功能 SQLite库 提供数据库的支持 OpenGL/ES库 提供3D绘图支持 Webkit

《第一行代码:Android》学习笔记:Activity生命周期

<第一行代码:Android> 郭霖(著) Activity所在的栈为后进先出(Last In First Out)结构. Activity状态 运行状态(S1): 该Activity处于与User交互的状态,即是位于栈顶的Activity. 系统一般不考虑回收该处内存. 暂停状态(S2): Activity不再处于栈顶(Another activity comes in front of the activity),但仍然是可见的. 系统只有在内存极低时才考虑回收内存. 停止状态(S3):

《第一行代码:Android》学习笔记:Activity &amp; Intent

<第一行代码:Android> 郭霖(著) 2.2 Activity的基本用法 隐藏标题栏 在AndroidManifest.xml中配置,作为全局配置,在所有Activity范围内生效 android:theme="@android:style/Theme.NoTitleBar" 在代码中配置,必须在setContentView()前调用该方法,只在当前Activity生效 requestWindowFeature(Window.FEATURE_NO_TITLE); 在s

安卓开发学习经历2--《第一行代码》coolweather项目SQL语句同一个“陷阱”掉两次 注意转义字符等特殊字符正确书写 关于Id字段自增加体会

今天,在运行<第一行代码>coolweather第二阶段代码,又一次报错,还是神奇地与昨天相似,提示,city_id字段不存在,这里我有两种理解,一种是sql语句出错了,另外一种是没有获取city_id值,关于前一种,我在”详细“检查比较了,County表的建表语句后,首先排除了,然后一股脑投入如何解决第二种问题当中,最后,再一次惨痛事实告诉我,以后只要提示“no such column” 的提示,那么毫无疑问,肯定是数据库里面没有这个字段也就是说,sql语句建表那里就出错了.如图: sql语

安卓开发学习历程1——《第一行代码》coolweather项目setOnItemClickListener函数,Sql语句修改对模拟app程序机影响

今天,将<第一行代码>最后实战的coolweather项目,认真做了一遍. 今晚,在书中第一阶段开发代码认眞在Android studio敲完,发现setOnItemClickListener函数按照书中报错,原书如下所示: 但这样,报错,gradel提示该类不存在,现在还不清楚是不是因为作者版本太旧的原因,有待查证,后面,我用了下面方法,就编译通过,如下: 其实,我就是调用了AdapterView里面的OnItemClickListener方法而已. 此外,还发现一个问题,那就是我在grad

学习资料分享(Java第一行代码视频)&lt;susmote.com&gt;

17年买了一本书,第一行代码(JAVA),李兴华编写的. 一开始我是按照书本一页一页的啃,一个点一个点的去学,虽然当时学的有些枯燥,但里面的知识点大部分还是弄的懂,只是一次偶然,因为有点质疑书上写的(或许是我知识浅薄),所以去找跟这本书关联的文件. 进了李兴华老师的群,这时才发现自己买书时附赠了一本光碟,里面是李兴华的java培训视频,跟书上是紧密关联的,才看了几节课,就深入其中不能自拔,好吧废话少说,直接上干货. 视频分为四个部分共15章: 第一部分Java基础知识 第二部分面向对象 第三部分

HTML5&CSS3初学者指南(1) – 编写第一行代码

介绍 网络时代已经到来.现在对人们来说,每天上网冲浪已经成为一种最为常见的行为. 在网页浏览器中输入一段文本地址,就像http://www.codeproject.com,等待一下,网页就加载到浏览器窗口中.一个典型的网页是由文本.图像和链接组成的.除去内容上的差异,不同网站的网页也具有不同的外观和感受,以实现在网络上建立自己的身份品牌的目的. 如果你也曾想要了解你屏幕上的这些网页是如何被创建出并以各式各样的方式渲染的,那么这里正是你可以了解到这些知识的地方.让我们一起走进在浏览器中创建了这么多

Android开发——《第一行代码》自学中

大学时候学过C++,Java,算法,数据结构以及其他很多东西,但都学的不精.就要毕业照工作了,总要专注于一门技术,于是开始学安卓. 开发环境是在慕课网下的eclipse. <第一行代码>这本书我也才只看了不到一半,学到第五章广播,但犯过很多错误,抛出来嘲笑下以前的自己,大家引以为戒. 1 有安卓手机就不要用模拟器 由于各种教程都在使用安卓模拟器,导致我一开始学习也在用.但这个实在是很麻烦,我的电脑本来就是渣配置,模拟器开机就要等一年,开机后点个按钮都要等半天.而且经常卡的我的eclipse都不