Android Studio修行手册,快速涨薪-【界面预览】、【自带截图】、【自动排序代码】、【快速查看界面】和【预览列表】、【Null判断】

本文主要是介绍Android Studio修行手册,快速涨薪-【界面预览】、【自带截图】、【自动排序代码】、【快速查看界面】和【预览列表】、【Null判断】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我对你的爱就如闪电,狂暴而剧烈,飞出的飞镖是向你传达的思念。

往期文章分享

点击跳转=>熬夜再战Android从青铜到王者-开发效率插件篇
点击跳转=>Unity粒子特效系列-龙卷风预制体做好了,unitypackage包直接用!
点击跳转=>姐姐喊我解锁套娃新技能:FairyGUI在Unity中实现List嵌套List/立体画廊等,玩出花儿来
点击跳转=>Unity新手必备5款宝藏插件–价值上千元白嫖最新版
爆肝万字C#基础入门大总结【建议收藏】
Android修行手册-玩转TextView,想不到有这么多属性
【万字】熬夜修行Android Studio技巧到出神入化,快速涨薪【建议收藏】
Android修行手册之从头到尾学Kotlin【全】

本文5.8千字,新手阅读需要7分钟,复习需要3分钟 【收藏随时查阅不再迷路】

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎私我,交流群让学习不再孤单

👉前提

这是小空坚持写的Android系列,欢迎品尝。
当前环境
2021年10月8日最新下载2020.3.1 Patch 2 版本

👉实践过程

😜界面预览

Android发展到现在,已经很成熟了。相信很多公司都有自己的适配方案,适配已经不是很难解决的问题了。开源适配方案又以今日头条适配最为火热。

使用了AndroidAutoSize的也一定修改过页面预览设置。

不仅这个方案,哪怕其他方案肯定少不了各种界面预览,我们总不能“奢望”公司各种分辨率的手机和平板全部买来吧?就算买来,就这抽插抽插数据线都磨练人。

什么?你说无线调试?安装过程不耗时吗。得不偿失啊,所以最好的是先用Android Studio提供的专用预览工具先预览预览,感觉差不多了再运行真机调试。省事省力省心。
image.png
除了默认的谷歌自带的分辨率为
image.png
还支持自定义分辨率
image.png
不同的预览切换不同的设备即可,有的人可能遇到创建后发现在设备列表中没找到或者每次打开一个布局都要重新选择。

这时候你选择你想预览的布局重启Android Studio即可。

😜自带截图

在开发过程中,有不少场景需要截图录像和别人沟通。一般首先想到的就是真机截图和录像功能,没错,这方法很对。

但,还有个不错的方法。

Android Studio提供了截图和录像功能,直接就保存到电脑上了,这个在开发中能提供很大便利。想发给谁发给谁。
image.png

😜自动排序代码

随着不断的更新,甚至不更新,方法会越来越多,代码也会越来越多。如果在同一个类中方法封装的多了,就是A调B调C调D。

如果你要是没有按照顺序往下写,而是乱的,这会导致越来越杂乱无章。别说他人看你的代码了,过几天你自己看都得回忆回忆,甚至找半天。

所以我们要将代码尽量按照就近原则,比如A调B调C调D,那么这四个方法是紧挨着的。当然了,在编写代码过程中就可以这么做,但别太相信自己了,随时有可能忘记这一规则,久而久之,就又乱套了。

所以我们要借住工具来帮我们处理。快捷还安全,更不会忘记。

打开路径【File-Settings-Editor-Code Style-Java-Arrangement】
image.png
主要就是上图中框起来的两个内容:

Keep overridden methods together

她的里面后面又有两个选项一个【keep order】按照原顺序,一个【order by name】按照字母表排序。该功能是带有override标志的方法排序设置,这些方法要么是系统的,要么是自定义的,放在一起更加规范一些。建议直接使用【keep order】

Keep dependent methods together

这个是一般方法排序,后面也是两个选项【breadth-first order】和【depth-first order】,从字面翻译前者是广度优先,后者是深度优先。广度排序就是排好方法A排方法B,不管理方法里面的方法顺序,而深度是排方法A,里面有嵌套方法就一直深挖排序,没有则回来接着找下一个方法。

