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

相关文章

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

C++11范围for初始化列表auto decltype详解

《C++11范围for初始化列表autodecltype详解》C++11引入auto类型推导、decltype类型推断、统一列表初始化、范围for循环及智能指针,提升代码简洁性、类型安全与资源管理效... 目录C++11新特性1. 自动类型推导auto1.1 基本语法2. decltype3. 列表初始化3

kkFileView在线预览office的常见问题以及解决方案

《kkFileView在线预览office的常见问题以及解决方案》kkFileView在线预览Office常见问题包括base64编码配置、Office组件安装、乱码处理及水印添加,解决方案涉及版本适... 目录kkFileView在线预览office的常见问题1.base642.提示找不到OFFICE组件

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

MyBatis-Plus 自动赋值实体字段最佳实践指南

《MyBatis-Plus自动赋值实体字段最佳实践指南》MyBatis-Plus通过@TableField注解与填充策略,实现时间戳、用户信息、逻辑删除等字段的自动填充,减少手动赋值,提升开发效率与... 目录1. MyBATis-Plus 自动赋值概述1.1 适用场景1.2 自动填充的原理1.3 填充策略

Java实现预览与打印功能详解

《Java实现预览与打印功能详解》在Java中,打印功能主要依赖java.awt.print包,该包提供了与打印相关的一些关键类,比如PrinterJob和PageFormat,它们构成... 目录Java 打印系统概述打印预览与设置使用 PageFormat 和 PrinterJob 类设置页面格式与纸张