|
1 | 1 | # Android开发人员不得不收集的代码(持续更新中)
|
| 2 | +------ |
2 | 3 | 为方便查找,已进行大致归类,其目录如下所示:
|
3 |
| -> - [App相关](https://github.com/Blankj/AndroidUtilCode/blob/master/about_app.md)→[AppUtils.java](https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/AppUtils.java) |
| 4 | +> - [App相关][app.md]→[AppUtils.java][app.java] |
4 | 5 | > - 安装指定路径下的Apk *installApp*
|
5 | 6 | > - 卸载指定包名的App *uninstallApp*
|
6 | 7 | > - 获取当前App信息 *getAppInfo*
|
|
10 | 11 | > - 可用来做App信息分享 *shareAppInfo*
|
11 | 12 | > - 判断当前App处于前台还是后台 *isApplicationBackground*
|
12 | 13 |
|
13 |
| -> - [设备相关](https://github.com/Blankj/AndroidUtilCode/blob/master/about_device.md)→[DeviceUtils.java](https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/DeviceUtils.java) |
| 14 | +> - [设备相关][device.md]→[DeviceUtils.java][device.java] |
14 | 15 | > - 获取设备MAC地址 *getMacAddress*
|
15 | 16 | > - 获取设备厂商,如Xiaomi *getManufacturer*
|
16 | 17 | > - 获取设备型号,如MI2SC *getModel*
|
17 | 18 | > - 获取设备SD卡是否可用 *isSDCardEnable*
|
18 | 19 | > - 获取设备SD卡路径 *getSDCardPath*
|
19 | 20 |
|
20 |
| -> - [加解密相关](https://github.com/Blankj/AndroidUtilCode/blob/master/about_encrypt.md)→[EncryptUtils.java](https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/EncryptUtils.java) |
| 21 | +> - [编码解码相关][encode.md]→[EncodeUtils.java][encode.java] |
| 22 | +> - 以UTF-8编码字符串 *encodeUTF8* |
| 23 | +> - 字符编码 *encode* |
| 24 | +> - 以UTF-8解码字符串 *decodeUTF8* |
| 25 | +> - 字符解码 *decode* |
| 26 | +
|
| 27 | +> - [加解密相关][encrypt.md]→[EncryptUtils.java][encrypt.java] |
21 | 28 | > - MD5加密 *getMD5* *encryptMD5* *getMD5File*
|
22 | 29 | > - SHA加密 *getSHA* *encryptSHA*
|
23 | 30 |
|
24 |
| -> - [键盘相关](https://github.com/Blankj/AndroidUtilCode/blob/master/about_keyboard.md)→[KeyboardUtils.java](https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/KeyboardUtils.java) |
| 31 | +> - [键盘相关][keyboard.md]→[KeyboardUtils.java][keyboard.java] |
25 | 32 | > - 避免输入法面板遮挡
|
26 | 33 | > - 动态隐藏软键盘 *hideSoftInput*
|
27 | 34 | > - 点击屏幕空白区域隐藏软键盘(注释萌萌哒) *clickBlankArea2HideSoftInput0*
|
28 | 35 | > - 动态显示软键盘 *showSoftInput*
|
29 | 36 | > - 切换键盘显示与否状态 *toggleSoftInput*
|
30 | 37 |
|
31 |
| -> - [网络相关](https://github.com/Blankj/AndroidUtilCode/blob/master/about_network.md)→[NetworkUtils.java](https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/NetworkUtils.java) |
| 38 | +> - [网络相关][network.md]→[NetworkUtils.java][network.java] |
32 | 39 | > - 打开网络设置界面 *openWirelessSettings*
|
33 | 40 | > - 判断网络是否可用 *isAvailable*
|
34 | 41 | > - 判断网络是否连接 *isConnected*
|
|
38 | 45 | > - 获取移动终端类型 *getPhoneType*
|
39 | 46 | > - 获取当前的网络类型(WIFI,2G,3G,4G) *getNetWorkType* *getNetWorkTypeName*
|
40 | 47 |
|
41 |
| -> - [手机相关](https://github.com/Blankj/AndroidUtilCode/blob/master/about_phone.md)→[PhoneUtils.java](https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/PhoneUtils.java) |
| 48 | +> - [手机相关][phone.md]→[PhoneUtils.java][phone.java] |
42 | 49 | > - 判断设备是否是手机 *isPhone*
|
43 | 50 | > - 获取手机的IMIE *getDeviceIMEI*
|
44 | 51 | > - 获取手机状态信息 *getPhoneStatus*
|
|
49 | 56 | > - 打开手机联系人界面点击联系人后便获取该号码(注释萌萌哒) *getContantNum*
|
50 | 57 | > - 获取手机短信并保存到xml中 *getAllSMS*
|
51 | 58 |
|
52 |
| -> - [正则相关](https://github.com/Blankj/AndroidUtilCode/blob/master/about_regular.md)→[RegularUtils.java](https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/RegularUtils.java) |
| 59 | +> - [正则相关][regular.md]→[RegularUtils.java][regular.java] |
53 | 60 | > - 正则工具类
|
54 | 61 |
|
55 |
| -> - [屏幕相关](https://github.com/Blankj/AndroidUtilCode/blob/master/about_screen.md)→[ScreenUtils.java](https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/ScreenUtils.java) |
| 62 | +> - [屏幕相关][screen.md]→[ScreenUtils.java][screen.java] |
56 | 63 | > - 获取手机分辨率 *getDeviceWidth*、*getDeviceHeight*
|
57 | 64 | > - 设置透明状态栏(api >= 19方可使用) *setTransparentStatusBar*
|
58 | 65 | > - 隐藏状态栏(注释萌萌哒) *hideStatusBar*
|
59 | 66 | > - 获取状态栏高度 *getStatusBarHeight*
|
60 | 67 | > - 判断状态栏是否存在 *isStatusBarExists*
|
61 | 68 | > - 获取ActionBar高度 *getActionBarHeight*
|
| 69 | +> - 显示通知栏 *showNotificationBar* |
| 70 | +> - 隐藏通知栏 *hideNotificationBar* |
62 | 71 | > - 设置屏幕为横屏(注释萌萌哒) *setLandscape*
|
63 | 72 | > - 获取屏幕截图 *snapShotWithStatusBar*、*snapShotWithoutStatusBar*
|
64 | 73 | > - 判断是否锁屏 *isScreenLock*
|
65 | 74 |
|
66 |
| -> - [尺寸相关](https://github.com/Blankj/AndroidUtilCode/blob/master/about_size.md)→[SizeUtils.java](https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/SizeUtils.java) |
| 75 | +> - [Shell相关][shell.md]→[ShellUtils.java][shell.java] |
| 76 | +> - 判断设备是否root *isRoot* |
| 77 | +> - 是否是在root下执行命令 *execCmd* |
| 78 | +
|
| 79 | +> - [尺寸相关][size.md]→[SizeUtils.java][size.java] |
67 | 80 | > - dp与px转换 *dp2px*、*px2dp*
|
68 | 81 | > - sp与px转换 *sp2px*、*px2sp*
|
69 | 82 | > - 各种单位转换 *applyDimension*
|
70 | 83 | > - 在onCreate()即可强行获取View的尺寸 *forceGetViewSize*
|
71 | 84 | > - ListView中提前测量View尺寸(注释萌萌哒) *measureView*
|
72 | 85 |
|
73 |
| -> - [时间相关](https://github.com/Blankj/AndroidUtilCode/blob/master/about_time.md)→[TimeUtils.java](https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/TimeUtils.java) |
| 86 | +> - [SP相关][sp.md]→[SPUtils.java][sp.java] |
| 87 | +> - SP中写入String类型value *putString* |
| 88 | +> - SP中读取String *getString* |
| 89 | +> - SP中写入int类型value *putInt* |
| 90 | +> - SP中读取int *getInt* |
| 91 | +> - SP中写入long类型value *putLong* |
| 92 | +> - SP中读取long *getLong* |
| 93 | +> - SP中写入float类型value *putFloat* |
| 94 | +> - SP中读取float *getFloat* |
| 95 | +> - SP中写入boolean类型value *putBoolean* |
| 96 | +> - SP中读取boolean *getBoolean* |
| 97 | +
|
| 98 | +> - [时间相关][time.md]→[TimeUtils.java][time.java] |
74 | 99 | > - 将时间戳转为时间字符串 *milliseconds2String*
|
75 | 100 | > - 将时间字符串转为时间戳 *string2Milliseconds*
|
76 | 101 | > - 将时间字符串转为Date类型 *string2Date*
|
|
83 | 108 | > - 获取与当前时间的差(单位:unit) *getIntervalByNow*
|
84 | 109 | > - 判断闰年 *isLeapYear*
|
85 | 110 |
|
86 |
| -> - [未归类](https://github.com/Blankj/AndroidUtilCode/blob/master/unclassified.md)→[UnclassifiedUtils.java](https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/UnclassifiedUtils.java) |
| 111 | +> - [未归类][unclassified.md]→[UnclassifiedUtils.java][unclassified.java] |
87 | 112 | > - 获取服务是否开启 *isRunningService*
|
88 |
| -> - [更新Log](https://github.com/Blankj/AndroidUtilCode/blob/master/update_log.md) |
| 113 | +> - [更新Log][update_log.md] |
89 | 114 |
|
90 | 115 | ***
|
91 | 116 |
|
92 | 117 | **做这份整理只是想把它作为Android的一本小字典,当遇到一些琐碎问题时,不用再面向百度或者谷歌查询API的使用,费时费力,这里有的话,大家尽管撸走。希望它能逐日壮大起来,期待你的Star和完善,用途的话大家想把它们整理成工具类或者什么的话都可以,之后我也会封装工具类并分享之,但本篇只是提供查阅,毕竟看md比看类文件要爽多了,其中好多代码我也是各种搜刮来的,也要谢谢各位的总结,大部分代码已验证过可行,如有错误,请及时告之,开设QQ群提供讨论,群号:74721490**
|
| 118 | + |
| 119 | +## Download |
| 120 | +------ |
| 121 | +Gradle: |
| 122 | +``` groovy |
| 123 | +compile 'com.blankj:utilcode:1.0' |
| 124 | +``` |
| 125 | + |
| 126 | +## Proguard |
| 127 | +------ |
| 128 | +``` xml |
| 129 | +-keep class com.blankj.utilcode.** { *; } |
| 130 | +-keepclassmembers class com.blankj.utilcode.** { *; } |
| 131 | +-dontwarn com.blankj.utilcode.** |
| 132 | +``` |
| 133 | + |
| 134 | +## License |
| 135 | +------ |
| 136 | + Copyright 2016 Blankj |
| 137 | + |
| 138 | + Licensed under the Apache License, Version 2.0 (the "License"); |
| 139 | + you may not use this file except in compliance with the License. |
| 140 | + You may obtain a copy of the License at |
| 141 | + |
| 142 | + http://www.apache.org/licenses/LICENSE-2.0 |
| 143 | + |
| 144 | + Unless required by applicable law or agreed to in writing, software |
| 145 | + distributed under the License is distributed on an "AS IS" BASIS, |
| 146 | + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 147 | + See the License for the specific language governing permissions and |
| 148 | + limitations under the License. |
| 149 | + |
93 | 150 |
|
94 |
| -# 更新Log |
95 |
| -#### 2016/07/31 新增点击屏幕空白区域隐藏软键盘 |
96 |
| -#### 2016/07/31 未能成功增加本页目录跳转功能(不支持) |
97 |
| -#### 2016/08/01 新增获取当前App版本Code |
98 |
| -#### 2016/08/01 新增目录中显示方法名 |
99 |
| -#### 2016/08/01 新增获取SD卡路径,手机和设备进行分类,代码bug修改部分,小修排版,正在封装类 |
100 |
| -#### 2016/08/02 wifi设置界面bug修复,注释排版还在修改,获取mac地址增加判空,新增QQ群:74721490,欢迎加入 |
101 |
| -#### 2016/08/02 新增隐藏状态栏,注释更加全面,工具类已封装,写的时候真的是一个一个测试过去的,宝宝心里苦 |
102 |
| -#### 2016/08/03 修复在onCreate中获取view尺寸的bug,MD5和SHA的Bug修复完成(在此感谢ssyijiu) |
103 |
| -#### 2016/08/04 新增时间工具类(在此感谢yi520000给的补充),手机正则分简单和精确(在此感谢MIkeeJY),新增判断是否锁屏,注释分段落,目录按首字母排序 |
104 |
| -#### 2016/08/05 加密新增MD5盐加密,完善NetworkUtils,新增判断状态栏是否存在(在此感谢tiandawu) |
105 |
| -#### 2016/08/06 重命名包名,新增加密相关的单元测试,MD5加密新增文件加密重载。 |
| 151 | +## 更新Log |
| 152 | +------ |
| 153 | +#### 16/08/08 新增Shell工具类,已传jcenter()遇到好多坑,javaDoc惹的祸,注释一定要规范 |
| 154 | +#### 16/08/07 新增6.0获取Mac地址方法,新增对HTML转义,新增编码解码工具类,新增SP工具类 |
| 155 | +#### 16/08/06 重命名包名,新增加密相关的单元测试,MD5加密新增文件加密重载。 |
| 156 | +#### 16/08/05 加密新增MD5盐加密,完善NetworkUtils,新增判断状态栏是否存在(在此感谢tiandawu) |
| 157 | +#### 16/08/04 新增时间工具类(在此感谢yi520000给的补充),手机正则分简单和精确(在此感谢MIkeeJY),新增判断是否锁屏,注释分段落,目录按首字母排序 |
| 158 | +#### 16/08/03 修复在onCreate中获取view尺寸的bug,MD5和SHA的Bug修复完成(在此感谢ssyijiu) |
| 159 | +#### 16/08/02 wifi设置界面bug修复,注释排版还在修改,获取mac地址增加判空,新增QQ群:74721490,欢迎加入新增隐藏状态栏,注释更加全面,工具类已封装,写的时候真的是一个一个测试过去的,宝宝心里苦 |
| 160 | +#### 16/08/01 新增获取SD卡路径,手机和设备进行分类,代码bug修改部分,小修排版,正在封装类,新增目录中显示方法名,新增获取当前App版本Code |
| 161 | +#### 16/07/31 新增点击屏幕空白区域隐藏软键盘,未能成功增加本页目录跳转功能(不支持) |
| 162 | + |
106 | 163 |
|
107 | 164 |
|
108 |
| -##[关于Blankj](http://blankj.com/about) |
| 165 | +##[关于Blankj][blankj] |
| 166 | + |
| 167 | + |
| 168 | +[app.md]: https://github.com/Blankj/AndroidUtilCode/blob/master/about_app.md |
| 169 | +[app.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/AppUtils.java |
| 170 | +[device.md]: https://github.com/Blankj/AndroidUtilCode/blob/master/about_device.md |
| 171 | +[device.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/DeviceUtils.java |
| 172 | +[encode.md]: https://github.com/Blankj/AndroidUtilCode/blob/master/about_encode.md |
| 173 | +[encode.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/EncodeUtils.java |
| 174 | +[encrypt.md]: https://github.com/Blankj/AndroidUtilCode/blob/master/about_encrypt.md |
| 175 | +[encrypt.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/EncryptUtils.java |
| 176 | +[keyboard.md]: https://github.com/Blankj/AndroidUtilCode/blob/master/about_keyboard.md |
| 177 | +[keyboard.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/KeyboardUtils.java |
| 178 | +[network.md]: https://github.com/Blankj/AndroidUtilCode/blob/master/about_network.md |
| 179 | +[network.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/NetworkUtils.java |
| 180 | +[phone.md]: https://github.com/Blankj/AndroidUtilCode/blob/master/about_phone.md |
| 181 | +[phone.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/PhonekUtils.java |
| 182 | +[regular.md]: https://github.com/Blankj/AndroidUtilCode/blob/master/about_regular.md |
| 183 | +[regular.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/RegularUtils.java |
| 184 | +[screen.md]: https://github.com/Blankj/AndroidUtilCode/blob/master/about_screen.md |
| 185 | +[screen.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/ScreenUtils.java |
| 186 | +[shell.md]: https://github.com/Blankj/AndroidUtilCode/blob/master/about_shell.md |
| 187 | +[shell.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/ShellUtils.java |
| 188 | +[size.md]: https://github.com/Blankj/AndroidUtilCode/blob/master/about_size.md |
| 189 | +[size.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/SizeUtils.java |
| 190 | +[sp.md]: https://github.com/Blankj/AndroidUtilCode/blob/master/about_sp.md |
| 191 | +[sp.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/SPUtils.java |
| 192 | +[time.md]: https://github.com/Blankj/AndroidUtilCode/blob/master/about_time.md |
| 193 | +[time.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/TimeUtils.java |
| 194 | +[unclassified.md]: https://github.com/Blankj/AndroidUtilCode/blob/master/unclassified.md |
| 195 | +[unclassified.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/utils/UnclassifiedUtils.java |
| 196 | +[update_log.md]: https://github.com/Blankj/AndroidUtilCode/blob/master/update_log.md |
| 197 | + |
| 198 | +[blankj]: http://blankj.com/about |
0 commit comments