关于a:我的-5-年-Android-学习之路那些年一起踩过的坑

度日如年,光阴似箭,工夫真的过得飞快。加上实习,从事 Android 开发,差不多有 5 年了,在这里,我分享一下我的教训,在 Android 的学习路上,我是站在伟人的肩膀上成长起来的。 大略分为三个局部: 一、Android 职业规划二、Android 学习路线三、如何进入大厂Android 成长生涯 1-3 年前 3 年,我感觉是咱们成长最快的时候。 尤其是刚开始工作的一年,刚开始接触我的项目,咱们会接触到很多新常识,比拟网络框架的封装,Android 架构 MVVM,MVC,MVP 等。 这段期间是咱们提高最快的时候,因为很多货色咱们都不会,咱们会逼着本人去学习。 第二到第三年,也是咱们成长的关键时期。这时候,在我的项目中,咱们根本会本人独立负责需要。这时候的咱们,大多数基本功能都能够本人独立实现。须要留神的是代码格调和代码思维的造就。 代码格调,指的是编码习惯。比方办法命名,办法的正当拆分,适当增加注解,正文。听起来可能会很虚,然而千万别小看这些细节。反正我在组里见过一些工作五六年的,代码一坨一坨的,像 si 一样。 代码思维,有点相似于人的视线和思考形式吧。很多时候,实现某个成果,有很多种计划。咱们为了应酬需要,可能会轻易抉择一种,没有去理解其余计划。而这恰好错过了咱们成长的最佳时期。 记住,永远别给本人设限,或者在编程的路上会遇到很多问题,然而总会有解决办法的,而这取决你的态度。 3-5 年这个期间,不出意外,咱们根本都是高级工程师了。这时候大多数人会遇到瓶颈,不晓得学些什么好。如同什么都会,然而不够深刻。我也遇到这样的状况,当初正在深挖。 这方面我临时也给不了太多意见,只能说,抉择一个方向,静下心来,去学习,置信能播种到咱们想要的。 学习方向有很多,比方 Android 性能优化(启动,卡顿, Crash 治理), JNI C++,gradle 打包,编译速度,音视频等等,这些都是大的方向。 5 年之后大多数技术人,个别会有以下方向。 第一:成为技术大神,比方架构师,及技术专家等。第二:技术治理,比方技术总监等。第三:技术转型,如转项目管理,产品等,你牛逼的话,说不定下一个张小龙就是你(哥们,想多了,那有这么容易)。第四:自主守业,做自媒体等我目前来说,可能会抉择第一条路吧,成为一名技术专家。 在技术的路上,或者会很累,很难,可那又怎么呢 35 岁中年职业危机,很多职业都有,不仅仅局限于程序员。 从实质下面说,本身竞争力降落占很大起因。毕竟,优良的人才从来不短少机会。 既然抉择了,便只顾风雨兼程。 为了将来有更多的抉择,从当初开始,朝着本人的指标努力奋斗吧,书写属于本人的人生。 Android 学习路线上面,说一下 Android 的学习路线,不会很具体,次要是从大的方面来说,感兴趣的能够看一下。 搭建根本的开发环境,敲下 Hello world首先你配置好电脑开发环境。首先须要配置 Java,AndroidStudio 的开发环境。 当初的 IDE 比照几年前的,真的是不便多了,能够主动帮咱们配置好环境变量。还记得当年刚开始配环境的时候,折腾了两三天。在配置变量的时候,有时候英文的逗号输成中文的,在 cmd 窗口输出 Java,始终揭示没有这个命令,一把鼻涕一行泪。 依稀还记得,当配置完环境之后,敲下第一段程序 Hello world 时的那份喜悦。 把握根本的语法和罕用的数据结构第一:你要先把握根本的语法,能够从一些书籍开始学起。跟着书本缓缓敲,从第一个程序 Hello World 缓缓敲起,万丈高楼平地起。 ...

March 26, 2022 · 1 min · jiezi

