在Android开发中,我们不免会遇到使用一些工具库来简化我们的工具代码的编写,以下是本人之前star的开源项目,供大家参考:

一、android_testsuite

项目地址:https://github.com/renhui/android_testsuite

Android开发工具之app遍历

提供了查找相同UID应用和便利所有应用的功能,如下图:

(如果想了解Android的UID机制,可以看手机操作系统知识整理(二):Android UID 机制)

二、CommonLibrary

项目地址:https://github.com/smuyyh/CommonLibary

主要是整理的一些项目开发中常用的工具类、通用UI的集合,尽可能的覆盖Android开发中通用的一些东西。

anim

AnimationUtils、ViewAnimationUtils。动画工具类,也可为视图创建动画效果。

data

AESUtils、Base64、ByteUtil、DESUtils、HexUtil、MD5Utils、RSAEncrypt、SharePreUtils。用于数据的安全性及数据持久化

io

BitmapUtils、FileUtils、IOUtils、PhotoUtils、StorageUtils。用于图片、文件、Bitmap、IO流之间的转换

log

LogUtils。Log工具类,可控制Log输出开关、保存Log到文件、过滤输出等级

network

用于判断网络连接类型、监听网络变化、设置网络、开启GPS等。

toast

DialogUtils、NotificationUtils、ToastUtils。Toast工具类,解决连续弹出问题,发送通知栏信息、弹出对话框等。

utils

各类常用工具类,包括AlarmUtils,AsyncExecutor,CheckUtils,ClipboardUtils,DateUtils,DeviceUtils,FieldUtils,FlashLightUtils,InputMethodUtils,KeyguardLockUtils,NumberUtils,PackageUtils,PatternUtils,ShellUtils,StringUtils,VibrateUtils,WakeLockUtils,ConvertUtils、DimenUtils、JSONUtils、SerializeUtils

view

各类自定义控件。例如密码输入框、下拉回弹ListView、带删除键的EditText、自动匹配邮箱输入框...

1、闪烁的文字ShimmerTextView及ShimmerButton,修改自Shimmer-android,xml下新增相关动画属性,可直接启动动画。使用方式: 例如ShimmerTextView

<com.yuyh.library.view.text.ShimmerTextView
        android:id="@+id/tvShimmer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:gravity="center"
        android:text="发现没,文字会发亮哦~~"
        android:textColor="#AAAAAA"
        android:textSize="20sp"
        app:direction="ANIMATION_DIRECTION_RTL"
        app:duration="2000"
        app:model="START_RIGHT_AWAY"
        app:reflectionColor="#FFFFFF"
        app:repeatCount="-1"
        app:startDelay="0"
        android:background="#000000"/>

当然,也可以在Java直接启动

Shimmer shimmer = new Shimmer().setDirection(direction).setDuration(duration).setRepeatCount(repeatCount).setStartDelay(startDelay);
shimmer.start((ShimmerTextView) view);

2、SearchEditText。仿iOS的搜索框,默认搜索图标在中间,编辑模式下搜索图标移动到左边。示例:

<com.yuyh.library.view.text.SearchEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/edit_bg_white"
        android:hint="仿ios输入框"
        android:padding="50dp" />

3、ClearEditText。右侧带有清除文字按钮的EditText,是个挺实用的功能

4、EmailAutoCompleteTextView。输入邮箱前缀,会相应生成一些常用的邮箱地址列表,供用户选择,实现快速输入

5、PasswordEditText。默认限定六位密码、类似支付宝、微信支付密码输入框。

progress

progress 集成了CircleProgress这个进度条开源库以及Android-SVProgressHUD,便于显示进度条和Loadding动画

list

1、BorderScrollView。到达顶部或底部触发事件的ScrollView

2、NoScrollListView、NotScrollGridView:全部展开的ListView,解决与ScrollView,由于这两款控件都自带滚动条,嵌套便会出问题,即GridView或ListView会显示不全

3、ReboundListView、ReboundScrollView:弹性ListView和ScrollView,类似iOS实现上下拉可以超出,手指离开后弹回的“阻尼”效果

4、RefreshListView:轻量级下拉刷新ListView控件

layout

common SafePopupWindow:弹窗之前检测Activity是否销毁,防止异常

ViewHolder

ListView或GridView等的适配器视图缓存公共类,在adapter的getView()中使用

button

1、SmoothCheckBox:自定义CheckBox,示例:

<com.yuyh.library.view.button.SmoothCheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="15dp"
            app:smoothCheckBox_color_checked="#FF0000"
            app:smoothCheckBox_color_unchecked_stroke="#FF0000"
            app:smoothCheckBox_is_rect="true" />

2、SwitchButton:自定义SwitchButton动画效果,示例:

<com.yuyh.library.view.button.SwitchButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:onColor="#aa66cc"
            app:swBorderWidth="2dp"/>

image

CircleImageView:自定义圆形图片控件,可用于头像

GifView:轻量级可播放GIF动画的控件

RotateImageView:自动旋转的imageveiw,可用于Loadding

RounderImageView:圆角的ImageView

SimpleTagImageView:四个角斜边带标签的ImageView

CrashHandler

CrashHandler:全局异常捕获

