Utils
JUtils:小功能集合
JActivityManager:Activity 的管理类。保持所有存在 activity 引用
JFileManager:data 目录下文件管理
JTimeTransform:时间格式转换器
添加依赖
compile 'com.jude:utils:1.2.2'
API
void initialize(Application app)
在 Application 的 OnCreate 里面初始化void setDebug(boolean isDebug,String TAG)
最好这样写 JUtils.setDebug(BuildConfig.DEBUG, "DefaultTag");void Log(String text)
void Log(String TAG,String text)
简便的全局 Log,根据 Debug 模式是否 logvoid Toast(String text)
void ToastLong(String text)
简便的全局 Toast.无论哪个线程都可以。int dip2px(float dpValue)
int px2dip(float pxValue)
dp 与 px 的转换int getScreenWidth()
int getScreenHeight()
int getScreenHeightWithStatusBar()
int getStatusBarHeight()
int getActionBarHeight()
int getNavigationBarHeight()
取各种视图的默认高度。void closeInputMethod(Activity act)
关闭输入法。输入法焦点所在 activityboolean isBackground()
判断应用是否在后台void copyToClipboard(String text)
复制文本到剪贴版getSharedPreference()
取默认 SharedPreferencedouble distance(double jingdu1, double weidu1, double jingdu2, double weidu2)
测量 2 个经纬度坐标之间的距离。boolean isNetWorkAvilable()
网络是否有效int getAppVersionCode()
取 APP 版本号String getAppVersionName()
取 APP 版本名Bitmap BitmapZoom(Bitmap b, float x, float y)
将 b 拉伸到宽 x,高 yString MD5(byte[] data)
md5 签名String getStringFromAssets(String fileName)
从 Assets 里读文本文件Uri getUriFromRes(int id)
读取资源文件 UriString sendPost(String url, String param)
最直接的 post 请求
JFileManager
Manager 会自动根据你传进来的枚举类型名字初始化 data 目录。
并把目录作为对象提供常用文件操作。
JFileManager 应该在 Application 里初始化。
用法示例
//文件目录列表
enum Dir{
Image,Text,Object,
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvTitle = (TextView) findViewById(R.id.title);
//初始化传入文件目录列表,并初始化。此处 data 目录下会生成 Image,Text,Object3 个文件夹
FileManager.getInstance().init(this,Dir.values());
//根据枚举类型获取目录。Folder 对象提供本目录下多种文件存取操作
FileManager.Folder folder = FileManager.getInstance().getFolder(Dir.Image);
//eg:对象序列化存取
folder.writeObjectToFile("对象存储", "test");
tvTitle.setText((String) folder.readObjectFromFile("test"));
}
JTimeTransform
不仅有时间戳,格式文本的解析。
String toString(DateFormat format)
可自定义的解析方式.
自带一种实现JTimeTransform.RecentDateFormat
,这样使用就好了:
new JTimeTransform(data.getTime()).toString(new JTimeTransform.RecentDateFormat())
可以自动判断x 秒前
,x 分钟前
,x 小时前
,昨天
,x 天前
JActivityManager
在 Application 中注册
registerActivityLifecycleCallbacks(JActivityManager.getActivityLifecycleCallbacks());
然后就可以在任何地方JActivityManager.getInstance().currentActivity()
获取当前最顶层 activityJActivityManager.getInstance().closeActivity(Activity activity)
关闭 activityJActivityManager.getInstance().closeAllActivity()
关闭所有 activity
License
Copyright 2015 Jude
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.