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
代码语言:javascript复制//初始化
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
代码语言:javascript复制{
"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
;
混淆
代码语言:javascript复制#YUtils
-keep class com.yechaoa.yutils.**{*;}