Android开发人员不得不收集的代码(转)

  • App相关→AppUtils.java

    • 安装App installApp
    • 卸载指定包名的App uninstallApp
    • 获取当前App信息 getAppInfo
    • 获取所有已安装App信息 getAllAppsInfo
    • 根据包名判断App是否安装 isInstallApp
    • 打开指定包名的App openAppByPackageName
    • 打开指定包名的App应用信息界面 openAppInfo
    • 可用来做App信息分享 shareAppInfo
    • 判断当前App处于前台还是后台 isAppBackground
  • 常量相关→ConstUtils.java
    • 存储相关常量
    • 时间相关常量
    • 正则相关常量
  • 转换相关→ConvertUtils.javaTest
    • 每1个byte转为2个hex字符 bytes2HexString
    • 每2个hex字符转为1个byte hexString2Bytes
    • charArr转byteArr chars2Bytes
    • byteArr转charArr bytes2Chars
  • 设备相关→DeviceUtils.java
    • 获取设备MAC地址 getMacAddress
    • 获取设备厂商,如Xiaomi getManufacturer
    • 获取设备型号,如MI2SC getModel
  • 编码解码相关→EncodeUtils.javaTest
    • URL编码 urlEncode
    • URL解码 urlDecode
    • Base64编码 base64Encode base64Encode2String
    • Base64解码 base64Decode
    • Base64URL安全编码 base64UrlSafeEncode
    • Html编码 htmlEncode
    • Html解码 htmlDecode
  • 加密解密相关→EncryptUtils.javaTest
    • MD2加密 encryptMD2ToString encryptMD2
    • MD5加密 encryptMD5ToString encryptMD5
    • SHA1加密 encryptSHA1ToString encryptSHA1
    • SHA224加密 encryptSHA224ToString encryptSHA224
    • SHA256加密 encryptSHA256ToString encryptSHA256
    • SHA384加密 encryptSHA384ToString encryptSHA384
    • SHA512加密 encryptSHA512ToString encryptSHA512
    • 获取文件的MD5校验码 encryptMD5File2String encryptMD5File
    • DES加密后转为Base64编码 encryptDES2Base64
    • DES加密后转为16进制 encryptDES2HexString
    • DES加密 encryptDES
    • DES解密Base64编码密文 decryptBase64DES
    • DES解密16进制密文 decryptHexStringDES
    • DES解密 decryptDES
    • 3DES加密后转为Base64编码 encrypt3DES2Base64
    • 3DES加密后转为16进制 encrypt3DES2HexString
    • 3DES加密 encrypt3DES
    • 3DES解密Base64编码密文 decryptBase64_3DES
    • 3DES解密16进制密文 decryptHexString3DES
    • 3DES解密 decrypt3DES
    • AES加密后转为Base64编码 encryptAES2Base64
    • AES加密后转为16进制 encryptAES2HexString
    • AES加密 encryptAES
    • AES解密Base64编码密文 decryptBase64AES
    • AES解密16进制密文 decryptHexStringAES
    • AES解密 decryptAES
  • 文件相关→FileUtils.javaTest
    • 根据文件路径获取文件 getFileByPath
    • 判断文件是否存在 isFileExists
    • 判断是否是目录 isDir
    • 判断是否是文件 isFile
    • 判断目录是否存在,不存在则判断是否创建成功 createOrExistsDir
    • 判断文件是否存在,不存在则判断是否创建成功 createOrExistsFile
    • 判断文件是否存在,存在则在创建之前删除 createFileByDeleteOldFile
    • 复制目录 copyDir
    • 复制文件 copyFile
    • 移动目录 moveDir
    • 移动文件 moveFile
    • 删除目录 deleteDir
    • 删除文件 deleteFile
    • 将输入流写入文件 writeFileFromIS
    • 将字符串写入文件 writeFileFromString
    • 简单获取文件编码格式 getFileCharsetSimple
    • 获取文件行数 getFileLines
    • 指定编码按行读取文件到List readFile2List
    • 指定编码按行读取文件到StringBuilder中 readFile2SB
    • byte单位转换(单位:unit) byte2Unit
    • 获取文件大小 getFileSize
    • 根据全路径获取最长目录 getDirName
    • 根据全路径获取文件名 getFileName
    • 根据全路径获取文件名不带拓展名 getFileNameNoExtension
    • 根据全路径获取文件拓展名 getFileExtension
  • 图片相关→ImageUtils.java
    • 完善ing
  • 键盘相关→KeyboardUtils.java
    • 避免输入法面板遮挡
    • 动态隐藏软键盘 hideSoftInput
    • 点击屏幕空白区域隐藏软键盘(注释萌萌哒) clickBlankArea2HideSoftInput0
    • 动态显示软键盘 showSoftInput
    • 切换键盘显示与否状态 toggleSoftInput
  • 网络相关→NetworkUtils.java
    • 打开网络设置界面 openWirelessSettings
    • 判断网络是否可用 isAvailable
    • 判断网络是否连接 isConnected
    • 判断网络是否是4G is4G
    • 判断wifi是否连接状态 isWifiConnected
    • 获取移动网络运营商名称 getNetworkOperatorName
    • 获取移动终端类型 getPhoneType
    • 获取当前的网络类型(WIFI,2G,3G,4G) getNetWorkType getNetWorkTypeName
  • 手机相关→PhoneUtils.java
    • 判断设备是否是手机 isPhone
    • 获取手机的IMIE getPhoneIMEI
    • 获取手机状态信息 getPhoneStatus
    • 跳至填充好phoneNumber的拨号界面 dial
    • 拨打phoneNumber call
    • 发送短信 sendSms
    • 获取手机联系人 getAllContactInfo
    • 打开手机联系人界面点击联系人后便获取该号码(注释萌萌哒) getContantNum
    • 获取手机短信并保存到xml中 getAllSMS
  • 正则相关→RegularUtils.javaTest
    • 验证手机号(简单) isMobileSimple
    • 验证手机号(精确) isMobileExact
    • 验证电话号码 isTel
    • 验证身份证号码15位 isIDCard15
    • 验证身份证号码18位 isIDCard18
    • 验证邮箱 isEmail
    • 验证URL isURL
    • 验证汉字 isChz
    • 验证用户名 isUsername
    • 验证yyyy-MM-dd格式的日期校验,已考虑平闰年 isDate
    • 验证IP地址 isIP
    • string是否匹配regex isMatch
  • 屏幕相关→ScreenUtils.java
    • 获取手机分辨率 getDeviceWidth、getDeviceHeight
    • 设置透明状态栏(api大于19方可使用) setTransparentStatusBar
    • 隐藏状态栏(注释萌萌哒) hideStatusBar
    • 获取状态栏高度 getStatusBarHeight
    • 判断状态栏是否存在 isStatusBarExists
    • 获取ActionBar高度 getActionBarHeight
    • 显示通知栏 showNotificationBar
    • 隐藏通知栏 hideNotificationBar
    • 设置屏幕为横屏(注释萌萌哒) setLandscape
    • 获取屏幕截图 snapShotWithStatusBar、snapShotWithoutStatusBar
    • 判断是否锁屏 isScreenLock
  • SD卡相关→SDCardUtils.java
    • 获取设备SD卡是否可用 isSDCardEnable
    • 获取设备SD卡路径 getSDCardPath
    • 完善ing
  • Shell相关→ShellUtils.java
    • 判断设备是否root isRoot
    • 是否是在root下执行命令 execCmd
  • 尺寸相关→SizeUtils.java
    • dp与px转换 dp2px、px2dp
    • sp与px转换 sp2px、px2sp
    • 各种单位转换 applyDimension
    • 在onCreate()即可强行获取View的尺寸 forceGetViewSize
    • ListView中提前测量View尺寸(注释萌萌哒) measureView
  • SP相关→SPUtils.java
    • SP中写入String类型value putString
    • SP中读取String getString
    • SP中写入int类型value putInt
    • SP中读取int getInt
    • SP中写入long类型value putLong
    • SP中读取long getLong
    • SP中写入float类型value putFloat
    • SP中读取float getFloat
    • SP中写入boolean类型value putBoolean
    • SP中读取boolean getBoolean
  • 字符串相关→StringUtils.javaTest
    • 判断字符串是否为null或长度为0 isEmpty
    • 判断字符串是否为null或全为空格 isSpace
    • null转为长度为0的字符串 null2Length0
    • 返回字符串长度 length
    • 首字母大写 upperFirstLetter
    • 首字母小写 lowerFirstLetter
    • 转化为半角字符 toDBC
    • 转化为全角字符 toSBC
  • 时间相关→TimeUtils.javaTest
    • 将时间戳转为时间字符串 milliseconds2String
    • 将时间字符串转为时间戳 string2Milliseconds
    • 将时间字符串转为Date类型 string2Date
    • 将Date类型转为时间字符串 date2String
    • 将Date类型转为时间戳 date2Milliseconds
    • 将时间戳转为Date类型 milliseconds2Date
    • 毫秒时间戳单位转换(单位:unit) milliseconds2Unit
    • 获取两个时间差(单位:unit) getIntervalTime
    • 获取当前时间 getCurTimeMills getCurTimeString getCurTimeDate
    • 获取与当前时间的差(单位:unit) getIntervalByNow
    • 判断闰年 isLeapYear
  • 未归类→UnclassifiedUtils.java
    • 获取服务是否开启 isRunningService
  • 更新Log→update_log.md

