Android进阶之路 - 解决部分手机拍照之后图片被旋转的问题-淘姐妹-

{site_name}

{site_name}

🌜 搜索

Android进阶之路 - 解决部分手机拍照之后图片被旋转的问题

▥ 𝄐 0
<br> <div> <div> <div> el/<span>2023/9/18 13:38:52</span></span> </div> </div> <div> <div><div><div><blockquote> <p>这几天犯了一个错误&#xff0c;初期想着甩锅给后台的&#xff0c;但是还好及时发现了是自身的问题~</p> </blockquote> <p><strong>关联文章</strong></p> <ul><li>Android进阶之路 - 拍照之照片回传&#xff08;初级版&#xff09;</li><li>Android进阶之路 - 调用相册内照片&#xff08;初级版&#xff09;</li><li>Android进阶之路 - 解决部分手机拍照之后图片被旋转的问题</li><li>拍照、相册常用 uri、path、file转换方式</li></ul> <p><strong>整篇思考</strong></p> <ul><li> <p>产生问题&#xff1a;通过拍照或相册回传的照片&#xff0c;直接传入后台&#xff0c;在用于展示的时候&#xff0c;照片角度出现问题&#xff0c;均不规则的旋转了90度&#xff0c;从而导致体验效果变差&#xff01;</p> </li><li> <p>问题思考&#xff1a;后台一般都是你怎么存的&#xff0c;它怎么给你拿出来&#xff01;所以在这里就可以发现问题本身是由我们前端造成的&#xff01;</p> </li><li> <p>覆盖范围&#xff1a;图片被旋转的情况并不是百分百出现在每个机型上&#xff0c;只是会出现在某一部分机型之上&#xff0c;但是本着兼容的原则&#xff0c;我们只有逐个处理</p> </li><li> <p>解决方法&#xff1a;找了大约五篇博文左右&#xff0c;我找到了最懒也是最简单有效的方法&#xff0c;主要来自此篇文章&#xff0c;之所以没有转载而且署名原创的原因是因为更全面记录自己遇到的问题、场景、思路~</p> </li></ul> <p>主要代码部分&#xff0c;已全局进行了注释 (os&#xff1a;我想不会有比我还笨的人&#xff0c;加油把~)</p> <ul><li>拍照</li></ul> <ul><li>相册选取</li></ul> <ul><li>重写onActi【【微信】】&#xff08;此时照片已经回传&#xff0c;我们在这里进行图片处理&#xff09;</li></ul> <ul><li>PhotoBitmapUtils&#xff08;主要工具类&#xff09;&#xff1a;</li></ul> <p><strong>ImageUtil</strong></p> </div></div></div> </div> </div> <h4> 相关文章</h4> <div> <div> <div> <div> 在拍照和相册功能中经常能遇到一些uri、path、file的相互转换问题&#xff0c;这里主要记录一些常规使用~ 关联文章 Android进阶之路 - 拍照之照片回传&#xff08;初级版&#xff09;Android进阶之路 - 调用相册内照片&#xff08;初级版&#xff09;Android进阶之路 - 解决部… </div> <div> 阅读更多... </div> </div> </div> </div> <div> <div> <div> <div> 此篇文章随就业时间而成长~ 杀死该应用进程特殊字符转义杀死该应用进程 android.os.Process.killProcess(android.os.Process.myPid());特殊字符转义 单引号 &apos; 双引号 &quot; &quot; 大于号 &gt; &gt; 小于号 &lt; &lt; 与 &… </div> <div> 阅读更多... </div> </div> </div> </div> <div> <div> <div> <div> 偶然发现的以下这种方式进行资源查看&#xff0c;只需通过我们项目的apk进行AndroidStudio自带资源解析既可 ~ PS&#xff1a;这个技巧&#xff0c;在我在看来主要是用于指明项目优化方向的~ 步骤 1&#xff1a;build - Analyze APK 步骤 2&#xff1a;选取对应的apk用于查看… </div> <div> 阅读更多... </div> </div> </div> </div> <div> <div> <div> <div> 这里仅记录我在使用UMeng&#xff08;友盟&#xff09;平台遇到的问题 QQ无法分享纯文本QQ无法分享图片&#xff0c;且直接走了Cancel的回调QQ分享截取View的【【微信】】&#xff0c;多次点击分享无效&#xff0c;且Debug时【【微信】】返回为nullQQ无法分享纯文本 解决方式&#xff1a; … </div> <div> 阅读更多... </div> </div> </div> </div> <div> <div> <div> <div> 起由 &#xff1a;因为开发中build项目失败&#xff0c;提示了Gradle相关问题 &#xff1b;所以在好奇心的驱使之下&#xff0c;抽时间好好梳理了一下Gradle方面的知识 - -~ Gradle 相关 Android Gradle - Gradle、Gradle plugin 基础认知Android Gradle - AndroidStudio 中 G… </div> <div> 阅读更多... </div> </div> </div> </div> <div> <div> <div> <div> 在项目开发中需向三方平台实时分享当前界面截图&#xff0c;所以需要截图当前某些view控件&#xff0c;从而保存将其保存本地后&#xff0c;进行三方分享&#xff0c;最终造就了此篇来源 关联篇 花样百出的截屏需求View、【【微信】】实时截图、截屏项目全局动态实时截屏&#xff… </div> <div> 阅读更多... </div> </div> </div> </div> <div> <div> <div> <div> 一切记录&#xff0c;来源于实际开发~ 诉求 UI效果图&#xff08;蓝湖&#xff09; UI标注的透明度 &#xff08;蓝湖&#xff09; RGB、ARGB概念与区别 PS&#xff1a;字母缩写代表的十六进制数之前需要一个“#” RGB代表三原色&#xff08;常见3位/6位 如&#xff1a;… </div> <div> 阅读更多... </div> </div> </div> </div> <div> <div> <div> <div> 类似文章在CSDN上有很多&#xff0c;但是几经查找之后原文其实产于简书的一位作者&#xff1b; 综合几篇文章&#xff0c;在原有基础上我会尽可能全面总结一下 效果图 实现思路 通过重写控件的onTouchEvent方法监听触摸效果通过View的setX()和setY()方法实现移动使用属性动画… </div> <div> 阅读更多... </div> </div> </div> </div> <div> <div> <div> <div> 评价功能一般在B2C开发中期经常见到&#xff0c;故此做一记录&#xff0c;方便日后使用 ~ 实现效果准备部分核心部分使用部分实现效果 准备部分 res - 【【微信】】 添加自定义控件的自定义属性 &lt;?xml 【【微信】】&quot;1.0&quot; 【【微信】】&quot;utf-8&quot;?&gt; &lt;res… </div> <div> 阅读更多... </div> </div> </div> </div> <div> <div> <div> <div> 此篇应该算一个基础的自定义控件入门&#xff0c;内部没有去写自定义属性 ~ 目录 实现效果了解部分核心部分使用部分实现效果 了解部分 创建画笔 Paint paint new Paint();画笔颜色 paint.setColor(Color.parseColor(&quot;#【【微信】】&quot;));设置画笔样式&#xff0c;如果不设… </div> <div> 阅读更多... </div> </div> </div> </div> <br><br><h1 style="font-size: 38px;color: #4d4f53;">android studio拍照技术介绍 android camera surfaceview</h1><br> <div> <div> <div> el/<span>2023/9/18 14:56:19</span></span> </div> </div> <div> <div><div><div><p>实现手机拍照的功能使用SurfaceView&#43;【【微信】】 可以在cmd命令中查询是图片&#xff0c;我这里是用当前系统时间作为图片的名字&#xff0c;用Log.i进行打印测试是否保存图片成功</p> <p> 首先在清单文件中配置获取手机摄像头以及照片储存的权限&#xff1a;</p> <p>acti【【微信】】.xml</p> <p>MainActivity.java</p> </div></div></div> </div> </div> <h4> 相关文章</h4> <div> <div> <div> <div> 实现录像的前提是必须获取的手机的摄像头&#xff0c;这里我只获取了后置摄像头 这些都需要早在清单文件中 &lt;!-- 添加使用摄像头的权限 --&gt;&lt;uses-permission 【【微信】】:name&quot;【【微信】】.permission.CAMERA&quot; /&gt;&lt;!-- 创建文件的权限 --&gt;&lt;uses-permi… </div> <div> 阅读更多... </div> </div> </div> </div> <div> <div> <div> <div> 以下是我利用AlarmManagerBroadcastReceiver实现闹钟的功能&#xff0c;以及通过广播来实现通知&#xff0c;这里我的闹铃是存放在内存raw中&#xff0c;并不需要在清单文件中获取权限 acti【【微信】】.xml &lt;?xml version&quot;1.0&quot; 【【微信】】&quot;utf-8&quot;?&gt;… </div> <div> 阅读更多... </div> </div> </div> </div> <div> <div> <div> <div> 解析json如同解析xml一样&#xff0c;步骤差不多&#xff0c;详情可以看我上一篇解析xml的步骤&#xff0c;这里是在生成json中有不同&#xff0c;这里列举了原生态&#xff0c;gson,FastJson三种方式&#xff1a; 依旧首先是在eclipse中生成json 首先getData.jsp &lt;% p… </div> <div> 阅读更多... </div> </div> </div> </div> <div> <div> <div> <div> 以下是整理的一些框架原理及使用方法&#xff0c;有是从别的博客阅读过来的&#xff0c;以供了解&#xff1a; 一.AsyncHttpClient 简介 Android中网络请求一般使用Apache HTTP Client或者采用HttpURLConnect&#xff0c;但是直接使用这两个类库需要写大量的代码才能完成网络… </div> <div> 阅读更多... </div> </div> </div> </div> <div> <div> <div> <div> 在项目开发过程中我们经常会遇到编码问题&#xff0c;除了使 用utf-8之外&#xff0c;在ssm框架基础上出现页面乱码问题&#xff0c;我们可以通过在web.xml中加入【【微信】】过滤器的方式解决&#xff1a; &lt;!-- 过滤器 解决utf-8乱码 --&gt;&lt;filter&gt;&lt;filter-name&gt;enc… </div> <div> 阅读更多... </div> </div> </div> </div> <div> <div> <div> <div> 一&#xff1a;Git是什么&#xff1f; Git是目前世界上最先进的分布式版本控制系统。 Git 版本控制器就是注册github之后以命令的方式创建一个版本库&#xff0c;将我们的项目放在版本库中&#xff0c;通过命令git add 文件名&#xff0c;以及git commit将文件提交到版本库中… </div> <div> 阅读更多... </div> </div> </div> </div> <div> <div> <div> <div> 在传值过程中&#xff0c;经常会碰到中文乱码的问题&#xff0c;处理我上篇文章中在web.xml中加入过滤器之外&#xff0c;还有一种更彻底的方法&#xff1a; 配置tomcat目录下的service.xml文件【【微信】】/conf/server.xml 给该行代码加上 【【微信】】”UTF-8” 的编码属性 &lt;… </div> <div> 阅读更多... </div> </div> </div> </div> <div> <div> <div> <div> 在项目开发过程中时常会碰到启动项目是报io异常的问题&#xff0c;虽然它不会影响项目的运行&#xff0c;并且还是偶发性的问题&#xff1b;下面是我的解决方案&#xff1b; 首先找到你本地Tomcat路径下的context.xml 将 &lt;Manager className&quot;org.【【微信】】.catalina.se… </div> <div> 阅读更多... </div> </div> </div> </div> <div> <div> <div> <div> 在很多编写代码的过程中都会涉及到需要生成随机数&#xff0c;其中已生成6位的短信随机数较多&#xff0c;一下是我分享的两个案例。一、这是以【【微信】】的方式生成6位数&#xff0c;其中参数 num 是指你想要生成的几位随机数 import java.util.【【微信】】;public class Test {public… </div> <div> 阅读更多... </div> </div> </div> </div> <div> <div> <div> <div> 一、SHA 家族成员编辑 SHA家族的五个算法&#xff0c;分别是SHA-1、SHA-224、SHA-256、SHA-384&#xff0c;和SHA-512&#xff0c;由美国国家安全局&#xff08;NSA&#xff09;所设计&#xff0c;并由美国国家标准与技术研究院&#xff08;NIST&#xff09;发布&#xff1b;… </div> <div> 阅读更多... </div> </div> </div> </div>