只要在Application 初始化即可

public class AndroidUtilsApplication extends Application {

@Override

public void onCreate() {

super.onCreate();

//崩溃处理

CrashHandlerUtil crashHandlerUtil = CrashHandlerUtil.getInstance();

crashHandlerUtil.init(this);

crashHandlerUtil.setCrashTip(“很抱歉,程序出现异常,即将退出!”);

}

}


FragmentUtils


  • addFragment

  • hideAddFragment

  • removeFragment

  • replaceFragment

  • popFragment

  • showFragment

  • dispatchBackPress

让 Fragment 处理 Back 事件,“高内聚,低耦合”,一直是我们追求的目标,而这完美地体现了这一点


Utils


  • void init(@NonNull final Application app)

在 Application 初始化的时候调用

  • Application getApp()

获取 Application 对象

该工具类的主要作用是为我们提供一个 Application 对象,而 Application 是 Context 的实现类。这样,我们在写很多工具类的时候,就不需要传入 Context 对象了。比如 ToastUtils,SPUtils 等,方便用快捷


SPUtils


  • get

  • put

  • getLong

  • getInt

  • getString

  • getFloat

  • getShort

  • putInt

  • putString

在该工具里面,它依赖于 Utils getApp() 方法,因此,我们在调用相应方法的时候不需要每次都传入 Context 。方便又快捷


ToastUtils


  • showLongSafe

  • showShortSafe

  • showShort

  • showLong

showLongSafe 方法与 showLong 方法的区别在于 showLongSafe 是安全地,它可以直接在子线程中调用


IntentUtils


  • Intent openFile(String filePath)

用来产生打开各种类型文件的 Intent,包括 图片,音频文件,视频文件,APK,ppt,xls,doc,chm,txt 等文件


DensityUtil


  • dip2px

  • px2dip

  • px2sp

  • sp2px

主要用来处理 dp 与 px 的互转,sp 与 px 的互转等。


AppUtil


  • String getAppVersionName(Context context)

获取app版本名

  • int getAppVersionCode(Context context)

获取app版本号


获取网络状态


NetS

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》浏览器打开:qq.cn.hn/FTe 免费领取

tateUtils

  • boolean is3G(Context context)

判断是否是 3G 网络

  • isWifi(Context context)

判断是否是 wifi 网络

  • is2G(Context context)

判断是否是 2G 网络

  • boolean isWifiEnabled(Context context)

判断 WiFi 是否打开

  • isNetworkConnected(Context context)

判断是否有网络连接

  • boolean isMobileConnected(Context context)

判断当前是否是移动网络,并且网络是否可用

  • getAPNType(Context context)

获取当前的网络状态:(该方法是自定义的) :没有网络-0:WIFI网络1:4G网络-4:3G网络-3:2G网络-2

  • String getHostIp()

获取本地的 IP 地址

  • boolean isGPSEnabled(Context context)

判断 GPS 是否开启

更多方法,请参考该类,这里不一一说明了。

监听网络变化

android 监听网络状态的变化及实际应用

监听网络变化的,主要有三个广播

需要注意的 android.NET.conn.CONNECTIVITY_CHANGE 这个广播,从 Android 7.0 开始,如果是静态注册的,将无法收到广播。

更多行为变更请查看官网地址


KeyBoardUtil


  • KeyBoardUtil getInstance(Activity activity)

获取实例对象

  • show()

显示输入法

  • hide()

隐藏输入法


StringUtils


  • isEmpty(CharSequence str)

判断是否是空字符串

  • String getStr(String str,String defStr)

获取字符串的值,如果是 null,返回 defStr。当然你也可以调用 getStr(String str) 方法,为 null 的话,返回 “”。

好处:如果字符串为空,则会包空指针异常。调用该方法,我们可以不必每次判断字符串是否为空。

  • length(CharSequence str)

获取字符串的长度。平时我们如果调用 String.length ,如果字符串为空,则会包空指针异常。调用该方法,我们可以不必每次判断字符串是否为空。

  • String capitalizeFirstLetter(String str)

该方法是将字符串的首字母变为大小写

/**

  • capitalize first letter

  • capitalizeFirstLetter(null) = null;

  • capitalizeFirstLetter("") = “”;

  • capitalizeFirstLetter(“2ab”) = “2ab”

  • capitalizeFirstLetter(“a”) = “A”

  • capitalizeFirstLetter(“ab”) = “Ab”

  • capitalizeFirstLetter(“Abc”) = “Abc”

  • @param str

  • @return

*/


ListUtils