三、AndroidHttpCapture

项目地址:https://github.com/JZ-Darkal/AndroidHttpCapture

AndroidHttpCapture网络诊断工具是一款Android手机抓包软件 主要功能包括:手机端抓包、PING/DNS/TraceRoute诊断、抓包HAR数据上传分享。可以认为这是Android版的"Fiddler" 。

示例图:

Android Tools 开发工具库开源项目总结的更多相关文章

  1. 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解 (旧版本 | 仅作参考)

    . 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...

  2. 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解

    . 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...

  3. Android二维码识别 开源项目ZXing的编译

    Android二维码识别 开源项目ZXing的编译 Android端的条形码/二维码识别功能 因为手机端的输入不是很方便,所以条形码/二维码的扫描是一种很有效的解决手段. 比较流行的手机应用中,常用的 ...

  4. iOS:开发常用GitHub开源项目(持续更新)

    IOS开发常用GitHub开源项目(持续更新) 数据类 开源库 作者 简介 AFNetworking Mattt 网络请求库 ASIHTTPRequest pokeb 网络请求库 Alamofire ...

  5. 我发起并创立了一个 Javascript 前端库 开源项目 jWebForm

    在线演示地址: ( 在线演示 云平台 由 Kooboo 提供  https://www.kooboo.com/ ) 按钮:      http://iwebform.kgeking.kooboo.si ...

  6. PHPStorm.WebStrom等系列官方开发工具配置本地项目与运程服务器同步

    PHPStorm.WebStrom配置本地项目与运程服务器同步 说明:PHPStorm.WebStrom等官方的系统开发工具配置本地项目与运程服务器同步的方法都基本一致没有,几乎没有什么不同之处,我们 ...

  7. (转载)实例详解Android快速开发工具类总结

    实例详解Android快速开发工具类总结 作者:LiJinlun 字体:[增加 减小] 类型:转载 时间:2016-01-24我要评论 这篇文章主要介绍了实例详解Android快速开发工具类总结的相关 ...

  8. Vue tools开发工具报错Cannot read property '__VUE_DEVTOOLS_UID__' of undefined

    使用 vue tools 开发工具,不显示调试面板中的组件,点击控制台报错: Cannot read property 'VUE_DEVTOOLS_UID' of undefined 在 main.j ...

  9. Android Studio开发工具常用快捷键。部分总结,不全面,只包含新手可能少用的

    Android Studio开发工具常用快捷键.部分总结,不全面,只包含新手可能少用的 作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 首先说明,因为 ...

随机推荐

  1. 查找linux下进程占用CPU过高的原因,以php-fpm为例

    很多时候,线上服务器的进程在某时间段内长时间占用CPU过高,为了优化,我们需要找出原因. 1.找出占用CPU最高的10个进程 ps aux | sort -k3nr | head -n 10 或查看占 ...

  2. 安装pygame出现is not a supported wheel on this platform解决办法

    安装python库pygame时出现如下错误: 查看python的版本是否与之匹配,发现版本不匹配问题 例如1.我的python3.6是32位的,就只能安装cp36的:结果发现安装还是出现问题: 2. ...

  3. mysql 函数介绍

    含义 一组预先编译好的SQL语句集合,可以理解成批处理语句 提高代码的重用性 简化操作 减少了编译次数并且减少了和数据库服务器的连接次数, 提高了效率 区别 : 存储过程:可以有0个返回,也可以有多个 ...

  4. iserver频繁崩溃、内存溢出事故解决小记

    一.事故分析 在生产项目中,频繁遇到iserver隔一段时间就会出现崩溃的情况. 将iserver错误日志发给技术客服后,说是内存溢出的问题. 查看服务器的配置是32g内存,按理说不该出现此类问题. ...

  5. vs2013 v8编译

    最新v8,只能在vs2015编译(在官网看了资料,新版本v8/chrome使用的c++11特性只能用vs2015编译) vs2015 vc需要的dll有近50个,发布不太方便,所以采用vs2013up ...

  6. js中的回调函数 和promise解决异步操作中的回调地狱问题。

    回调函数 : 函数作为参数传递到另外一个函数中.简单数据类型和引入数据类型中的数组和对象作为参数传递大家肯定都不陌生,其实引用数据类型中的函数也是可以的. 事实上大家见到的很多,用到的也很多,比如jQ ...

  7. 结对项目——四则运算GUI项目

    一.项目地址:https://git.coding.net/lvgx/wsz.git 二.PSP: PSP2.1 任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min) Plannin ...

  8. Isight 命令行运行任务

    说明书参考:https://abaqus-docs.mit.edu/2017/English/DSSIMULIA_Established.htm 不一定对版本.但是大部分还可以. 不对的可以在命令里敲 ...

  9. logstash 修改配置不重启的方法

    1.修改好yml配置 2.进入logstash 容器内,或服务器上 3.ps -ef | grep logstash 拿到进程号 4.kill -1 <pid> 5.logstash 会重 ...

  10. ABP学习之旅

    1.我使用ABP的启动模板(http://www.aspnetboilerplate.com/Templates)来创建一个Web应用程序. 2.加载项目解决方案 在abp根据模板创建解决方案后,编译 ...