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.**{*;}