点击保存设置,还差最后一步,快捷键【Ctrl + Alt + Shift + L】
image.png

至此,以后使用快捷键**【Ctrl + Alt + L】格式化代码的时候,会连带着感觉设定规则整理方法排序。

😜快速查看界面

在工作中对接项目是必不可少的环节,下载导入学习开源项目也是时有的事,当前显示的页面找到对应的类,有时候还真得耽误不少时间,所以我们就要利用“手段”快速找到当前类。

如果当下项目Activity继承有一个统一的【BaseActivity】(没有的话自己写一个继承下),之后在【onCreate】中添加:

Log.e(“TAG”,“当前界面显示的是:”+getClass().getName());

运行后,日志中可随时查看的啊,方便的很,一劳永逸啊
image.png

😜预览列表

界面的普通预览我们很容易做到,直接打不布局即可。
但是默认列表布局如【ListView】【GridView】【RecyclerView】是没有预览效果的,不过官方也提供了解决方案:利用tool关键字来实现

即使写很普通的布局,相信大家也能看到tool的存在。
image.png

不仅仅是列表预览,Fragment页面默认我们也不能预览,同样也能利用【tool:layout】可以实现预览。这把效率提升的可以说很稳了。

除此之外列表预览里还有头布局【tools:listheader】和尾布局【tools:listfooter】预览。

还有【@tools:sample/】的强大功能,她可以做到列表布局的预览数据以JSON形式读取。这节我们不讨论此功能。

另外再提一句:从中可以看出android属性其实是可以替换为tool属性的,可以达到预览的效果,发布后还不会显示,很欢乐。
image.png

😜Null判断

此处先不讨论Kotlin语言。

据小空瞎JB统计,Null异常应该是遇到的最多的异常了。平时我们也养成了非空判断的代码规范。虽然这样的主观一是很棒,但这往往还不够,百密一疏。除了平时测试测出来的容易发现外,尤其是线上的产品,基本都是靠JSON数据通信的,服务器什么时候出问题那可不保准,这之后基本能出不少NULL,比如String和List,除了我们开发过程中提前的try之外,还可以在Model的实体中再getXXX()方法那就进行Null判断,确保返回不是Null。

那么我们就得利用工具来实现对应的代码模板了。

点击快捷键【Alt+Insert】选择【Getter and Setter】
image.png

#if($field.modifierStatic)
static ##
#end
$field.type ##
#if($field.recordComponent)${field.name}##
#else
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
#if ($field.boolean && $field.primitive)is##
#elseget##
#end
${name}() {#if ($field.string)return $field.name == null ? "" : $field.name;#else#if ($field.list)if ($field.name == null) {return new ArrayList<>();}return $field.name;#elsereturn $field.name;#end#end
}
#end

👉其他

📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
📢欢迎点赞👍收藏🌟留言📝

这篇关于Android Studio修行手册,快速涨薪-【界面预览】、【自带截图】、【自动排序代码】、【快速查看界面】和【预览列表】、【Null判断】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/741612

相关文章

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

Java中Map.Entry()含义及方法使用代码

《Java中Map.Entry()含义及方法使用代码》:本文主要介绍Java中Map.Entry()含义及方法使用的相关资料,Map.Entry是Java中Map的静态内部接口,用于表示键值对,其... 目录前言 Map.Entry作用核心方法常见使用场景1. 遍历 Map 的所有键值对2. 直接修改 Ma

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Windows的CMD窗口如何查看并杀死nginx进程

《Windows的CMD窗口如何查看并杀死nginx进程》:本文主要介绍Windows的CMD窗口如何查看并杀死nginx进程问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows的CMD窗口查看并杀死nginx进程开启nginx查看nginx进程停止nginx服务

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

深入解析 Java Future 类及代码示例

《深入解析JavaFuture类及代码示例》JavaFuture是java.util.concurrent包中用于表示异步计算结果的核心接口,下面给大家介绍JavaFuture类及实例代码,感兴... 目录一、Future 类概述二、核心工作机制代码示例执行流程2. 状态机模型3. 核心方法解析行为总结:三