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)
3.1.4(2020-12-26)
3.1.3(2020-10-30)
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.**{*;}
GitHub