签到
Home
Android
iOS
C++
Article
Hackintosh
搜索
登录
注册
Android的API使用小技巧(2)
Home
/
Android
MrLee
2015-4-1
3152
原文出处:
Dan Lew
前言
本文是一篇译文,这篇是这个系列的第二篇。讲述的是Android开发中遇到的一些好用的小技巧,或者一些实用的API,很多人都知道,但也有人不知道,记录下来,如果能帮助到大家,也是极好的。由于不是严格的博文,所以翻译也不那么严格,有些工具和类我也会经常用,所以我会根据自己的想法去写。有些地方坐在并没有将这个工具的作用讲出来,我会补充上去。
正文
DateUtils.formatDateTime()
用来进行区域格式化工作,输出格式化和本地化的时间或者日期。
AlarmManager.setInexactRepeating
通过闹铃分组的方式省电,即使你只调用了一个闹钟,这也是一个好的选择,(可以确保在使用完毕时自动调用 AlarmManager.cancel ()。原文说的比较抽象,这里详细说一下:setInexactRepeating指的是设置非准确闹钟,使用方法:alarmManager.setInexactRepeating(AlarmManager.RTC, startTime,intervalL, pendingIntent),非准确闹钟只能保证大致的时间间隔,但是不一定准确,可能出现设置间隔为30分钟,但是实际上一次间隔20分钟,另一次间隔40分钟。它的最大的好处是可以合并闹钟事件,比如间隔设置每30分钟一次,不唤醒休眠,在休眠8小时后已经积累了16个闹钟事件,而在手机被唤醒的时候,非准时闹钟可以把16个事件合并为一个, 所以这么看来,非准时闹钟一般来说比较节约能源。
Formatter.formatFileSize()
一个区域化的文件大小格式化工具。通俗来说就是把大小转换为MB,G,KB之类的字符串。
ActionBar.hide()
/
.show()
顾名思义,隐藏和显示ActionBar,可以优雅地在全屏和带Actionbar之间转换。
Linkify.addLinks()
在Text上添加链接。很实用。
StaticLayout
在自定义 View 中渲染文字的时候很实用。
Activity.onBackPressed()
很方便的管理back键的方法,有时候需要自己控制返回键的事件的时候,可以重写一下。比如加入 “点两下back键退出” 功能。
GestureDetector
用来监听和相应对应的手势事件,比如点击,长按,慢滑动,快滑动,用起来很简单,比你自己实现要方便许多。
DrawFilter
可以让你在不调用onDrew方法的情况下,操作canvas,比了个如,你可以在创建自定义 View 的时候设置一个 DrawFilter,给父 View 里面的所有 View 设置反别名。
ActivityManager.getMemoryClass()
告诉你你的机器还有多少内存,在计算缓存大小的时候会比较有用.
ViewStub
它是一个初始化不做任何事情的 View,但是之后可以载入一个布局文件。在慢加载 View 中很适合做占位符。唯一的缺点就是不支持标签,所以如果你不太小心的话,可能会在视图结构中加入不需要的嵌套。
SystemClock.sleep()
这个方法在保证一定时间的 sleep 时很方便,通常我用来进行 debug 和模拟网络延时。
DisplayMetrics.density
这个方法你可以获取设备像素密度,大部分时候最好让系统来自动进行缩放资源之类的操作,但是有时候控制的效果会更好一些.(尤其是在自定义View的时候).
Pair.create()
方便构建类和构造器的方法。
本文链接:
https://www.it72.com/1926.htm
收藏
0
收藏的用户(
0
)
X
正在加载信息~
推荐阅读
CollapseOnScroll
【复制】深度剖析APP保活案例
Android夜间模式(多主题)探索
Android完美退出程序
Google不再提供Android Eclipse Tools
还在用Android自带的WebView组件?太Out了!
NinePatchDrawable创建实例
早期的Android下拉刷新控件PullToRefreshView
一个Android项目搞定所有主流架构
Eclipse+CDT+NDK环境配置
最新回复
(
0
)
返回
站点信息
文章
2285
用户
1336
访客
9640808
每日一句
People who truly loved once are far more likely to love again.
真爱过的人很难再恋爱。
MFC用OLE读写Excel表格
深度剖析APP保活案例
外部访问docker容器
解决Xposed提示didn't find class
发一个3D的云标签JS代码
VC实现的QQ自动停靠隐藏功能
利用adb shell命令对手机进行截图
微信小程序,一个有局限的类似 React Native 轮子!
IntelliJ IDEA2018~2019.1激活码-注册码
关于Android Studio不能查看源码
Thinkpad x1 Extreme黑苹果10.14.5安装完成
彻底关闭win10自动更新(多套组合拳合击)
Android Studio3.0引入第三方库文件的总结
免费xiuno博客主题【最后更新:2019.5.20】
独家发布最新可用My-AutoPost——wordpress 采集器
C#实现后台最小化截图
仙剑奇侠传3d回合-PC端多开
如何在iPhone上移动多个应用程序
首发:Thinkpad T550黑苹果10.13.4安装教程
css样式之flex布局注意事项
Android屏幕共享及远程控制【免root】
MPAndroidChart曲线非连续改装笔记
ASUS TF810C平板电脑用U盘安装windows8.1系统
iOS上架全流程及IPV6问题
Android更新速度越来越快吗?
免ROOT实现模拟点击任意位置
新会员