Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mmm-rain
AndroidUtilCode
提交
32012cd4
A
AndroidUtilCode
项目概览
mmm-rain
/
AndroidUtilCode
与 Fork 源项目一致
从无法访问的项目Fork
通知
4
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
AndroidUtilCode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
32012cd4
编写于
11月 06, 2017
作者:
B
Blankj
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
see 11/06 log
上级
359f3764
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
71 addition
and
72 deletion
+71
-72
README-CN.md
README-CN.md
+1
-1
README.md
README.md
+1
-1
app/build.gradle
app/build.gradle
+1
-1
app/src/main/java/com/blankj/androidutilcode/core/log/LogActivity.java
...java/com/blankj/androidutilcode/core/log/LogActivity.java
+1
-1
build.gradle
build.gradle
+2
-2
update_log.md
update_log.md
+1
-0
utilcode/README-CN.md
utilcode/README-CN.md
+1
-1
utilcode/README.md
utilcode/README.md
+1
-1
utilcode/src/main/java/com/blankj/utilcode/util/LogUtils.java
...code/src/main/java/com/blankj/utilcode/util/LogUtils.java
+58
-59
utilcode/src/test/java/com/blankj/utilcode/util/TestUtils.java
...ode/src/test/java/com/blankj/utilcode/util/TestUtils.java
+0
-1
utilcode/src/test/java/com/blankj/utilcode/util/TimeUtilsTest.java
...src/test/java/com/blankj/utilcode/util/TimeUtilsTest.java
+4
-4
未找到文件。
README-CN.md
浏览文件 @
32012cd4
...
...
@@ -41,7 +41,7 @@
[
logo
]:
https://raw.githubusercontent.com/Blankj/AndroidUtilCode/master/art/logo.png
[
aucsvg
]:
https://img.shields.io/badge/AndroidUtilCode-v1.9.
6
-brightgreen.svg
[
aucsvg
]:
https://img.shields.io/badge/AndroidUtilCode-v1.9.
7
-brightgreen.svg
[
auc
]:
https://github.com/Blankj/AndroidUtilCode
[
apisvg
]:
https://img.shields.io/badge/API-14+-brightgreen.svg
...
...
README.md
浏览文件 @
32012cd4
...
...
@@ -41,7 +41,7 @@ If this ptoject helps you a lot, and you would like to support this ptoject's fu
[
logo
]:
https://raw.githubusercontent.com/Blankj/AndroidUtilCode/master/art/logo.png
[
aucsvg
]:
https://img.shields.io/badge/AndroidUtilCode-v1.9.
6
-brightgreen.svg
[
aucsvg
]:
https://img.shields.io/badge/AndroidUtilCode-v1.9.
7
-brightgreen.svg
[
auc
]:
https://github.com/Blankj/AndroidUtilCode
[
apisvg
]:
https://img.shields.io/badge/API-14+-brightgreen.svg
...
...
app/build.gradle
浏览文件 @
32012cd4
...
...
@@ -70,7 +70,7 @@ dependencies {
releaseImplementation
leakCanary
testImplementation
leakCanary
// compile 'com.blankj:utilcode:1.9.
3
'
// compile 'com.blankj:utilcode:1.9.
7
'
}
app/src/main/java/com/blankj/androidutilcode/core/log/LogActivity.java
浏览文件 @
32012cd4
...
...
@@ -56,7 +56,7 @@ public class LogActivity extends BaseBackActivity {
LogUtils
.
d
(
"debug"
);
LogUtils
.
i
(
"info"
);
LogUtils
.
w
(
"warn"
);
LogUtils
.
e
(
"
初始化成功
"
);
LogUtils
.
e
(
"
error
"
);
LogUtils
.
a
(
"assert"
);
}
};
...
...
build.gradle
浏览文件 @
32012cd4
...
...
@@ -30,8 +30,8 @@ ext {
minSdkVersion
=
14
targetSdkVersion
=
22
versionCode
=
100900
6
00
versionName
=
'1.9.
6
'
versionCode
=
100900
7
00
versionName
=
'1.9.
7
'
// App dependencies
supportVersion
=
'26.1.0'
...
...
update_log.md
浏览文件 @
32012cd4
*
17/11/06 修复LogUtils多参数打印失败的问题
*
17/11/01 完善ShellUtil的Msg换行,感谢香脆的大鸡排
*
17/10/30 升级README
*
17/10/29 修复6.0内部存储安装失败问题
...
...
utilcode/README-CN.md
浏览文件 @
32012cd4
...
...
@@ -2,7 +2,7 @@
Gradle:
```
groovy
compile
'com.blankj:utilcode:1.9.
6
'
compile
'com.blankj:utilcode:1.9.
7
'
```
...
...
utilcode/README.md
浏览文件 @
32012cd4
...
...
@@ -2,7 +2,7 @@
Gradle:
```
groovy
compile
'com.blankj:utilcode:1.9.
6
'
compile
'com.blankj:utilcode:1.9.
7
'
```
...
...
utilcode/src/main/java/com/blankj/utilcode/util/LogUtils.java
浏览文件 @
32012cd4
...
...
@@ -83,7 +83,6 @@ public final class LogUtils {
private
static
final
String
BOTTOM_BORDER
=
"╚═══════════════════════════════════════════════════════════════════════════════════════════════════"
;
private
static
final
int
MAX_LEN
=
4000
;
private
static
final
Format
FORMAT
=
new
SimpleDateFormat
(
"MM-dd HH:mm:ss.SSS "
,
Locale
.
getDefault
());
private
static
final
String
NULL_TIPS
=
"Log with null object."
;
private
static
final
String
NULL
=
"null"
;
private
static
final
String
ARGS
=
"args"
;
private
static
final
Config
CONFIG
=
new
Config
();
...
...
@@ -96,100 +95,100 @@ public final class LogUtils {
return
CONFIG
;
}
public
static
void
v
(
final
Object
content
s
)
{
log
(
V
,
sGlobalTag
,
content
s
);
public
static
void
v
(
final
Object
content
)
{
log
(
V
,
sGlobalTag
,
content
);
}
public
static
void
v
(
final
String
tag
,
final
Object
content
,
final
Object
...
contents
)
{
log
(
V
,
tag
,
content
,
contents
);
}
public
static
void
d
(
final
Object
content
s
)
{
log
(
D
,
sGlobalTag
,
content
s
);
public
static
void
d
(
final
Object
content
)
{
log
(
D
,
sGlobalTag
,
content
);
}
public
static
void
d
(
final
String
tag
,
final
Object
content
,
final
Object
...
contents
)
{
log
(
D
,
tag
,
content
,
contents
);
}
public
static
void
i
(
final
Object
content
s
)
{
log
(
I
,
sGlobalTag
,
content
s
);
public
static
void
i
(
final
Object
content
)
{
log
(
I
,
sGlobalTag
,
content
);
}
public
static
void
i
(
final
String
tag
,
final
Object
content
,
final
Object
...
contents
)
{
log
(
I
,
tag
,
content
,
contents
);
}
public
static
void
w
(
final
Object
content
s
)
{
log
(
W
,
sGlobalTag
,
content
s
);
public
static
void
w
(
final
Object
content
)
{
log
(
W
,
sGlobalTag
,
content
);
}
public
static
void
w
(
final
String
tag
,
final
Object
content
,
final
Object
...
contents
)
{
log
(
W
,
tag
,
content
,
contents
);
}
public
static
void
e
(
final
Object
content
s
)
{
log
(
E
,
sGlobalTag
,
content
s
);
public
static
void
e
(
final
Object
content
)
{
log
(
E
,
sGlobalTag
,
content
);
}
public
static
void
e
(
final
String
tag
,
final
Object
content
,
final
Object
...
contents
)
{
log
(
E
,
tag
,
content
,
contents
);
}
public
static
void
a
(
final
Object
content
s
)
{
log
(
A
,
sGlobalTag
,
content
s
);
public
static
void
a
(
final
Object
content
)
{
log
(
A
,
sGlobalTag
,
content
);
}
public
static
void
a
(
final
String
tag
,
final
Object
content
,
final
Object
...
contents
)
{
log
(
A
,
tag
,
content
,
contents
);
}
public
static
void
file
(
final
Object
content
s
)
{
log
(
FILE
|
D
,
sGlobalTag
,
content
s
);
public
static
void
file
(
final
Object
content
)
{
log
(
FILE
|
D
,
sGlobalTag
,
content
);
}
public
static
void
file
(
@TYPE
final
int
type
,
final
Object
content
s
)
{
log
(
FILE
|
type
,
sGlobalTag
,
content
s
);
public
static
void
file
(
@TYPE
final
int
type
,
final
Object
content
)
{
log
(
FILE
|
type
,
sGlobalTag
,
content
);
}
public
static
void
file
(
final
String
tag
,
final
Object
content
s
)
{
log
(
FILE
|
D
,
tag
,
content
s
);
public
static
void
file
(
final
String
tag
,
final
Object
content
)
{
log
(
FILE
|
D
,
tag
,
content
);
}
public
static
void
file
(
@TYPE
final
int
type
,
final
String
tag
,
final
Object
content
s
)
{
log
(
FILE
|
type
,
tag
,
content
s
);
public
static
void
file
(
@TYPE
final
int
type
,
final
String
tag
,
final
Object
content
)
{
log
(
FILE
|
type
,
tag
,
content
);
}
public
static
void
json
(
final
String
content
s
)
{
log
(
JSON
|
D
,
sGlobalTag
,
content
s
);
public
static
void
json
(
final
String
content
)
{
log
(
JSON
|
D
,
sGlobalTag
,
content
);
}
public
static
void
json
(
@TYPE
final
int
type
,
final
String
content
s
)
{
log
(
JSON
|
type
,
sGlobalTag
,
content
s
);
public
static
void
json
(
@TYPE
final
int
type
,
final
String
content
)
{
log
(
JSON
|
type
,
sGlobalTag
,
content
);
}
public
static
void
json
(
final
String
tag
,
final
String
content
s
)
{
log
(
JSON
|
D
,
tag
,
content
s
);
public
static
void
json
(
final
String
tag
,
final
String
content
)
{
log
(
JSON
|
D
,
tag
,
content
);
}
public
static
void
json
(
@TYPE
final
int
type
,
final
String
tag
,
final
String
content
s
)
{
log
(
JSON
|
type
,
tag
,
content
s
);
public
static
void
json
(
@TYPE
final
int
type
,
final
String
tag
,
final
String
content
)
{
log
(
JSON
|
type
,
tag
,
content
);
}
public
static
void
xml
(
final
String
content
s
)
{
log
(
XML
|
D
,
sGlobalTag
,
content
s
);
public
static
void
xml
(
final
String
content
)
{
log
(
XML
|
D
,
sGlobalTag
,
content
);
}
public
static
void
xml
(
@TYPE
final
int
type
,
final
String
content
s
)
{
log
(
XML
|
type
,
sGlobalTag
,
content
s
);
public
static
void
xml
(
@TYPE
final
int
type
,
final
String
content
)
{
log
(
XML
|
type
,
sGlobalTag
,
content
);
}
public
static
void
xml
(
final
String
tag
,
final
String
content
s
)
{
log
(
XML
|
D
,
tag
,
content
s
);
public
static
void
xml
(
final
String
tag
,
final
String
content
)
{
log
(
XML
|
D
,
tag
,
content
);
}
public
static
void
xml
(
@TYPE
final
int
type
,
final
String
tag
,
final
String
content
s
)
{
log
(
XML
|
type
,
tag
,
content
s
);
public
static
void
xml
(
@TYPE
final
int
type
,
final
String
tag
,
final
String
content
)
{
log
(
XML
|
type
,
tag
,
content
);
}
private
static
void
log
(
final
int
type
,
final
String
tag
,
final
Object
...
contents
)
{
...
...
@@ -265,30 +264,26 @@ public final class LogUtils {
}
private
static
String
processBody
(
final
int
type
,
final
Object
...
contents
)
{
String
body
=
NULL_TIPS
;
if
(
contents
!=
null
)
{
if
(
contents
.
length
==
1
)
{
Object
object
=
contents
[
0
];
body
=
object
==
null
?
NULL
:
object
.
toString
();
if
(
type
==
JSON
)
{
body
=
formatJson
(
body
);
}
else
if
(
type
==
XML
)
{
body
=
formatXml
(
body
);
}
String
body
;
if
(
contents
.
length
==
1
)
{
body
=
contents
[
0
]
==
null
?
NULL
:
contents
[
0
].
toString
();
if
(
type
==
JSON
)
{
body
=
formatJson
(
body
);
}
else
if
(
type
==
XML
)
{
body
=
formatXml
(
body
);
}
}
else
{
StringBuilder
sb
=
new
StringBuilder
();
int
i
=
0
;
sb
.
append
(
generateArgLine
(
i
++,
contents
[
0
]
==
null
?
NULL
:
contents
[
0
].
toString
()));
if
(
contents
[
1
]
==
null
)
{
sb
.
append
(
generateArgLine
(
i
,
NULL
));
}
else
{
StringBuilder
sb
=
new
StringBuilder
();
for
(
int
i
=
0
,
len
=
contents
.
length
;
i
<
len
;
++
i
)
{
Object
content
=
contents
[
i
];
sb
.
append
(
ARGS
)
.
append
(
"["
)
.
append
(
i
)
.
append
(
"]"
)
.
append
(
" = "
)
.
append
(
content
==
null
?
NULL
:
content
.
toString
())
.
append
(
LINE_SEP
);
for
(
Object
content
:
(
Object
[])
contents
[
1
])
{
sb
.
append
(
generateArgLine
(
i
++,
content
==
null
?
NULL
:
content
.
toString
()));
}
body
=
sb
.
toString
();
}
body
=
sb
.
toString
();
}
return
body
;
}
...
...
@@ -321,7 +316,11 @@ public final class LogUtils {
return
xml
;
}
private
static
void
print2Console
(
final
int
type
,
final
String
tag
,
final
String
[]
head
,
String
msg
)
{
private
static
String
generateArgLine
(
int
index
,
String
content
)
{
return
ARGS
+
"["
+
index
+
"]"
+
" = "
+
content
+
LINE_SEP
;
}
private
static
void
print2Console
(
final
int
type
,
final
String
tag
,
final
String
[]
head
,
final
String
msg
)
{
printBorder
(
type
,
tag
,
true
);
printHead
(
type
,
tag
,
head
);
printMsg
(
type
,
tag
,
msg
);
...
...
utilcode/src/test/java/com/blankj/utilcode/util/TestUtils.java
浏览文件 @
32012cd4
...
...
@@ -123,5 +123,4 @@ public class TestUtils {
public
void
test
()
throws
Exception
{
}
}
\ No newline at end of file
utilcode/src/test/java/com/blankj/utilcode/util/TimeUtilsTest.java
浏览文件 @
32012cd4
...
...
@@ -122,10 +122,10 @@ public class TimeUtilsTest {
@Test
public
void
getFitTimeSpanByNow
()
throws
Exception
{
long
spanMillis
=
6
*
TimeConstants
.
DAY
+
6
*
TimeConstants
.
HOUR
+
6
*
TimeConstants
.
MIN
+
6
*
TimeConstants
.
SEC
;
assertEquals
(
"6天6小时6分钟6秒"
,
TimeUtils
.
getFitTimeSpanByNow
(
TimeUtils
.
millis2String
(
System
.
currentTimeMillis
()
+
spanMillis
),
5
));
assertEquals
(
"6天6小时6分钟6秒"
,
TimeUtils
.
getFitTimeSpanByNow
(
TimeUtils
.
millis2String
(
System
.
currentTimeMillis
()
+
spanMillis
,
mFormat
),
mFormat
,
5
));
assertEquals
(
"6天6小时6分钟6秒"
,
TimeUtils
.
getFitTimeSpanByNow
(
TimeUtils
.
millis2Date
(
System
.
currentTimeMillis
()
+
spanMillis
),
5
));
assertEquals
(
"6天6小时6分钟6秒"
,
TimeUtils
.
getFitTimeSpanByNow
(
System
.
currentTimeMillis
()
+
spanMillis
,
5
));
assertEquals
(
"6天6小时6分钟6秒"
,
TimeUtils
.
getFitTimeSpanByNow
(
TimeUtils
.
millis2String
(
System
.
currentTimeMillis
()
+
spanMillis
),
4
));
assertEquals
(
"6天6小时6分钟6秒"
,
TimeUtils
.
getFitTimeSpanByNow
(
TimeUtils
.
millis2String
(
System
.
currentTimeMillis
()
+
spanMillis
,
mFormat
),
mFormat
,
4
));
assertEquals
(
"6天6小时6分钟6秒"
,
TimeUtils
.
getFitTimeSpanByNow
(
TimeUtils
.
millis2Date
(
System
.
currentTimeMillis
()
+
spanMillis
),
4
));
assertEquals
(
"6天6小时6分钟6秒"
,
TimeUtils
.
getFitTimeSpanByNow
(
System
.
currentTimeMillis
()
+
spanMillis
,
4
));
}
@Test
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录