做这份整理是想把它作为Android开发的小字典,当遇到一些琐碎问题时,不用再面向百度或者谷歌查询API的使用,费时费力,这里有的话,大家尽管撸走;同时也希望它能逐日壮大起来,期待大家的Star和完善,当然我也会一直更新发布版本和日志,为了方便大家导入,现已上传jcenter;其中很多代码也是汇四方之精华,谢谢前辈们的提供,当然最终还是要通过单元测试的,

Download



Gradle:

[代码]xml代码:

compile ‘com.blankj:utilcode:1.1.1‘

Proguard

[代码]xml代码:

-keep class com.blankj.utilcode.** { *; }
-keepclassmembers class com.blankj.utilcode.** { *; }
-dontwarn com.blankj.utilcode.**
时间: 2024-08-12 07:18:37

Android开发人员不得不收集的代码(转)的相关文章

Android开发人员不得不收集的代码(不断更新中...)

尺寸相关 dp与px转换 sp与px转换 各种单位转换 在onCreate()即可获取View的宽高 ListView中提前测量View尺寸 手机相关 判断设备是否是手机 获取当前设备的IMIE,需与上面的isPhone一起使用 获取手机状态信息 是否有SD卡 获取MAC地址 获取手机厂商,如Xiaomi 获取手机型号,如MI2SC 跳转至拨号界面 拨打电话 发送短信 获取手机联系人 直接打开手机联系人界面,并获取联系人号码 获取手机短信并保存到xml中 网络相关 打开网络设置界面 判断是否网络

