Android快速开发工具集合——YUtils
How to use
Step 1 project:build.gradle
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2 app:build.gradle
dependencies {
compile 'com.github.yechaoa:YUtils:2.0.8'
}
2.0.8的版本去掉了gson依赖,避免与其他第三方gson编译冲突,2.0.7的版本gson可用
一、初始化(init)
in your Application
//初始化
YUtils.initialize(this);
//设置打印开关
LogUtil.setIsLog(true);
//注册Activity生命周期
registerActivityLifecycleCallbacks(ActivityUtil.getActivityLifecycleCallbacks());
二、使用(use)
1.YUtils(各种小工具)
void initialize(Application app)
Application 中初始化Application getApplication()
获取全局上下文int getScreenWidth()
获取屏幕宽度int getScreenHeight()
获取屏幕高度void showLoading(String msg)
Loading加载框void showLoading(Activity activity,String msg)
比第一种多个参数,在不确定是否还有其他dialog的情况下,使用第二种void dismissLoading()
dismissLoadingvoid finishBySleep(final long millis)
根据时间休眠然后关闭当前页面,比如:3秒自动返回String getVersionName()
获取版本名int getVersionCode()
获取版本号boolean checkPhoneNumber(String mobiles)
校验手机号String MD5(String data)
MD5加密int dp2px(float dp)
dp2pxfloat px2dp(int px)
px2dpvoid 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);boolean isNetWorkAvailable()
判断网络状态void closeSoftKeyboard()
关闭软键盘
2.ToastUtil(任意线程,不重复显示,可取消)
showToast(final String msg)
底部显示(默认),任何线程且不会超长显示void showCenterToast(final String msg)
showCenterToast 居中显示void cancelToast()
取消Toast,onDestroy时调用,或onPause,当前页面finish之后在下一个页面不会再显示
3.LogUtil(日志打印,带方法行数链接,可超长打印)
void setIsLog(boolean isLog)
是否打印setIsLog(boolean isLog, String tag)
带全局tagvoid i(String msg)
不带tagvoid i(String TAG, String msg)
带tagvoid d(String msg)
void d(String TAG, String msg)
void e(String msg)
void e(String TAG, String msg)
4.ActivityUtil(Activity管理)
Activity getCurrentActivity()
获得当前栈顶ActivityString getCurrentActivityName()
获得当前Activity名字void finishActivity(Activity activity)
关闭当前Activityvoid closeAllActivity()
关闭所有Activity
5.SpUtil(SharedPreferences)
void setString(String key, String value)
StringString getString(String key)
void setInt(String key, String value)
IntString getInt(String key)
void setBoolean(String key, String value)
BooleanString getBoolean(String key)
void setFloat(String key, String value)
FloatString getFloat(String key)
void setLong(String key, String value)
LongString 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)
like this
{
"code": "0",
"data": "修改成功",
"flag": true,
"info": null,
"infoValues": null
}
String parseCode(String response)
解析Codeboolean parseFlag(String response)
解析FlagString parseData(String response, String key)
解析dataString parseInfo(String response, String key)
解析info
9.GsonUtil
String GsonString(Object object)
转成jsonT GsonToBean(String gsonString, Class cls)
转成beanList GsonToList(String gsonString, Class cls)
转成listGsonToMaps(String gsonString)
10.ExitUtils
like this
private ExitUtils exit = new ExitUtils();
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
pressAgainExit();
return true;
}
return super.onKeyDown(keyCode, event);
}
/**
* 双击返回键退出
*/
private void pressAgainExit() {
if (exit.isExit()) {
ActivityUtil.closeAllActivity();
} else {
YUtils.showToast("再按一次退出");
exit.doExitAction();
}
}