前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android快速开发工具集合——YUtils

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

作者头像
yechaoa
发布2022-06-10 14:57:58
4500
发布2022-06-10 14:57:58
举报
文章被收录于专栏:移动开发专栏移动开发专栏

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
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-04-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Android快速开发工具集合——YUtils
    • How to use
    • 一、初始化
    • 二、功能
      • 更新记录
      • GitHub
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档