android开发异常信息收集程序代码

首先创建全局的Application ,此Application全局通用. package com.demo.utils; import com.demo.exception.CrashHandler; import android.app.Application; /** * 全局的context,任意位置调用 * @author Administrator * */ public class GlobalApplication extends Application { private st

Android开发人员应该知道的Kotlin

本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2016/01/kotlin-android Android开发人员在语言限制方面面临着一个困境. 众所周知,眼下的Android开发仅仅支持Java 6(语言本身从Java 7開始进行了一些改进),因此我们每天仅仅能使用一种古老的语言来进行开发,这极大地减少了我们的生产力,同一时候也迫使我们不得不编写大量的样板与脆弱的代码.然而这种代码是难以阅读和维护的. 幸运的是,Android程

Android 开发人员必须掌握的 10 个开发工具

Android 开发人员必须掌握的 10 个开发工具 Android SDK 本身包含很多帮助开发人员设计.开发.测试和发布 Android 应用的工具,在本文中,我们将讨论 10 个最常用的工具. #1: Eclipse ADT Eclipse ADT 是 Eclipse 平台下用来开发 Android 应用程序的插件. #2: The SDK and AVD Manager 该工具包含很多重要的功能,包括管理不同的 Android SDK 版本(构建目标),你知道的 Android 的版本众

50个Android开发人员必备UI效果源码[转载]

50个Android开发人员必备UI效果源码[转载] http://blog.csdn.net/qq1059458376/article/details/8145497 Android 仿微信之主页面实现篇Android 仿微信之界面导航篇Android 高仿QQ 好友分组列表Android 高仿QQ 界面滑动效果Android 高仿QQ 登陆界面Android 对Path的旋转效果的拓展Android高仿360安全卫士布局源码Android SlidingDrawer 滑动抽屉效果Androi

Android开发人员必知的开发资源

developer.android.com 官方开发人员网站推荐资源 在动手编写第一个 Android 应用之前,用心读一读 Android Design 章节.尤其是以下的这些文章: Devices and Displays  (设备和显示) Touch Feedback(触摸反馈) Metrics and Grids (度量和网格) Iconography (图像研究) 同一时候也请下载 Downloads 部分的代码,这些代码囊括了 Android 图标和控件的设计模板,源文件.样式以及无

如何成为一个偷懒又高效的Android开发人员

我敢肯定你对这个标题肯定心存疑惑,但事实就是如此,这个标题完全适合Android开发人员.据我所知, Android程序员不情愿写 findViewById().点击事件监听等重复率较高的代码.那我们如何才能缩短编写业务逻辑代码的时间,并且避免写那些重复的代码呢?所以让我们来成为一个能偷懒又有高效率的Android程序员.想知道怎么做吗?不用急,接下来我就会写到. 有许多第三方的库.框架和解决方案可供我们使用.出于种种原因,我们并不知道这些库或者知道但还没用过.有的开发者开发了自己定义的库或者并

给 Android 开发人员的 RxJava 具体解释

鉴于 RxJava 眼下这样的既火爆又神奇的现状,而我又在一年的使用过程中对 RxJava 有了一些理解,我决定写下这篇文章来对 RxJava 做一个相对具体的.针对 Android 开发人员的介绍. 这篇文章的目的有两个: 1. 给对 RxJava 感兴趣的人一些入门的指引 2. 给正在使用 RxJava 但仍然心存疑惑的人一些更深入的解析. 在正文開始之前的最后,放上?GitHub?链接和引入依赖的?gradle?代码: Github:? https://github.com/Reactiv

Java vs Kotlin,Android开发人员应该选择哪种语言?

自 Google 于 2017 年宣布 Kotlin 成为 Google IO 的 Android 开发官方语言以来,想要成为Android开发人员的程序员正陷入两难境地. 在讨论这个问题前,我首先要明确一点, 不要陷入编程语言战争,不要进行语言鄙视,只要能赚钱的编程语言就是好语言. 欢迎加入Android开发技术交流QQ群:862625886,本群可免费获取Gradle.RxJava.小程序.Hybrid.移动架构.NDK.React Native.性能优化等技术教程! 最近看到这样一篇文章: