暂时未有相关云产品技术能力~
某监控设备方案公司安卓开发工程师,安卓开发积极分子
今天就让我们开启源码共读的篇章吧,希望这不同的眼界探索可以在这截然不同的领域会有所收获,为自身技术带来启发。
Flutter是多平台开发的利器,我在半年前和技术交流群就接触到了,但一直没有去主动学习,但为了未来的长足发展,还是去认真学习一下
本篇将进一步看看文件存储是怎么用的。
随着工作的不断深入,作者最近接触到了给APP换UI的需求,看着花里胡哨的新UI,想起了我之前无意在某设计网站上碰到的新词——高级设计感,紧接着,作者又在开发中发现了Google提出的Material Design
生命不止,学习不息,相信数据库在掘友们那早已不是个陌生的字眼,但它的确在每个领域都绽放着自己与众不同的形式,而我们安卓开发也有着不一样的数据库存储方式,学习它就宛如迈进一个新世界大门,今天就让我们来了解这个异世界的奇妙之处。
上一篇(安卓开发必备——build.gradle文件初探(一) - 掘金 (juejin.cn))我们探讨了关于安卓项目中最外层目录下的build.gradle,这一篇我们将继续说build.gradle文件
虽然已经在安卓开发岗位工作了大半年了,但因为作者并没有系统的学习过安卓开发,故基础这块一直都是作者本人的薄弱点,这也是安卓开发必备的由来,希望能填补自己在这方面的缺漏
上节我们讲述了Lottie开源库如何导入Android Studio但是,开源库是不断迭代的,所以我们也要及时更新
今天工作时突然在项目xml布局看到了一个完全不认识的控件,一开始以为是自定义View之类的:
工作了大半年,之前一直都需要USB线连接手机才能用Android Studio去调试和安装安卓APP,然后上个礼拜,我突然发现前辈没连无线就可以调试
今天的工作仍然在思考自定义view,因为需要调服务器接口,而这需要一些参数去其他地方拿,不在我调自定义view的页面,所以我希望能封装好这个自定义view,对外只要开放相应监听接口即可
工作中每个人都要负责自己的那一块任务,有时候我们前一个工作如果没处理好,后续他人如果接手就容易出现看不懂你写的东西而来询问你的情况。
前面的文章说过,我的一个业务要从页面A进入页面B,也就意味着我的应用出现了在ActivityA的基础上启动了ActivityB的情景,这个时候ActivityA就进入了停止状态,但这个时候如果出现系统内存不足的情况,就会把ActivityA回收掉
第一篇我们将Transformations的map()方法拿来救场,为我们的User类保护了用户隐私。这篇我们就来看看switchMap(),这个方法使用场景非常固定,但可能比map()方法更加常用。
起因是我在开发功能需要使用Bitmap的方法:
之前的文章中我们了解了Jetpack组件中ViewModel,LiveData与Lifecycle,在工作中,我已经明明白白的知道了他们的作用,我现在写的每个页面几乎都少不了它们
书接上回,我们看过了LiveData的使用,自然也就明白了这玩意虽然好,但不能处处到位,因为需要你自己去post后才能得到,那如何不用在子线程一直苦苦等待就能给人一种在实时更新的感觉呢?那自然要用到我们的狠活——Lifecycle。
今天在工作时,测试突然提了一个Bug给我,要求我将APP中某活动页面的UI界面要根据用户在由此页面跳转的下个页面操作,在返回时要实时更新。
前面我们已经说过Jetpack中ViewModel的作用、用法以及使用要点,但还缺少在Activity中的实例展示,所以本节我们将结合结果展示与代码进行解读,希望能更好的展示出ViewModel的风采。
在项目中,我遇到了一个问题,起因则是无法实时去获取信息来更新UI界面,因为我需要知道我是否获取到了实时信息
昨天临近下班测试提了一个Bug给我,内容是关于广告加载的,前不久项目加了广告,但他们测试发现华为荣耀8会出现一直白屏而安卓12以上会出现开屏动画结束后白屏一会再加载广告,这很影响体验,所以要求尽快改好。
偷得浮生半日闲,早上在逛StackOverflow的时候发现有人求助,提到了一个不怎么火的ImagePicker库:
今天工作时对安卓的错误抛出进行了探究,同时对日志输出也看了一番,所以今天我们聊聊安卓在这个方面的写法。
由于放假的缘故,还是没时间直接上手APP,所以趁着晚上有时间,不妨为“千变万化”APP梳理一下功能。这样也能为我构思该APP提供更好的设计方向,防止出现想到一处写一处的混乱情况。
我们前面介绍了一些图片的信息获取方式,现在我们看看对图片是如何进行变化处理的,这其中有很多方法,我们先说明一下Matrix类的处理方式,也就是对图片坐标的变化以达到最终期望效果。
前文我们讲述了选择图片的弹窗如何去写,本节我们就探讨一下关于图片的一些知识,从而对后面完成图片分析做准备。
上篇说道,构思这个app时发现了很多平时未注意的问题,其中以Dialog弹窗为第一拦路虎,一方面是自己的技术不够成熟,一方面是自己平时未多多深入阅读。
每次阅读源码,我都想着许多过往云烟,可以说,一切不在一样,不过,想再多又如何,倒不如按下心思,在手中记下这一切更为妥当。还是看看这些充满智慧结晶的源码吧!
今天我们来详细看看Handler的post()方法吧
今天继续看Handler类,构造方法已经基本全部看完,后面应该是一些类的一般方法之类的内容了,继续加油。
前面我们说到dispatchMessage方法,今天我们继续往下看源码。
好家伙,写了四篇文章才发现自己看源码的Handle所属的包不一样
今天的工作挺忙的,又要接接口,又要修Bug,还要完成需求。晚上家里又有一些事情忙活,所以我们废话不多说,直接进正题。
最近要将图片传给服务器,但是服务器限制了图片的大小,所以我查询了许多相关文章,现在将其罗列出来。
之前的文章实在太肤浅,写出来其实很多都没有太大帮助,所以我们另起一个系列“从源码与官方文档看”。
从接触安卓开发一开始,我们就开始学习Activity这一大组件怎么用,然后就会在Activity之间跳转时遇到Intent。
日常开发中需要对异常处理,我们通常采用抛出异常的方法来达到出现问题时可以查看日志迅速定位问题原因或对其进行抢救措施。
这个系列其实没有多少可说的内容了,不过生活总是要继续的,所以一周工作下来,有摸鱼也有忙碌,当然也有一些感慨和思考。
在安卓开发中,要求不能在主线程中做花费较长时间的UI操作,因为容易发生ANR(应用程序无响应(ANR:Application Not Responding):在一定的时间内没有做完相应的处理。)
安卓开发工作有相当一部分时间在画布局,而布局构建的好坏也影响到用户的体验和程序功能的健全,而我们最常见的有几种布局:LinearLayout(线性布局)、TableLayout(表格布局)、RelativeLayout(相对布局)、FrameLayout(帧布局)、AbsoluteLayout(绝对布局)、GridLayout(网格布局)、ConstraintLayout(约束布局)。
安卓开发中经常会遇到一些需求,它要求的视图用安卓原生控件表达不出来,这时候需要我们自定义一些view,这时候就是头疼的时候,其实很多情况都是UI采用了苹果的设计图,结果安卓端的控件不一样,因此需要重新设计来展现与IOS端相同的布局样式。
上一篇,我们简单的记录了一些界面的功能名称以及它们的用途,这一篇便来记录一下一些好用的Android Studio的插件。
安卓的开发工作接触的最多的便是Android Studio这个开发工具,但对其的了解我却是少之又少,无他,平常敲敲代码即可,不需要用到那些繁多的工具,但用不到不代表不需要知道,所以结合开发历程上的认识与官方文档,我们来记录一下,平台为我们准备的那些稀奇古怪的工具吧!
在我之前的几篇文章中曾反复提到反射这个概念,这是java的一个重要知识点,所以今天记录一下在安卓开发中如何写反射的。
半年的开发工作通过统计git的提交记录发现其实我提交行数最多的项目也就1228行:
初出茅庐的我在开发工作中成长,收获了许多,但其实也引出了一堆问题。