关于a:a实现文件下载的限制

明天,共事问了我一个问题,她应用a标签的donload属性的写法去实现图片下载,而在chrome浏览器点击链接却是新开标签页而不是下载链接。想通过<a download='...'></a>下载图片资源,必须满足一下其中一个条件: 图片文件与页面不能跨域;或者页面与图片文件跨域,但服务器强制保留文件参考文章Content-Disposition~强制浏览器保留文件Force to download image instead of opening url link to image

January 18, 2022 · 1 min · jiezi

解决H5的a标签的download属性下载service上的文件出现跨域问题

1.通过点击下载多媒体文件(图片/视频/文件等)最简单的方式: <a href='url' download="filename.ext">下载文件</a>如果url指向同源资源,是正常的。如果url指向第三方资源,download会失效,表现和不使用download时一致——浏览器能打开的文件,浏览器会直接打开,不能打开的文件,会直接下载。浏览器打开的文件,可以手动下载。 解决方案一:将文件打包为.zip/.rar等浏览器不能打开的文件下载。解决方案二:通过后端转发,后端请求第三方资源,返回给前端,前端使用file-saver等工具保存文件。  如果url指向的第三方资源配置了CORS,download属性无效,但可以获取文件下载到本地,无法修改修改文件名。2.解决方法1. 借助HTML5 Blob实现文本信息文件下载const downloadRes = async (url, name) => { let response = await fetch(url) // 内容转变成blob地址 let blob = await response.blob() // 创建隐藏的可下载链接 let objectUrl = window.URL.createObjectURL(blob) let a = document.createElement('a') //地址 a.href = objectUrl //修改文件名 a.download = name // 触发点击 document.body.appendChild(a) a.click() //移除 setTimeout(() => document.body.removeChild(a), 1000)}2.图片格式如果我们想下载一张图片,可以把这张图片转换成base64格式,然后下载。```export const downloadImg = async (url, name) => { var canvas = document.createElement('canvas'), ctx = canvas.getContext('2d'), img = new Image(); img.crossOrigin = 'Anonymous'; img.onload = function() { canvas.height = img.height; canvas.width = img.width; ctx.drawImage(img, 0, 0); var dataURL = canvas.toDataURL('image/png'); let a = document.createElement('a'); a.href = dataURL; a.download = name; document.body.appendChild(a); a.click(); setTimeout(() => { document.body.removeChild(a); canvas = null; }, 1000); }; img.src = url;};```

July 15, 2019 · 1 min · jiezi

由a标签点击事件引发的IE8翻车事故

起因对于a标签的点击事件,也许我们早已习惯href=“javascript:void(0);“这样去写,之后绑定click事件来处理,但今天在IE8浏览器下某个页面遇到了很诡异的问题。如果我们点击了某个这个a标签,JavaScript中的点击事件执行之后,页面中的input使用$(‘input’).val()等就取不到值了,使用$(‘form’).serialize()之后相关input的字段也没有值。由此展开了折腾之路。折腾之路使用各种方式取值,都没有获取到input输入框的值,一直以为是取值方式的问题,一直折腾无果,因为在其他浏览器下均正常。如果不点击相关a标签,则可以获取到input输入框的值。在另外的具有placeholder处理的页面中,点击a标签后,input中的placeholder值没有了,因为IE8下的placeholder需要绑定相关事件,因此可以断定点击a标签之后,页面可能存在刷新。果不其然,a标签的href属性即便写为javascript:void(0);仍然会导致页面在IE8下进行某种机制的页面刷新操作。解决方案在每一个这种a标签的点击事件中,添加e.preventDefault()来阻止默认事件即可。潜在风险在添加这行代码之后,对于想跳转的有些a标签可能不能跳转了,那么需要再在事件下面对href进行判断,或者判断这个href是否符合直接跳转的条件,而分别进行阻止默认事件的处理。

March 5, 2019 · 1 min · jiezi