Skip to content
Jin edited this page Mar 24, 2023 · 3 revisions

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

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

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

介绍
AnimationUtils Animation 工具类
AppUtils APP 相关信息工具类
AssetDatabaseOpenHelper 读取 Asset 目录中数据库工具类
BitmapUtil Bitmap 工具类主要包括获取 Bitmap 和对 Bitmap 的操作
CipherUtils 加密与解密的工具类
Colors 常用颜色色值工具类
CommonUtil 一些通用的方法
ChannelUtil 为打包而生的渠道工具类 极速打包传送门
DataCleanManager 应用数据清除类,主要功能有清除内/外缓存,清除数据库,清除 SharedPreference,清除 files 和清除自定义目录
DatabaseExportUtils 导出应用数据库工具类
DateUtils 日期工具类
DeviceStatusUtils 手机状态工具类 主要包括网络、蓝牙、屏幕亮度、飞行模式、音量等
DisplayUtils 系统显示相关工具类
DoubleKeyValueMap 双键值对
DownloadManagerPro 下载管理工具类
FileUtils 文件操作工具类
HanziToPinyin 汉字转拼音工具类
ImsiUtil IMSI 工具类
JSONUtils Json 解析工具类
LocationUtils 根据经纬度查询地址信息和根据地址信息查询经纬度
LogUtils Log工具类。课参考博文:Android Log 工具类
NetUtil 网络工具类
PackageUtils 应用安装下载相关
PhoneUtil 手机组件调用工具类
PollingUtils 轮询服务工具类
PreferencesCookieStore Cookie 存储工具类
RUtils R 反射资源 ID 工具类
RandomUtils 随机工具类
RegUtils 数据校验工具类
ResourceUtils 文件资源读取工具类
SDCardUtils SDcard 操作工具类
SettingUtils 应用配置工具类
ShellUtils shell 工具类
ShortCutUtils 快捷方式工具类
Singleton 单例模式抽象类
StringUtils 字符串操作工具包。字符串其他操作可以使用 TextUtils 类。
ViewAnimationUtils 视图动画工具箱,提供简单的控制视图的动画的工具方法
ViewUtils View 相关工具类
ViewFinder findViewById 替代工具类
WindowUtils 窗口工具类
BaseApplication 应用 Application 此处主要是为了错误处理。
BaseCrashHandler 在 Application 中统一捕获异常,保存到文件中下次再打开时上传
RebootThreadExceptionHandler 重启线程异常处理器,当发生未知异常时会提示异常信息并在一秒钟后重新启动应用。
StartAppReceiver 重启应用广播接收器。
ToastsUtils Toasts弹框。
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 只需要设置 LogUtils.DEBUG_LEVEL = Log.ASSERT

混淆 (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.