当前位置: 首页 > 科技观察

掌握AndroidCoding利器小技巧,助你Coding更上一层楼~

时间:2023-03-17 23:52:39 科技观察

前言据说前几天在网上浏览了一篇大牛写的关于Android布局优化的文章。读后感触颇深。回过头来看自己写的代码,发现还有很多需要改进的地方。今天看的那篇文章找不到了,只能自己总结一些,以后有机会再补上~。这篇文章的目的是通过例子来说明Android开发中的技巧,让你我玩得更多Android6~掌握技巧,帮助你的Coding更上一层楼~本文将通过以下例子来说明:CommonAndroidStudio中的快捷键;AndroidStudio强大的代码补全;AndroidStudio插件;Android布局优化AndroidStudio的常用快捷键接触了AndroidStudio之后,就越来越离不开这款开发神器了~还有,接触的越多,越能感受到Studio的魅力,今天就来给大家带来一些LZ开发中常用的快捷键。1.Shift+F6全局修改LZ一般都是用这种方法来改变全局变量或者资源名。2.Alt+F7查看全局引用LZ在一般优化的时候会用这个来查看某个方法或者变量的全局引用3.Ctrl+Shift+上下键移动代码4.强大的Alt+InsertAlt+Insert这个快捷键极其功能强大,里面包括生成一系列的get,set,toString...等等,爱不释手~5.Ctrl+FPartialsearch用这个方法找方法很有用,但是只限于部分,即这一类6.Ctrl+Alt+V自动初始化变量和引入变量类型只适用于基本类型7.Ctrl+D复制下来还是Ctrl+C,Ctrl+V?出去骚年~8.Ctrl+Alt+L格式化代码这个不得不说,已经成了习惯,写完一部分就习惯格式化代码强大的代码补全不得不说,这真是666~11。Ctrl+Alt+T快速生成类似try块ifblockswhileetc这个LZ一般为了方便生成try块,对于项目中一些会出现异常的代码块,都需要添加try块来防止异常导致崩溃。.Ctrl+N找类。我不想用鼠标。想找班怎么办?Ctrl+N帮你~14.Ctrl+E查看浏览历史15.Alt+Shift+C比较本地历史记录这个技巧不错,66616.Ctrl+Shift+Space自动完成代码17.Ctrl+Y删除当前行18.F2或Shift+F2高亮错误或警告快速定位19.Alt+J多行编辑想一次写多行?想一次修改多行?完全不是梦~常用快捷键的介绍就到这里了,以后用到的时候再补充~AndroidStudio强大的代码补全,罗列了LZ个人开发中常用的一些快捷键。下面简单讲解一下强大的代码补全功能~继续感受AndroidStudio的魅力~骚年,你还在手动写publicstaticfinal吗?作为项目中常用的,几乎是必备的东西,强大的Studio早已经看穿了一切~当然LZ这里并不全面,大家可以自行挖掘~或者直接使用快捷键~AndroidStudio插件强大的AndroidStudio背后肯定会有n多插件让它变得更加优秀。下面会罗列几个常用的LZ,具体的可以自己去了解一下~1.GsonFormatjson快速生成实体类。你还在为写Json的实体类发愁吗?快来用吧~2。ButterKnifeZelezny一键生成注解,简化代码。要使用它,需要添加相应的依赖。LZ为了省事,直接盗图了~怪不得3.Parcelable序列化Android中序列化有两种方式,分别是实现Serializable接口和Parcelable接口,但是在Android中推荐使用Parcelable,而这里的过程比较繁琐,还好有这个神器~4.Genymotion的优秀模拟器就不解释了,也不截图了,不过现在谷歌推出的模拟器也很好用,不错。我个人支持谷歌更新的模拟器LZ。目前只有上述几种。当然还有很多优秀的插件,附上地址。大家可以自行浏览选择使用~https://www.zhihu.com/question/28026027Androidlayoutoptimization布局优化,这是个有趣的话题,下面我们来看看不同的例子~1.使用android:drawab系列+Style提高代码可读性和简洁性TextView,想必大家都很熟悉它?今天我们就来说说如何更好的玩转TextView举一个很笼统的例子,大家有没有注意到微信“我”的界面布局的“钱包”、“收藏”、“相册”等布局?在过去,我们会这样写:="15dp">……如果点击项太多,看起来会很乱,而且会出现很多无用的代码。今天我们来试试新玩法~...两者效果一样如下:如果TextView较多,还可以提取Style文件,代码简洁易读。2、附上TextView跑马灯的渲染:部分代码如下:"android:background="#FFF"android:singleLine="true"android:ellipsize="marquee"android:marqueeRepeatLimit="marquee_forever"android:text="失恋算什么?轻轻的,走吧,别后悔,因为只要你挥挥手,你就会发现,已经有一个你等不及的人,偷偷握住了你的手!”/>切记Activity需要设置一个属性,否则无效。findViewById(R.id.id_test).setSelected(true);要实现跑马灯效果,必须满足一个条件,就是TextView的内容必须超出屏幕,否则无效!当然,您可以自定义它。3、显示价格优化效果如下:按照之前的思路,我们这样玩:/>可以简单的使用,为什么要写一个额外的TextView,不是浪费吗?看看~string文件,上面写着:Youneedtopay:%1$sActivity定义方法:privatevoidsetPayPrice(StringpayPrice){tvShow.setText(getString(R.string.string_pay_price,payPrice));SpannableStringBuilderbuilder=newSpannableStringBuilder(tvShow.getText().toString());ForegroundColorSpancolorSpan=newForegroundColorSpan(Color.RED);//自定义颜色值builder.setSpan(colorSpan,4,tvShow.getText().toString().length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);tvShow.setText(builder);}四、自动链接TextView内容,如URL、电话、邮箱等效果如下:代码部分:5.熟练使用LinearLayout,省去不必要的代码~下面附上一张简单的效果图给大家。首先想一想,如果是你,怎么写呢?这里给大家提供另一种写法,就是如何先用LinearLayout写好shape文件,很简单。设置高度和颜色/shape>其次,在布局文件中设置divider和showDividers属性。下面简单介绍一下android:showDividers属性:android:showDividers="middle|beginning|end":根据名字的意思,三个属性值分别是中间的开始部分和结束部分,即分割线显示在这三个部分。v7包下的LinearLayoutCompat不也能实现分割线吗?的确如此,不过我试过了,感觉两者是一样的,这里就不多解释了~6.禁用截屏功能,间接保护App。考虑禁止应用程序截屏。只需要一行代码,如下:getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);阻止setContentView后,截图时会提示如下内容:结论事情很简单,LZ简单总结一下,给自己留点东西~