Utils

Project Url: Jude95/Utils
Introduction: JUtils:小功能集合JActivityManager:Activity 的管理类。保持所有存在 activity 引用JFileManager:data 目录下文件管理JTimeTransform:时间格式转换器
More: Author   ReportBugs   
Tags:

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 模式是否 log

  • void 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)
    关闭输入法。输入法焦点所在 activity

  • boolean isBackground()
    判断应用是否在后台

  • void copyToClipboard(String text)
    复制文本到剪贴版

  • getSharedPreference()
    取默认 SharedPreference

  • double 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,高 y

  • String MD5(byte[] data)
    md5 签名

  • String getStringFromAssets(String fileName)
    从 Assets 里读文本文件

  • Uri getUriFromRes(int id)
    读取资源文件 Uri

  • String 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()获取当前最顶层 activity
JActivityManager.getInstance().closeActivity(Activity activity)关闭 activity
JActivityManager.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.
Apps
About Me
GitHub: Trinea
Facebook: Dev Tools