在 Android 开发中,对 List 的操作也是非常常见的。

  • getSize(List sourceList)

获取 List 的数量。该方法相比传统的方法,不需要每一次都去判空。

if(sourceList==null){

return 0;

}else{

sourceList.size();

}

// 或者 相当于以下代码

sourceList == null ? 0 : sourceList.size()

  • isEmpty(List sourceList)

判断 List 是否为空

  • boolean isEquals(List actual, List expected)

判断两个链表是否相等

  • addDistinctEntry(List sourceList, V entry)

if entry already exist in sourceList, return false, else add it and return true.

  • addDistinctList(List sourceList, List entryList)

add all distinct entry to list1 from list2

Android 常用工具类,终局之战相关推荐

  1. Android 常用工具类转换

    Android 常用单位转换的工具类 1. 常用单位转换的工具类 /*** 常用单位转换的工具类*/ public class ViewUtil {private ViewUtil() {/** ca ...

  2. android常用工具类之铃声、音量的设置

    /*** * @author lll* @version 1.0 Create on 2013-12-11 上午10:06:09* @Description: 音量,铃声操作工具类 (注意权限)*/ ...

  3. Android开发工具类 Utils

    包括了各种工具类.辅助类.管理类等 Awesome_API: https://github.com/marktony/Awesome_API/blob/master/Chinese.md 收集中国国内 ...

  4. Android开发工具类

    包括了各种工具类.辅助类.管理类等 Awesome_API: https://github.com/marktony/Awesome_API/blob/master/Chinese.md 收集中国国内 ...

  5. Android开发常用工具类

    来源于http://www.open-open.com/lib/view/open1416535785398.html 主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前 ...

  6. Android开发常用工具类集合

    转载自:https://blog.csdn.net/xiaoyi_tdcq/article/details/52902844 Android开发常用工具类集合 android开发中为了避免重复造轮子, ...

  7. javascript 总结(常用工具类的封装)(转)

    转载地址:http://dzblog.cn/article/5a6f48afad4db304be1e7a5f javascript 总结(常用工具类的封装) JavaScript 1. type 类型 ...

  8. javascript 总结(常用工具类的封装,转)

    javascript 总结(常用工具类的封装) 前言 因为工作中经常用到这些方法,所有便把这些方法进行了总结. JavaScript 1. type 类型判断 isString (o) { //是否字 ...

  9. javascript常用工具类整理(copy)

    JavaScript常用工具类 类型 日期 数组 字符串 数字 网络请求 节点 存储 其他 1.类型 isString (o) { //是否字符串return Object.prototype.toS ...

最新文章

  1. Spring Boot 3.0.0 发布第一个里程碑版本M1,你的 Java 升到 17 了吗?
  2. [原创]WildPackets Omnipeek介绍
  3. 内网之工作组、域 分析
  4. Json-转自菜鸟教程
  5. 下载丨Linux+Oracle 11g+RAC+12cc+adg国内业界最详细生产系统下实施文档
  6. 计算机代码清单目录,(程序源代码清单.doc
  7. ffmpeg gif拆分成多张jpg
  8. centOS7搭建DNS服务器配置详解
  9. Duplicate column name xxx
  10. java转置输出_在java中如何将一个5*3的二维数组转置输出
  11. 计算机硕士论文质疑数据不够,硕士论文伪造数据 抽检_硕士论文编数据的后果_硕士论文数据造假怎么被发现...
  12. kotlin读取文件算法
  13. ApriTag2 检测方法
  14. Linux 二进制文件调试命令
  15. 通知栏消息多种提醒方式
  16. 使用Python将TXT文本内容读取后生成指定XML格式的文件
  17. C#蓝牙链接+传输文件
  18. 人大金仓数据库的归档日志
  19. 2022年全球及中国半导体市场现状分析:数字化转型带来新机遇
  20. vue当前页面中英文语言切换

热门文章

  1. 苹果公司的“多样化”定义:包括加拿大人
  2. sklearn+机器学习
  3. java三次样条函数求导_利用java语言对三次样条曲线的实现
  4. 百万点赞怎么来?用 Python 制作抖音视频原来这么简单
  5. 火绒浏览器怎样禁用js进行文件上传漏洞测试
  6. 【单目3D目标检测】MonoFlex论文精读与代码解析
  7. 7的整除特征 三位一截_小学数学竞赛七、数的整除特征(一)
  8. 线程并发锁竞争--java锁jvm锁--synch锁分析
  9. HTML之在JavaScript中定义函数
  10. Mybatis映射详解