Android快捷便利但不常被使用的原生工具类
Android SDK原生 API中,有一些常用的工具类,运用得当可以省事省力省时,何况还是Android官方提供的,现在收集整理一些出来。
DateUtils Android本身提供的日期时间工具类,里面有很多实用的工具集合。比如DateUtils.isToady()判断传入的日期时间是否为当天。getRelativeTimeSpanString
可以计算时间间隔比如“几天前”,“几个月前”,等等。
DateUtils.formatDateTime() 格式化时间日期格式。
Linkify.addLinks() 为一个TextView添加链接。
android.text.format.DateFormat
DateFormat.format("yyyy-MM-dd HH:mm:ss", System.currentTimeMillis());
DateFormat.format("yy/MM/dd", Calendar.getInstance());
DateFormat.format("yyyy", new Date(2016,11,17));
HandlerThread 用以实现常见的Thread+Handler模型实现的复合型类。
Fragment的setUserVisibleHint 在这个方法里面可以实现Fragment的懒加载,比如:
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
if (isVisibleToUser) {
//加载
} else {
//不加载
}
}
这在ViewPager结合Fragment的代码中实现懒加载很有用。因为Android官方默认当创建第一个Fragment时回创建第二个Fragment以确保用户平滑滑动,第二个View已经被创建,这在某些时候会带来一定的加载开销。
android:animateLayoutChanges="true" 使布局中的某些子view的消失和增加具有动画平滑过渡效果。
Formatter.formatFileSize() 处理文件大小格式化工具。把文件大小转换为KB,MB,GB这样的字符串。
getParent().requestDisallowInterceptTouchEvent(true) 屏蔽父view对事件的拦截处理。
PhoneNumberUtils.formatNumber () 格式化电话号码。
ActivityManager.clearApplicationUserData() 清理用户产生的数据。恢复的干净的初始阶段。
Application.registerActivityLifecycleCallbacks 注册activity的生命周期方法回调。
android:weightSum 控制根布局总的权重和。
Context.getCacheDir() 获取系统默认的缓存路径。
AutoScrollHelper 在滚动View中长按边缘滚动工具类。
ViewStub初始化阶段不加载任何View,然而随后以加载开发者给定布局文件。在懒加载 模式的View初始化过程中适合占位。
UrlQuerySanitizer 对一个URL链接进行检查和数据提取、解析等。
ThumbnailUtils 处理缩略图。
FragmentManager.enableDebugLogging () 开启Fragment的debug日志记录。
LocalBroadcastManager 本地广播。更安全的本地广播机制,类似于EventBus的简化版。
PackageManager.checkSignatures () 检查包签名。
ValueAnimator.reverse() 取消正在执行的动画。
Environment.getExternalStoragePublicDirectory() 外部存储器公共存储文件夹。
AlphabetIndexer 字母索引类。
SortedList 排序列表。
SurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT) 设置SurfaceView透明。
ArgbEvaluator.evaluate(float fraction, Object startValue, ObjectendValue) 颜色渐变,常见于导航栏、标题栏的颜色。
android:duplicateParentState="true" 子View跟随其Parent的状态,如按击等。比如某个按钮很小,想要扩大其点击区域,通常会再给其包裹一层布局,将点击事件写到Parent上,这时候如果希望被包裹按钮的点击效果对应的Selector继续生效,就这么做。
Messenger 对AIDL的简化操作。
onTrimMemory 内存紧张时候Android系统回调此方法,可以在里面进行内存回收。
TimingLogger,SDK自带打印时间戳工具。可以分析某个方法执行的时间。用以性能分析。
官方文档说明使用方法:
A utility class to help log timings splits throughout a method call. Typical usage is:
TimingLogger timings = new TimingLogger(TAG, "methodA");
// ... do some work A ... timings.addSplit("work A");
// ... do some work B ... timings.addSplit("work B");
// ... do some work C ... timings.addSplit("work C"); timings.dumpToLog();
The dumpToLog call would add the following to the log:
D/TAG ( 3459): methodA: begin
D/TAG ( 3459): methodA: 9 ms, work A
D/TAG ( 3459): methodA: 1 ms, work B
D/TAG ( 3459): methodA: 6 ms, work C
D/TAG ( 3459): methodA: end, 16 ms
Android快捷便利但不常被使用的原生工具类的更多相关文章
- 我的Android进阶之旅------>Android关于dp(dip)、sp转px的工具类
下面是一个工具类,提供了dp.sp.px之间相互转化的方法. import android.content.Context; /** * dp.sp 转换为 px 的工具类<br> * & ...
- Android代码优化----Application节点的模板写法及UI工具类
一. MyApplication类的编写: 新建一个类MyApplication,继承自Application.代码如下: MyApplication.java: package com.smyhva ...
- 从零开始学android开发-通过WebService进行网络编程,使用工具类轻松实现
相信大家在平常的开发中,对网络的操作用到HTTP协议比较多,通过我们使用Get或者Post的方法调用一个数据接口,然后服务器给我们返回JSON格式的数据,我们解析JSON数据然后展现给用户,相信很多人 ...
- Android之2D图形(圆、直线、点)工具类 (持续更新)
public class Circle { private PointF centerPoint; private float radius; public PointF getCenterPoint ...
- Android工具类整合
Android-JSONUtil工具类 常用的Json工具类,包含Json转换成实体.实体转json字符串.list集合转换成json.数组转换成json public class JSONUtil ...
- 转--Android中调用webservice的工具类
最近学习WebService,感觉利用这个借口开发网站的Android客户端方便及了,用到一个工具类,这里铭记一下. public static final String WebServiceName ...
- Android 开发工具类 35_PatchUtils
增量更新工具类[https://github.com/cundong/SmartAppUpdates] import java.io.File; import android.app.Activity ...
- android 文件读写工具类
将可以序列化的对象通过base64编码后进行保存 但是感觉多数情况下,不需要采用这个功能,直接保存原始的json字符串,取出来之后再进行解析即可 package com.wotlab.home.mon ...
- Android 开源控件与常用开发框架开发工具类
Android的加载动画AVLoadingIndicatorView 项目地址: https://github.com/81813780/AVLoadingIndicatorView 首先,在 bui ...
随机推荐
- AOJ 0121: Seven Puzzle (BFS DP STL 逆向推理)(转载)
转载自: http://m.blog.csdn.net/blog/Enjoying_Science/42008801 题目链接:http://acm.hust.edu.cn/vjudge/probl ...
- 批量删除.pyo后缀的文件
find . -name "*.pyo" -exec rm {} \; 删除以.pyo后缀的所有文件 find . ! -name "*.pyo" -exec ...
- SQL GROUP BY 后排序
由于GROUP BY 使用Sum函数后 ID等唯一值就无法查询出来了,所以想按照ID排序也就不可以了. 这时可以使用一个MIN 或者MAX函数来取得一个最小或者最大的ID 这样就可以实现以其中一条ID ...
- PHP-----数组和常见排序算法
数组的创建 <?php //php创建数组 //第一种方法 $arr[0]=1; $arr[1]=23; $arr[2]=20; $arr[3]=43; for($i=0;$i<count ...
- My97日期控件 选择日期区间
<script language="javascript" type="text/javascript" src="My97DatePicker ...
- Scrum Meeting 9-20151211
任务安排 姓名 今日任务 明日任务 困难 董元财 请假(参加编译测试) 无 胡亚坤 首页界面优化 无 刘猛 请假(参加编译测试) 无 马汉虎 请假(参加编译测试) 无 赖彦俞 请假(参加编译测试) 无 ...
- sublime_text3配置
推荐视频 http://v.youku.com/v_show/id_XMzU5NzQ5ODgw.html 介绍的是2版本 准备工作 点击连接下载Sublime Text3 初始化用户信息 第一次安装该 ...
- Linux_命令_积累
1.ps 查看进程状态 ZC: "ps -a" 和 "ps a" 有区别... (具体查看 "man ps") 1.1.ps aux 1.2 ...
- mac Zip 常用命令
最通俗的用法 zip -q -r -e -m -o [yourName].zip someThing -q 表示不显示压缩进度状态 -r 表示子目录子文件全部压缩为zip //这部比较重要,不然的话 ...
- canvas滤镜6种效果吗
昨天写了一个canvas滤镜的取反色效果,今天加一点效果,主要思路都是一样的,改变getImageData.data[]的值,并返回 代码如下: <!DOCTYPE html> <h ...