签到
Home
Android
iOS
C++
Article
搜索
登录
注册
Android的API使用小技巧(2)
Home
/
Android
MrLee
2015-4-1
3742
原文出处:
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
正在加载信息~
推荐阅读
Android判断模拟器还是真机
Android开发周报:Android Studio 2.2发布、微信热补丁方案开源
安卓过渡动画入门介绍
Android N(7.0) 被美翻的新特性!
Android常见异常(Runtime Exception )小结
Android6.0运行时权限解决方案
Android二次打包简单教程
Android逆向助手
Android使用SpriteX动作编辑器的方法(图文)
看看Android 开发的昨天、今天和明天
最新回复
(
0
)
返回
站点信息
文章
2305
用户
1336
访客
11412506
每日一句
Move forward to keep life balanced.
人生如骑行,前进即平衡。
Android开源刮刮卡库ScratchCardLayout使用教程
使用VS Code断点调试Vue代码
p2p通信,打洞技术,穿越NAT的实现(附NAT环境检测工具)
NDK19c Clang交叉编译arm64-v8a、armeabi-v7a架构下Boost
Android更新速度越来越快吗?
Vue父组件传对象给子组件
如何精简化Xposed
C++获取Windows 10的版本号
diskgenius 保存分区表时出现错误 代码00000032方法解决
亲测!虚拟机VirtualBox安装MAC OS 10.12图文教程
快速入门-如何在Java上使用Redis
CreateProcessW要注意的细节问题
关于iOS最常见的15个问题
免费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实现模拟点击任意位置
新会员