Android开发贴士集合(Part 1~4)
英文原文:Android Tips Round-Up(More: Part 1 Part 2 Part 3 Part 4)
近期的项目中本人已经每天发表一个关于 Android 的类和方法的小贴士,很多读者要求整理出这些小贴士的链接归档,所以每隔几周我都会总结一下。如果工作不是太忙的话,我也会在上面做一些注释。
Android 开发贴士集合(1)
Activity.startActivities ()——对于从 app 流的中部启动会非常好。
TextUtils.isEmpty ()——一个普遍适用的简单工具类。
Html.fromHtml ()——格式化 Html 的快速方法,本人认为它也不是非常快,所以我不是经常用它(我说不经常用它是为了重点突出这句话:请多手动构建 Spannable 来替换 Html.fromHtml),但是它对渲染从 web 上获取的文字还是很不错的。
TextView.setError ()——在验证用户输入的时候用户体验很不错。
Build.VERSION_CODES——它不仅仅描述了版本号,还总结了各 Android 版本的不同特性。
Log.getStackTraceString ()——方便的日志工具。
LayoutInflater.from ()——简化一系列冗长的 getSystemService ()调用的简单工具。
ViewConfiguration.getScaledTouchSlop ()——使用 ViewConfiguration 中提供的值以保证所有触摸的交互都是统一的。
PhoneNumberUtils.convertKeypadLettersToDigits——使得处理电话号码更方便,很多人都只提供字母,而不是数字。
Context.getCacheDir ()——使用系统提供的缓存目录进行数据缓存,操作非常简单不过很多人不知道怎么使用。
ArgbEvaluators——处理颜色的渐变。就像 Chris Banes 说的一样,这个类会进行很多自动装箱的操作,所以最好还是去掉它的逻辑自己去实现它。
ContextThemeWrapper——方便在运行过程中更改主题。
Space——轻量级的视图组件,可以跳过绘制的过程,对于需要占位符的任何场景来说都是很棒的。
ValueAnimator.reverse ()——可以顺畅地取消动画效果,很赞。
Android 开发贴士集合(2)
DateUtils.formatDateTime ()——提供区域格式化时间/日期字符串的一站式服务。
AlarmManager.setInexactRepeating——通过闹铃分组的方式来节省电量,即使你只调用一个 alarm 实例,它仍然比较好用(可以确保在使用完毕时自动调用 AlarmManager.cancel ()。
Formatter.formatFileSize ()——一个区域化的文件大小格式化工具。
ActionBar.hide () / .show ()——可以在 actionBar 显示或者隐藏的时候进行动画展示。可以在切换到全屏的时候更优雅。
Linkify.addLinks ()——可以控制在 Text 上添加链接。
StaticLayout——在自定义 View 中渲染文字的时候很实用。
Activity.onBackPressed ()——方便控制返回按钮,在需要自定义返回键的操作时候,可以用到。
GestureDetector——可以监听动作事件和相关的监听器事件(点击,滚动,滑动等)。比自己实现系统的一些动作事件更简单。
DrawFilter——可以让你操作 Canvas,即使没有调用 draw 方法。例如,可以在创建自定义 View 的时候设置一个 DrawFilter,给父 View 里面的所有 View 设置反别名。
ActivityManager.getMemoryClass ()——可以让你清楚知道设备还剩多少内存。在计算怎么设置缓存大小的时候就很有用。
SystemClock.sleep ()——这个方法在保证一定时间的 sleep 时很方便,通常我用来进行 debug 和模拟网络延时。
ViewStub——它是一个初始化不做任何事情的 View,但是之后可以载入一个布局文件。在慢加载 View 中很适合做占位符。唯一的缺点就是不支持标签,所以如果你不太小心的话,可能会在视图结构中加入不需要的嵌套。
DisplayMetrics.density——通过这个方法可以获取屏幕的密度,很多时候需要去掉系统自动缩放精度的功能,但是有时候在控制的时候也很有用(尤其是在自定义 View 的时候)。
Pair.create ()——方便构建类和构造器的方法。
Android 开发贴士集合(3)
UrlQuerySanitizer——使用这个工具可以方便对 URL 进行检查。
Fragment.setArguments——因为在构建 Fragment 的时候不能加参数,所以这是个很好的东西,可以在创建 Fragment 之前设置参数(即使在 configuration 改变的时候仍然会导致销毁/重建)。
DialogFragment.setShowsDialog ()—— 这是一个很巧妙的方式,DialogFragment 可以作为正常的 Fragment 显示!这里可以让 Fragment 承担双重任务。我通常在创建 Fragment 的时候把 onCreateView ()和 onCreateDialog ()都加上,就可以创建一个具有双重目的的 Fragment。
FragmentManager.enableDebugLogging ()——在需要观察 Fragment 状态的时候会有帮助。
LocalBroadcastManager——这个会比全局的 broadcast 更加安全,简单,快速。像 otto 这样的 Event buses 机制对你的应用场景更加有用。
PhoneNumberUtils.formatNumber ()——顾名思义,这是对数字进行格式化操作的时候用的。
Region.op ()——我发现在对比两个渲染之前的区域的时候很实用,如果你有两条路径,那么怎么知道它们是不是会重叠呢?使用这个方法就可以做到。
Application.registerActivityLifecycleCallbacks——虽然缺少官方文档解释,不过我想它就是注册 Activity 的生命周期的一些回调方法(顾名思义),就是一个方便的工具。
versionNameSuffix——这个 gradle 设置可以让你在基于不同构建类型的 manifest 中修改版本名这个属性,例如,如果需要在在 debug 版本中以”-SNAPSHOT”结尾,那么就可以轻松的看出当前是 debug 版还是 release 版。
CursorJoiner——如果你是只使用一个数据库的话,使用 SQL 中的 join 就可以了,但是如果收到的数据是来自两个独立的 ContentProvider,那么 CursorJoiner 就很实用了。
Genymotion——一个非常快的 Android 模拟器,本人一直在用。
-nodpi——在没有特别定义的情况下,很多修饰符(-mdpi,-hdpi,-xdpi 等等)都会默认自动缩放 assets/dimensions,有时候我们需要保持显示一致,这种情况下就可以使用 -nodpi。
BroadcastRecevier.setDebugUnregister ()——又一个方便的调试工具。
Activity.recreate ()——强制让 Activity 重建。
PackageManager.checkSignatures ()——如果同时安装了两个 app 的话,可以用这个方法检查。如果不进行签名检查的话,其他人可以轻易通过使用一样的包名来模仿你的 app。
Android 开发贴士集合(4)
Activity.isChangingConfigurations ()——如果在 Activity 中 configuration 会经常改变的话,使用这个方法就可以不用手动做保存状态的工作了。
SearchRecentSuggestionsProvider——可以创建最近提示效果的 provider,是一个简单快速的方法。
ViewTreeObserver——这是一个很棒的工具。可以进入到 VIew 里面,并监控 View 结构的各种状态,通常我都用来做 View 的测量操作(自定义视图中经常用到)。
org.gradle.daemon=true——这句话可以帮助减少 Gradle 构建的时间,仅在命令行编译的时候用到,因为 Android Studio 已经这样使用了。
DatabaseUtils——一个包含各种数据库操作的使用工具。
android:weightSum (LinearLayout)——如果想使用 layout weights,但是却不想填充整个 LinearLayout 的话,就可以用 weightSum 来定义总的 weight 大小。
android:duplicateParentState (View)——此方法可以使得子 View 可以复制父 View 的状态。比如如果一个 ViewGroup 是可点击的,那么可以用这个方法在它被点击的时候让它的子 View 都改变状态。
android:clipChildren (ViewGroup)——如果此属性设置为不可用,那么 ViewGroup 的子 View 在绘制的时候会超出它的范围,在做动画的时候需要用到。
android:fillViewport (ScrollView)——在这片文章中有详细介绍文章链接,可以解决在 ScrollView 中当内容不足的时候填不满屏幕的问题。
android:tileMode (BitmapDrawable)——可以指定图片使用重复填充的模式。
android:enterFadeDuration/android:exitFadeDuration (Drawables)——此属性在 Drawable 具有多种状态的时候,可以定义它展示前的淡入淡出效果。
android:scaleType (ImageView)——定义在 ImageView 中怎么缩放/剪裁图片,一般用的比较多的是“centerCrop”和“centerInside”。
——此标签可以在另一个布局文件中包含别的布局文件,而不用再新建一个 ViewGroup,对于自定义 ViewGroup 的时候也需要用到;可以通过载入一个带有标签的布局文件来自动定义它的子部件。
AtomicFile——通过使用备份文件进行文件的原子化操作。这个知识点之前我也写过,不过最好还是有出一个官方的版本比较好。
相关推荐
Android代码小贴士 Android代码小贴士
教程名称: android 3D开发项目源代码【】第10章常用3D开发技巧案例【】第11章几种剪裁与测试【】第12章顶点着色器的妙用【】第13章片元着色器的妙用【】第14章真实光学环境的模拟【】第15章游戏开发中的物理学【】...
Android游戏开发小贴士--例程源码,是别人写的一些例子程序,向牛人学习一下!
Android代码小贴士第一期-381660195
cmd100_代码小贴士_381660195
1.3 如何搭建android开发环境 4 1.3.1 sdk的安装及环境配置 5 1.3.2 eclipse集成开发环境的搭建 7 1.3.3 创建并启动模拟器 9 1.4 hello android应用程序的开发 11 1.4.1 第一个android应用程序 12 ...
垂直方向无限轮播的小贴士。仿 淘宝app的“淘宝头条”、蚂蚁财富app的“财富头条”等
Android Studio是谷歌推出了新的Android开发环境,开发者可以在编写程序的同时看到自己的应用在不同尺寸屏幕中的样子。 谷歌对开发者控制台进行了改进,增加了五个新的功能,包括优化小贴士、应用翻译服务、推荐跟踪...
" " 目录 第1章 绪论 4 1.1项目背景 4 1.2项目目标 4 第2章 系统开发环境及技术 5 2.1系统开发环境 5 2.1.1硬件环境 5 2.1.2软件支持 6 2.2系统开发技术 6 2.2.1 Java 简介 6 2.2.2 Android Studio简介 6 2.2.3 ...
andbook英文版本.pdf 《Android开发提高十六技》--张国威(安卓巴士总结).rar Android参考资料资源整理第一期-Leon.lh.rar Android代码小贴士第一期-381660195.rar 原创我的Android学习历程1.pdf 。。。。。。
下了保证不后悔!包括代码、语句等等。对于制作网站、美化网页、优化功能绝对有用!
在界面上做出类似的小贴士。。大致代码都不需要改动。。只需改动相关的链接即可。
排版小贴士pp模板下载
项目管理知识小贴士全集
桂林自助游小贴士OK(1).doc
足球羸波贴士5atips.com全站程序 演示地址: http://demo.codechina.com/zhucai1/
小贴士篇幅不大,价值却不小。想了解GIS常识和SuperMap技巧的人,请多多关注。点点滴滴为您服务,时时刻刻为您着想。(内容:主要包含SuperMap Object开发、SuperMap Deskpro使用技巧、SuperMap IS.NET开发等。)
类似小贴士的工具,同时可以放网上的广播,学习vb时写的,希望对大家有帮助
保护眼睛的小工具,超级好用,开发公司开发的,特别好,帮助眼睛很重要
防范病毒注意事项防范病毒注意事项防范病毒注意事项防范病毒注意事项防范病毒注意事项防范病毒注意事项