Android快速开发工具集合——YUtils

最近更新 2021.01.26

How to use

  • Step 1 project:build.gradle
allprojects {
repositories {
...
maven { url 'https://www.jitpack.io' }
}
}
  • Step 2 app:build.gradle(以下3种引用方式,三选一即可)
dependencies {
//kotlin 版本
implementation 'com.github.yechaoa.YUtils:yutilskt:3.2.0'

//java 版本
implementation 'com.github.yechaoa.YUtils:yutils:3.2.0'

//kotlin && java 版本
implementation 'com.github.yechaoa:YUtils:3.2.0'
}

一、初始化

in your Application

//初始化
YUtils.init(this);

//打印开关(可选,默认false不打印)
LogUtil.setIsLog(true);

二、功能

1.YUtils(各种小工具)

  • void init(Application app)
    Application 中初始化
  • Application getApp()
    获取全局上下文
  • void showLoading(Activity activity,String msg)
    Loading加载框
  • void hideLoading()
    hideLoading
  • boolean loadingIsShowing()
    loading是否显示
  • void finishBySleep(final long millis)
    根据时间休眠然后关闭当前页面,比如:3秒自动返回
  • String getVersionName()
    获取版本名
  • int getVersionCode()
    获取版本号
  • boolean checkPhoneNumber(String mobiles)
    校验手机号
  • String MD5(String data)
    MD5加密
  • void copyToClipboard(String text)
    复制文本到粘贴板
  • View Foreground(View view, int color, int start, int end)
    字体高亮(TextView、EditText、Button)like this —》 YUtils.Foreground(mEditText, Color.RED,1,2);
  • void showSoftKeyboard(View view)
    弹出软键盘
  • void closeSoftKeyboard()
    关闭软键盘
  • Boolean hasSim()
    是否有sim卡 即设备是否可以拨打电话等

2.ToastUtil(任意线程,不重复显示,可取消).

  • show(final String msg)
    底部显示(默认),任何线程且不会超长显示
  • void showCenter(final String msg)
    showCenter 居中显示
  • void cancel()
    取消Toast,onDestroy时调用,或onPause,当前页面finish之后在下一个页面不会再显示

3.LogUtil(日志打印,带方法行数链接,可超长打印)

  • void setIsLog(boolean isLog)
    是否打印
  • setIsLog(boolean isLog, String tag)
    带全局tag
  • void i(String msg)
    不带tag
  • void i(String TAG, String msg)
    带tag
  • void d(String msg)
  • void d(String TAG, String msg)
  • void e(String msg)
  • void e(String TAG, String msg)

4.ActivityUtil(Activity管理)

  • Activity getCurrentActivity()
    获得当前栈顶Activity
  • String getCurrentActivityName()
    获得当前Activity名字
  • void start(Class<?> targetActivity)
    启动指定Activity 无参
  • void start(Class<?> targetActivity, Bundle bundle)
    启动指定Activity,带Bundle参数(kotlin调用参数可选)
  • void finish(Activity activity)
    关闭指定Activity
  • void closeAllActivity()
    关闭所有Activity

5.SpUtil(SharedPreferences)

  • void setString(String key, String value)
    String
  • String getString(String key)
  • void setStringSet(String key, Set value)
    StringSet
  • Set getStringSet(String key)
  • void setInt(String key, String value)
    Int
  • String getInt(String key)
  • void setBoolean(String key, String value)
    Boolean
  • String getBoolean(String key)
  • void setFloat(String key, String value)
    Float
  • String getFloat(String key)
  • void setLong(String key, String value)
    Long
  • String getLong(String key)
  • void removeByKey(String key)
    根据key移除
  • void removeAll()
    移除所有

6.ShareUtil(调用系统分享)

  • void shareImage(String title, Uri uri)
    分享图片
  • void shareText(String title, String text)
    分享文字

7.TimeUtil

  • String getDate()
    获取当前年月日
  • String getTime()
    获取当前时分秒
  • String getDateAndTime()
    获取当前年月日时分秒
  • Long getTimeForLong()
    获取当前时间,返回Long类型
  • String formatDate(String mDate)
    转换为年月日

8.ParseUtil(直接解析 Json)

2.0.8版本之后简化了解析方式,且不兼容更新

like this

{
"code": "0",
"data": "修改成功",
"flag": true,
"info": null
}
  • String parseCode(String response)
    解析Code
  • boolean parseFlag(String response)
    解析Flag
  • String parseData(String response)
    解析data
  • String parseInfo(String response)
    解析info
  • String parseByKey(String response, String key)
    根据key值解析,只支持json中的一级字段

9.GsonUtil

  • String GsonString(Object object)
    转成json
  • T GsonToBean(String gsonString, Class cls)
    转成bean
  • List GsonToList(String gsonString, Class cls)
    转成list
  • GsonToMaps(String gsonString)

10.DisplayUtil

  • int dp2px(float dp)
    dp2px
  • float px2dp(int px)
    px2dp
  • int getScreenWidth()
    获取屏幕宽度
  • int getScreenHeight()
    获取屏幕高度
  • int getStatusBarHeight()
    获取状态栏高度
  • int getActionBarHeight()
    获取ActionBar高度
  • int getNavBarHeight()
    获取导航栏高度


更新记录

3.2.0(2021-01-26)

  • targetSdkVersion 30
  • ToastUtil适配Android 11

3.1.5(2020-12-29)

  • 初始化校验
  • YUtils新增sim卡判断

3.1.4(2020-12-26)

  • SpUtil优化

3.1.3(2020-10-30)

  • 添加DisplayUtil
  • 优化。

3.1.2 (2020-10-22)

优化。

3.1.1

优化引用方式,可以kotlin和java分开引用,也可以一起引用。

3.1.0

简化了部分util原有的调用方式,属于兼容更新。

3.0.0

  • 3.0.0以后新增了​​kotlin​​版本;
  • 此外,java版本和kotlin版本都删除了​​ExitUtils​​;
  • kotlin版本没有​​GsonUtil​​;


混淆

#YUtils
-keep class com.yechaoa.yutils.**{*;}