Home

Awesome

Android工具类库 Build Status Download API Gradle Version Licence

囊括了一大部分Android应用开发过程当中常用的工具类。工具类来源整理自网络和自己编写。

所有的工具类简介 (a - z):

介绍
AnimationUtilsAnimation 工具类
AppUtilsAPP 相关信息工具类
AssetDatabaseOpenHelper读取 Asset 目录中数据库工具类
BitmapUtilBitmap 工具类主要包括获取 Bitmap 和对 Bitmap 的操作
CipherUtils加密与解密的工具类
Colors常用颜色色值工具类
CommonUtil一些通用的方法
ChannelUtil为打包而生的渠道工具类 极速打包传送门
DataCleanManager应用数据清除类,主要功能有清除内/外缓存,清除数据库,清除 SharedPreference,清除 files 和清除自定义目录
DatabaseExportUtils导出应用数据库工具类
DateUtils日期工具类
DeviceStatusUtils手机状态工具类 主要包括网络、蓝牙、屏幕亮度、飞行模式、音量等
DisplayUtils系统显示相关工具类
DoubleKeyValueMap双键值对
DownloadManagerPro下载管理工具类
FileUtils文件操作工具类
HanziToPinyin汉字转拼音工具类
ImsiUtilIMSI 工具类
JSONUtilsJson 解析工具类
LocationUtils根据经纬度查询地址信息和根据地址信息查询经纬度
LogUtilsLog工具类。课参考博文:Android Log 工具类
NetUtil网络工具类
PackageUtils应用安装下载相关
PhoneUtil手机组件调用工具类
PollingUtils轮询服务工具类
PreferencesCookieStoreCookie 存储工具类
RUtilsR 反射资源 ID 工具类
RandomUtils随机工具类
RegUtils数据校验工具类
ResourceUtils文件资源读取工具类
SDCardUtilsSDcard 操作工具类
SettingUtils应用配置工具类
ShellUtilsshell 工具类
ShortCutUtils快捷方式工具类
Singleton单例模式抽象类
StringUtils字符串操作工具包。字符串其他操作可以使用 TextUtils 类。
ViewAnimationUtils视图动画工具箱,提供简单的控制视图的动画的工具方法
ViewUtilsView 相关工具类
ViewFinderfindViewById 替代工具类
WindowUtils窗口工具类
BaseApplication应用 Application 此处主要是为了错误处理。
BaseCrashHandler在 Application 中统一捕获异常,保存到文件中下次再打开时上传
RebootThreadExceptionHandler重启线程异常处理器,当发生未知异常时会提示异常信息并在一秒钟后重新启动应用。
StartAppReceiver重启应用广播接收器。
ToastsUtilsToasts弹框。
SharesUtils分享,调用手机自带的分享字符串或图片。
DeviceUtils获取设备唯一标志

Framework 内置工具类

AOSP 源码中包含Util关键字的类,整理出的列表如下:

// 系统
./android/database/DatabaseUtils.java
./android/transition/TransitionUtils.java
./android/view/animation/AnimationUtils.java
./android/view/ViewAnimationUtils.java
./android/webkit/URLUtil.java
./android/bluetooth/le/BluetoothLeUtils.java
./android/gesture/GestureUtils.java
./android/text/TextUtils.java
./android/text/format/DateUtils.java
./android/os/FileUtils.java
./android/os/CommonTimeUtils.java
./android/net/NetworkUtils.java
./android/util/MathUtils.java
./android/util/TimeUtils.java
./android/util/ExceptionUtils.java
./android/util/DebugUtils.java
./android/drm/DrmUtils.java
./android/media/ThumbnailUtils.java
./android/media/ImageUtils.java
./android/media/Utils.java
./android/opengl/GLUtils.java
./android/opengl/ETC1Util.java
./android/telephony/PhoneNumberUtils.java

// 设计和支持库
./design/src/android/support/design/widget/ViewGroupUtils.java
./design/src/android/support/design/widget/ThemeUtils.java
./design/src/android/support/design/widget/ViewUtils.java
./design/lollipop/android/support/design/widget/ViewUtilsLollipop.java
./design/base/android/support/design/widget/AnimationUtils.java
./design/base/android/support/design/widget/MathUtils.java
./design/honeycomb/android/support/design/widget/ViewGroupUtilsHoneycomb.java
./v7/recyclerview/src/android/support/v7/widget/helper/ItemTouchUIUtil.java
./v7/recyclerview/src/android/support/v7/widget/helper/ItemTouchUIUtilImpl.java
./v7/recyclerview/src/android/support/v7/util/MessageThreadUtil.java
./v7/recyclerview/src/android/support/v7/util/AsyncListUtil.java
./v7/recyclerview/src/android/support/v7/util/ThreadUtil.java
./v7/recyclerview/tests/src/android/support/v7/widget/AsyncListUtilLayoutTest.java
./v7/recyclerview/tests/src/android/support/v7/util/AsyncListUtilTest.java
./v7/recyclerview/tests/src/android/support/v7/util/ThreadUtilTest.java
./v7/appcompat/src/android/support/v7/graphics/drawable/DrawableUtils.java
./v7/appcompat/src/android/support/v7/widget/DrawableUtils.java
./v7/appcompat/src/android/support/v7/widget/ThemeUtils.java
./v7/appcompat/src/android/support/v7/widget/ViewUtils.java
./v4/tests/java/android/support/v4/graphics/ColorUtilsTest.java
./v4/jellybean-mr1/android/support/v4/text/TextUtilsCompatJellybeanMr1.java
./v4/jellybean/android/support/v4/app/BundleUtil.java
./v4/jellybean/android/support/v4/app/NavUtilsJB.java
./v4/java/android/support/v4/app/NavUtils.java
./v4/java/android/support/v4/database/DatabaseUtilsCompat.java
./v4/java/android/support/v4/graphics/ColorUtils.java
./v4/java/android/support/v4/text/TextUtilsCompat.java
./v4/java/android/support/v4/util/TimeUtils.java
./v4/java/android/support/v4/util/DebugUtils.java
./v4/java/android/support/v4/content/res/TypedArrayUtils.java

如何使用 (How to install)

allprojects {
    repositories {
        // other repositories
        maven {
            url  "http://dl.bintray.com/ihongqiqu/maven"
        }
    }
}
dependencies {
    compile 'com.ihongqiqu:android-utils:1.0.2'
}

需要权限 (Permission)

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<!-- 获取 UUID 用到 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

配置 (Configuration)

<application
        android:name="com.ihongqiqu.app.BaseApplication" >

发布正式版本注释 Log 只需要设置 <code>LogUtils.DEBUG_LEVEL = Log.ASSERT</code>

混淆 (Proguard)

代码混淆只需要在 Proguard 规则文件中添加如下代码即可( Eclipse 下为 proguard.cfg 文件):

-keep class com.ihongqiqu.** { *; }
-keepclassmembers class com.ihongqiqu.** { *; }
-dontwarn com.ihongqiqu.**

开发者 (Developer)

License

Copyright 2014-2017 Zhenguo Jin

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.