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

2022-06-10 14:57:58 浏览数 (1)

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

最近更新 2021.01.26

How to use

  • Step 1 project:build.gradle
代码语言:javascript复制
	allprojects {
		repositories {
			...
			maven { url 'https://www.jitpack.io' }
		}
	}
  • Step 2 app:build.gradle(以下3种引用方式,三选一即可)
代码语言:javascript复制
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.**{*;}

GitHub

https://github.com/yechaoa/YUtils

0 人点赞