提交 3ac7bd36 编写于 作者: B Blankj

see 01/10 log

上级 a5fe7c03
......@@ -58,7 +58,7 @@ public class PermissionActivity extends BaseBackActivity {
StringBuilder sb = new StringBuilder();
for (String s : PermissionUtils.getPermissions()) {
sb.append(s).append("\n");
sb.append(s.substring(s.lastIndexOf('.') + 1)).append("\n");
}
permissions = sb.toString();
}
......@@ -141,7 +141,7 @@ public class PermissionActivity extends BaseBackActivity {
private void updateAboutPermission() {
tvAboutPermission.setText(new SpanUtils()
.append(permissions)
.append(permissions).setBold()
.appendLine("READ_CALENDAR: " + PermissionUtils.isGranted(Manifest.permission.READ_CALENDAR))
.appendLine("RECORD_AUDIO: " + PermissionUtils.isGranted(Manifest.permission.RECORD_AUDIO))
.create());
......
......@@ -165,12 +165,6 @@ reboot2Recovery : 重启到 recovery
reboot2Bootloader: 重启到 bootloader
```
* ### 判空相关 -> [EmptyUtils.java][empty.java] -> [Test][empty.test]
```
isEmpty : 判断对象是否为空
isNotEmpty: 判断对象是否非空
```
* ### 编码解码相关 -> [EncodeUtils.java][encode.java] -> [Test][encode.test]
```
urlEncode : URL 编码
......@@ -456,7 +450,7 @@ getReplaceFirst: 替换正则匹配的第一部分
getReplaceAll : 替换所有正则匹配的部分
```
* ### 屏幕相关 -> [ScreenUtils.java][screen.java]
* ### 屏幕相关 -> [ScreenUtils.java][screen.java] -> [Demo][screen.demo]
```
getScreenWidth : 获取屏幕的宽度(单位:px)
getScreenHeight : 获取屏幕的高度(单位:px)
......@@ -562,7 +556,7 @@ appendSpace : 追加空白
create : 创建样式字符串
```
* ### SP 相关 -> [SPUtils.java][sp.java] -> [Test][sp.test]
* ### SP 相关 -> [SPUtils.java][sp.java] -> [Test][sp.demo]
```
getInstance: 获取 SP 实例
put : SP 中写入数据
......@@ -723,6 +717,7 @@ getComments : 获取压缩文件中的注释链表
[regex.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/test/java/com/blankj/utilcode/util/RegexUtilsTest.java
[screen.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/util/ScreenUtils.java
[screen.demo]: https://github.com/Blankj/AndroidUtilCode/blob/master/app/src/main/java/com/blankj/androidutilcode/feature/core/screen/ScreenActivity.java
[sdcard.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/util/SDCardUtils.java
[sdcard.demo]: https://github.com/Blankj/AndroidUtilCode/blob/master/app/src/main/java/com/blankj/androidutilcode/feature/core/sdcard/SDCardActivity.java
......
......@@ -165,12 +165,6 @@ reboot2Recovery
reboot2Bootloader
```
* ### About Empty -> [EmptyUtils.java][empty.java] -> [Test][empty.test]
```
isEmpty
isNotEmpty
```
* ### About Encode -> [EncodeUtils.java][encode.java] -> [Test][encode.test]
```
urlEncode
......@@ -456,7 +450,7 @@ getReplaceFirst
getReplaceAll
```
* ### About Screen -> [ScreenUtils.java][screen.java]
* ### About Screen -> [ScreenUtils.java][screen.java] -> [Demo][screen.demo]
```
getScreenWidth
getScreenHeight
......@@ -562,7 +556,7 @@ appendSpace
create
```
* ### About SP -> [SPUtils.java][sp.java] -> [Test][sp.test]
* ### About SP -> [SPUtils.java][sp.java] -> [Test][sp.demo]
```
getInstance
put
......@@ -723,6 +717,7 @@ getComments
[regex.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/test/java/com/blankj/utilcode/util/RegexUtilsTest.java
[screen.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/util/ScreenUtils.java
[screen.demo]: https://github.com/Blankj/AndroidUtilCode/blob/master/app/src/main/java/com/blankj/androidutilcode/feature/core/screen/ScreenActivity.java
[sdcard.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/util/SDCardUtils.java
[sdcard.demo]: https://github.com/Blankj/AndroidUtilCode/blob/master/app/src/main/java/com/blankj/androidutilcode/feature/core/sdcard/SDCardActivity.java
......
package com.blankj.utilcode.util;
import android.os.Build;
import android.support.v4.util.LongSparseArray;
import android.support.v4.util.SimpleArrayMap;
import android.util.SparseArray;
import android.util.SparseBooleanArray;
import android.util.SparseIntArray;
import android.util.SparseLongArray;
import java.lang.reflect.Array;
import java.util.Collection;
import java.util.Map;
/**
* <pre>
* author: Blankj
* blog : http://blankj.com
* time : 2016/09/28
* desc : 判空相关工具类
* </pre>
*/
public final class EmptyUtils {
private EmptyUtils() {
throw new UnsupportedOperationException("u can't instantiate me...");
}
/**
* 判断对象是否为空
*
* @param obj 对象
* @return {@code true}: 为空<br>{@code false}: 不为空
* @deprecated use {@link ObjectUtils#isEmpty(Object)} instead
*/
@Deprecated
public static boolean isEmpty(final Object obj) {
if (obj == null) {
return true;
}
if (obj instanceof CharSequence && obj.toString().length() == 0) {
return true;
}
if (obj.getClass().isArray() && Array.getLength(obj) == 0) {
return true;
}
if (obj instanceof Collection && ((Collection) obj).isEmpty()) {
return true;
}
if (obj instanceof Map && ((Map) obj).isEmpty()) {
return true;
}
if (obj instanceof SimpleArrayMap && ((SimpleArrayMap) obj).isEmpty()) {
return true;
}
if (obj instanceof SparseArray && ((SparseArray) obj).size() == 0) {
return true;
}
if (obj instanceof SparseBooleanArray && ((SparseBooleanArray) obj).size() == 0) {
return true;
}
if (obj instanceof SparseIntArray && ((SparseIntArray) obj).size() == 0) {
return true;
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
if (obj instanceof SparseLongArray && ((SparseLongArray) obj).size() == 0) {
return true;
}
}
if (obj instanceof LongSparseArray && ((LongSparseArray) obj).size() == 0) {
return true;
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
if (obj instanceof android.util.LongSparseArray
&& ((android.util.LongSparseArray) obj).size() == 0) {
return true;
}
}
return false;
}
/**
* 判断对象是否非空
*
* @param obj 对象
* @return {@code true}: 非空<br>{@code false}: 空
* @deprecated use {@link ObjectUtils#isNotEmpty(Object)} instead
*/
@Deprecated
public static boolean isNotEmpty(final Object obj) {
return !isEmpty(obj);
}
}
package com.blankj.utilcode.util;
import android.support.v4.util.LongSparseArray;
import android.support.v4.util.SimpleArrayMap;
import android.util.SparseArray;
import android.util.SparseBooleanArray;
import android.util.SparseIntArray;
import android.util.SparseLongArray;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import java.util.HashMap;
import java.util.LinkedList;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
/**
* <pre>
* author: Blankj
* blog : http://blankj.com
* time : 2016/09/28
* desc : EmptyUtils 单元测试
* </pre>
*/
@RunWith(RobolectricTestRunner.class)
@Config(manifest = Config.NONE, sdk = 23)
public class EmptyUtilsTest {
@Test
public void isEmpty() throws Exception {
StringBuilder sb = new StringBuilder("");
StringBuilder sb1 = new StringBuilder(" ");
String string = "";
String string1 = " ";
int[][] arr = new int[][]{};
LinkedList<Integer> list = new LinkedList<>();
HashMap<String, Integer> map = new HashMap<>();
SimpleArrayMap<String, Integer> sam = new SimpleArrayMap<>();
SparseArray<String> sa = new SparseArray<>();
SparseBooleanArray sba = new SparseBooleanArray();
SparseIntArray sia = new SparseIntArray();
SparseLongArray sla = new SparseLongArray();
LongSparseArray<String> lsa = new LongSparseArray<>();
android.util.LongSparseArray<String> lsaV4 = new android.util.LongSparseArray<>();
assertTrue(EmptyUtils.isEmpty(sb));
assertFalse(EmptyUtils.isEmpty(sb1));
assertTrue(EmptyUtils.isEmpty(string));
assertFalse(EmptyUtils.isEmpty(string1));
assertTrue(EmptyUtils.isEmpty(arr));
assertTrue(EmptyUtils.isEmpty(list));
assertTrue(EmptyUtils.isEmpty(map));
assertTrue(EmptyUtils.isEmpty(sam));
assertTrue(EmptyUtils.isEmpty(sa));
assertTrue(EmptyUtils.isEmpty(sba));
assertTrue(EmptyUtils.isEmpty(sia));
assertTrue(EmptyUtils.isEmpty(sla));
assertTrue(EmptyUtils.isEmpty(lsa));
assertTrue(EmptyUtils.isEmpty(lsaV4));
assertTrue(!EmptyUtils.isNotEmpty(sb));
assertFalse(!EmptyUtils.isNotEmpty(sb1));
assertTrue(!EmptyUtils.isNotEmpty(string));
assertFalse(!EmptyUtils.isNotEmpty(string1));
assertTrue(!EmptyUtils.isNotEmpty(arr));
assertTrue(!EmptyUtils.isNotEmpty(list));
assertTrue(!EmptyUtils.isNotEmpty(map));
assertTrue(!EmptyUtils.isNotEmpty(sam));
assertTrue(!EmptyUtils.isNotEmpty(sa));
assertTrue(!EmptyUtils.isNotEmpty(sba));
assertTrue(!EmptyUtils.isNotEmpty(sia));
assertTrue(!EmptyUtils.isNotEmpty(sla));
assertTrue(!EmptyUtils.isNotEmpty(lsa));
assertTrue(!EmptyUtils.isNotEmpty(lsaV4));
}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册