Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DiDi
DoraemonKit
提交
ae879d82
D
DoraemonKit
项目概览
DiDi
/
DoraemonKit
10 个月 前同步成功
通知
166
Star
19623
Fork
3062
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
DoraemonKit
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
ae879d82
编写于
3月 09, 2020
作者:
J
jackjintai
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
modify:
1、优化日志输出和GPS H5地图定位功能
上级
892cb6dd
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
220 addition
and
136 deletion
+220
-136
Android/doraemonkit/src/main/assets/html/map.html
Android/doraemonkit/src/main/assets/html/map.html
+2
-2
Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/gpsmock/GpsMockFragment.java
.../didichuxing/doraemonkit/kit/gpsmock/GpsMockFragment.java
+65
-55
Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/network/ui/NetWorkMockFragment.java
...uxing/doraemonkit/kit/network/ui/NetWorkMockFragment.java
+1
-1
Android/doraemonkit/src/main/res/layout/dk_fragment_gps_mock.xml
.../doraemonkit/src/main/res/layout/dk_fragment_gps_mock.xml
+123
-63
Android/doraemonkit/src/main/res/values-en-rUS/strings.xml
Android/doraemonkit/src/main/res/values-en-rUS/strings.xml
+4
-3
Android/doraemonkit/src/main/res/values-zh-rCN/strings.xml
Android/doraemonkit/src/main/res/values-zh-rCN/strings.xml
+3
-3
Android/doraemonkit/src/main/res/values-zh-rTW/strings.xml
Android/doraemonkit/src/main/res/values-zh-rTW/strings.xml
+4
-3
Android/doraemonkit/src/main/res/values/strings.xml
Android/doraemonkit/src/main/res/values/strings.xml
+2
-3
Android/doraemonkit/src/main/res/values/styles.xml
Android/doraemonkit/src/main/res/values/styles.xml
+1
-1
README.md
README.md
+15
-2
未找到文件。
Android/doraemonkit/src/main/assets/html/map.html
浏览文件 @
ae879d82
...
...
@@ -47,7 +47,7 @@
window
[
'
map
'
]
=
map
;
//移动地图中心位置
map
.
panBy
(
120
,
1
8
0
);
map
.
panBy
(
120
,
1
5
0
);
//创建marker
var
marker
=
new
qq
.
maps
.
Marker
({
position
:
center
,
...
...
@@ -76,7 +76,7 @@
var
map
=
window
[
'
map
'
];
map
.
setCenter
(
center
);
//移动地图中心位置
map
.
panBy
(
120
,
1
8
0
);
map
.
panBy
(
120
,
1
5
0
);
}
if
(
window
[
'
marker
'
]){
...
...
Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/gpsmock/GpsMockFragment.java
浏览文件 @
ae879d82
...
...
@@ -12,9 +12,11 @@ import android.text.TextWatcher;
import
android.view.View
;
import
android.webkit.WebView
;
import
android.widget.EditText
;
import
android.widget.ImageView
;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
com.blankj.utilcode.util.ToastUtils
;
import
com.didichuxing.doraemonkit.R
;
import
com.didichuxing.doraemonkit.config.GpsMockConfig
;
import
com.didichuxing.doraemonkit.model.LatLng
;
...
...
@@ -32,6 +34,7 @@ import java.util.List;
/**
* Created by wanglikun on 2018/9/20.
* gps mock
*/
public
class
GpsMockFragment
extends
BaseFragment
implements
SettingItemAdapter
.
OnSettingItemSwitchListener
,
MyWebViewClient
.
InvokeListener
{
...
...
@@ -40,10 +43,13 @@ public class GpsMockFragment extends BaseFragment implements SettingItemAdapter.
private
HomeTitleBar
mTitleBar
;
private
RecyclerView
mSettingList
;
private
SettingItemAdapter
mSettingItemAdapter
;
private
EditText
mLongitude
;
private
EditText
mLatitude
;
private
TextView
mMockLocationBtn
;
// private EditText mLongitude;
// private EditText mLatitude;
// private TextView mMockLocationBtn;
private
ImageView
mIvSearch
;
private
EditText
mEdLongLat
;
private
MyWebView
mWebView
;
private
boolean
isInit
=
true
;
@Override
public
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
...
...
@@ -72,77 +78,64 @@ public class GpsMockFragment extends BaseFragment implements SettingItemAdapter.
}
private
void
initMockLocationArea
()
{
mLongitude
=
findViewById
(
R
.
id
.
longitude
);
mLatitude
=
findViewById
(
R
.
id
.
latitude
);
mLatitude
.
addTextChangedListener
(
new
TextWatcher
()
{
@Override
public
void
beforeTextChanged
(
CharSequence
s
,
int
start
,
int
count
,
int
after
)
{
}
@Override
public
void
onTextChanged
(
CharSequence
s
,
int
start
,
int
before
,
int
count
)
{
if
(
checkInput
())
{
mMockLocationBtn
.
setEnabled
(
true
);
}
else
{
mMockLocationBtn
.
setEnabled
(
false
);
}
}
@Override
public
void
afterTextChanged
(
Editable
s
)
{
}
});
mLongitude
.
addTextChangedListener
(
new
TextWatcher
()
{
@Override
public
void
beforeTextChanged
(
CharSequence
s
,
int
start
,
int
count
,
int
after
)
{
}
@Override
public
void
onTextChanged
(
CharSequence
s
,
int
start
,
int
before
,
int
count
)
{
if
(
checkInput
())
{
mMockLocationBtn
.
setEnabled
(
true
);
}
else
{
mMockLocationBtn
.
setEnabled
(
false
);
}
}
mEdLongLat
=
findViewById
(
R
.
id
.
ed_long_lat
);
mIvSearch
=
findViewById
(
R
.
id
.
iv_search
);
@Override
public
void
afterTextChanged
(
Editable
s
)
{
}
});
mMockLocationBtn
=
findViewById
(
R
.
id
.
mock_location
);
mMockLocationBtn
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
mIvSearch
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
if
(!
checkInput
())
{
return
;
}
double
latitude
=
Double
.
valueOf
(
mLatitude
.
getText
().
toString
());
double
longitude
=
Double
.
valueOf
(
mLongitude
.
getText
().
toString
());
String
strLongLat
=
mEdLongLat
.
getText
().
toString
();
String
[]
longAndLat
=
strLongLat
.
split
(
" "
);
double
longitude
,
latitude
;
try
{
longitude
=
Double
.
valueOf
(
longAndLat
[
0
]);
latitude
=
Double
.
valueOf
(
longAndLat
[
1
]);
}
catch
(
Exception
e
)
{
ToastUtils
.
showShort
(
"经纬度必须为数字"
);
return
;
}
GpsMockManager
.
getInstance
().
mockLocation
(
latitude
,
longitude
);
GpsMockConfig
.
saveMockLocation
(
getContext
(),
new
LatLng
(
latitude
,
longitude
));
//刷新地图
String
url
=
String
.
format
(
"javascript:updateLocation(%s,%s)"
,
latitude
,
longitude
);
mWebView
.
loadUrl
(
url
);
//WebUtil.webViewLoadLocalHtml(mWebView, "html/map.html");
Toast
.
makeText
(
getContext
(),
getString
(
R
.
string
.
dk_gps_location_change_toast
,
mLatitude
.
getText
(),
mLongitude
.
getText
()),
Toast
.
LENGTH_SHORT
).
show
();
ToastUtils
.
showShort
(
getString
(
R
.
string
.
dk_gps_location_change_toast
,
""
+
longitude
,
""
+
latitude
));
}
});
}
private
boolean
checkInput
()
{
if
(
TextUtils
.
isEmpty
(
mLongitude
.
getText
().
toString
()))
{
String
strLongLat
=
mEdLongLat
.
getText
().
toString
();
if
(
TextUtils
.
isEmpty
(
strLongLat
))
{
ToastUtils
.
showShort
(
"请输入经纬度"
);
return
false
;
}
if
(
TextUtils
.
isEmpty
(
mLatitude
.
getText
().
toString
()))
{
String
[]
longAndLat
=
strLongLat
.
split
(
" "
);
if
(
longAndLat
.
length
!=
2
)
{
ToastUtils
.
showShort
(
"请输入符合规范的经纬度格式"
);
return
false
;
}
double
longitude
=
Double
.
valueOf
(
mLongitude
.
getText
().
toString
());
double
latitude
=
Double
.
valueOf
(
mLatitude
.
getText
().
toString
());
if
(
TextUtils
.
isEmpty
(
longAndLat
[
0
]))
{
return
false
;
}
if
(
TextUtils
.
isEmpty
(
longAndLat
[
1
]))
{
return
false
;
}
double
longitude
,
latitude
;
try
{
longitude
=
Double
.
valueOf
(
longAndLat
[
0
]);
latitude
=
Double
.
valueOf
(
longAndLat
[
1
]);
}
catch
(
Exception
e
)
{
ToastUtils
.
showShort
(
"经纬度必须为数字"
);
return
false
;
}
if
(
longitude
>
180
||
longitude
<
-
180
)
{
return
false
;
}
...
...
@@ -210,7 +203,24 @@ public class GpsMockFragment extends BaseFragment implements SettingItemAdapter.
if
(
TextUtils
.
isEmpty
(
lat
)
&&
TextUtils
.
isEmpty
(
lnt
))
{
return
;
}
mLatitude
.
setText
(
lat
);
mLongitude
.
setText
(
lnt
);
mEdLongLat
.
setText
(
String
.
format
(
"%s %s"
,
lnt
,
lat
));
if
(!
isInit
)
{
double
longitude
,
latitude
;
try
{
//保存当前的经纬度
longitude
=
Double
.
valueOf
(
lnt
);
latitude
=
Double
.
valueOf
(
lat
);
}
catch
(
Exception
e
)
{
ToastUtils
.
showShort
(
"经纬度必须为数字"
);
return
;
}
GpsMockManager
.
getInstance
().
mockLocation
(
latitude
,
longitude
);
GpsMockConfig
.
saveMockLocation
(
getContext
(),
new
LatLng
(
latitude
,
longitude
));
ToastUtils
.
showShort
(
getString
(
R
.
string
.
dk_gps_location_change_toast
,
""
+
longitude
,
""
+
latitude
));
}
isInit
=
false
;
}
}
\ No newline at end of file
Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/network/ui/NetWorkMockFragment.java
浏览文件 @
ae879d82
...
...
@@ -46,7 +46,7 @@ import java.util.Arrays;
import
java.util.List
;
/**
* 数据mock 详情页
* 数据mock
相关设置
详情页
*/
public
class
NetWorkMockFragment
extends
BaseFragment
{
private
String
projectId
=
DokitConstant
.
PRODUCT_ID
;
...
...
Android/doraemonkit/src/main/res/layout/dk_fragment_gps_mock.xml
浏览文件 @
ae879d82
...
...
@@ -12,74 +12,134 @@
app:dkIcon=
"@drawable/dk_close_icon_big"
app:dkTitle=
"@string/dk_kit_gps_mock"
/>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/setting_list"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_below=
"@id/title_bar"
/>
<com.didichuxing.doraemonkit.ui.widget.webview.MyWebView
android:id=
"@+id/web_view"
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_below=
"@id/
setting_list"
/
>
android:layout_below=
"@id/
title_bar"
>
<RelativeLayout
android:id=
"@+id/mock_location_area"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_below=
"@id/setting_list"
android:layout_marginLeft=
"40dp"
android:layout_marginTop=
"25dp"
android:layout_marginRight=
"40dp"
android:background=
"@color/dk_color_EFFFFFFF"
android:padding=
"5dp"
>
<TextView
android:id=
"@+id/mock_location"
style=
"@style/DK.ConfirmButton.Positive"
android:layout_width=
"50dp"
android:layout_alignParentRight=
"true"
android:layout_centerVertical=
"true"
android:layout_marginRight=
"15dp"
android:enabled=
"false"
android:text=
"@string/dk_gpsmock_tv_location"
/>
<EditText
android:id=
"@+id/longitude"
style=
"@style/DK.Input"
android:layout_marginRight=
"15dp"
android:layout_toLeftOf=
"@id/mock_location"
android:hint=
"@string/dk_gpsmock_hint_longitude"
android:inputType=
"numberSigned|numberDecimal"
/>
<View
<com.didichuxing.doraemonkit.ui.widget.webview.MyWebView
android:id=
"@+id/web_view"
android:layout_width=
"match_parent"
android:layout_height=
"2px"
android:layout_below=
"@id/longitude"
android:layout_marginRight=
"15dp"
android:layout_toLeftOf=
"@id/mock_location"
android:background=
"@color/dk_color_E5E5E5"
/>
<EditText
android:id=
"@+id/latitude"
style=
"@style/DK.Input"
android:layout_below=
"@id/longitude"
android:layout_marginTop=
"5dp"
android:layout_marginRight=
"15dp"
android:layout_toLeftOf=
"@id/mock_location"
android:hint=
"@string/dk_gpsmock_hint_latitude"
android:inputType=
"numberSigned|numberDecimal"
/>
<View
android:layout_height=
"match_parent"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"2px"
android:layout_below=
"@id/latitude"
android:layout_marginRight=
"15dp"
android:layout_toLeftOf=
"@id/mock_location"
android:background=
"@color/dk_color_E5E5E5"
/>
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/dk_dp_5"
android:layout_marginTop=
"10dp"
android:layout_marginRight=
"@dimen/dk_dp_5"
android:orientation=
"vertical"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/setting_list"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"10dp"
android:background=
"@color/dk_color_FFFFFF"
android:orientation=
"vertical"
android:paddingLeft=
"@dimen/dk_dp_15"
android:paddingTop=
"10dp"
android:paddingRight=
"@dimen/dk_dp_15"
android:paddingBottom=
"10dp"
>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:paddingTop=
"5dp"
android:paddingBottom=
"5dp"
>
<ImageView
android:id=
"@+id/iv_search"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
android:src=
"@drawable/dk_search_icon"
/>
<EditText
android:id=
"@+id/ed_long_lat"
style=
"@style/DK.Input"
android:layout_marginRight=
"15dp"
android:layout_toLeftOf=
"@id/iv_search"
android:hint=
"@string/dk_gpsmock_hint_longlat"
/>
</RelativeLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:layout_marginTop=
"3dp"
android:layout_marginBottom=
"3dp"
android:background=
"@color/dk_color_E5E5E5"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"(示例:120.15 30.28)"
android:textColor=
"#cfcfcf"
android:textSize=
"14sp"
/>
</LinearLayout>
<!-- <RelativeLayout-->
<!-- android:id="@+id/mock_location_area"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginTop="10dp"-->
<!-- android:background="@color/dk_color_FFFFFF"-->
<!-- android:padding="5dp">-->
<!-- <TextView-->
<!-- android:id="@+id/mock_location"-->
<!-- style="@style/DK.ConfirmButton.Positive"-->
<!-- android:layout_width="50dp"-->
<!-- android:layout_alignParentRight="true"-->
<!-- android:layout_centerVertical="true"-->
<!-- android:layout_marginRight="15dp"-->
<!-- android:enabled="false"-->
<!-- android:text="@string/dk_gpsmock_tv_location" />-->
<!-- <EditText-->
<!-- android:id="@+id/longitude"-->
<!-- style="@style/DK.Input"-->
<!-- android:layout_marginRight="15dp"-->
<!-- android:layout_toLeftOf="@id/mock_location"-->
<!-- android:hint="@string/dk_gpsmock_hint_longitude"-->
<!-- android:inputType="numberSigned|numberDecimal" />-->
<!-- <View-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="2px"-->
<!-- android:layout_below="@id/longitude"-->
<!-- android:layout_marginRight="15dp"-->
<!-- android:layout_toLeftOf="@id/mock_location"-->
<!-- android:background="@color/dk_color_E5E5E5" />-->
<!-- <EditText-->
<!-- android:id="@+id/latitude"-->
<!-- style="@style/DK.Input"-->
<!-- android:layout_below="@id/longitude"-->
<!-- android:layout_marginTop="5dp"-->
<!-- android:layout_marginRight="15dp"-->
<!-- android:layout_toLeftOf="@id/mock_location"-->
<!-- android:hint="@string/dk_gpsmock_hint_latitude"-->
<!-- android:inputType="numberSigned|numberDecimal" />-->
<!-- <View-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="2px"-->
<!-- android:layout_below="@id/latitude"-->
<!-- android:layout_marginRight="15dp"-->
<!-- android:layout_toLeftOf="@id/mock_location"-->
<!-- android:background="@color/dk_color_E5E5E5" />-->
<!-- </RelativeLayout>-->
</LinearLayout>
</FrameLayout>
</RelativeLayout>
</RelativeLayout>
\ No newline at end of file
Android/doraemonkit/src/main/res/values-en-rUS/strings.xml
浏览文件 @
ae879d82
...
...
@@ -118,8 +118,9 @@
<string
name=
"dk_web_door_clear_history"
>
Clear History
</string>
<string
name=
"dk_gpsmock_tv_location"
>
Mock
</string>
<string
name=
"dk_gpsmock_hint_latitude"
>
Input latitude
</string>
<string
name=
"dk_gpsmock_hint_longitude"
>
Input longitude
</string>
<string
name=
"dk_gpsmock_hint_longlat"
>
Please Input latitude and longitude
</string>
<!--卡顿检测-->
<string
name=
"dk_kit_block_monitor"
>
ANR Check
</string>
...
...
@@ -168,7 +169,7 @@
<string
name=
"dk_frameinfo_ram"
>
RAM
</string>
<string
name=
"dk_kit_network_monitor"
>
Network Monitor
</string>
<string
name=
"dk_float_permission_toast"
>
DoraemonKit need draw over other app permission
</string>
<string
name=
"dk_gps_location_change_toast"
>
Location changed: %1$s, %2$s
</string>
<string
name=
"dk_gps_location_change_toast"
>
Location changed: %1$s
, %2$s
</string>
<string
name=
"dk_view_check_info_size"
>
View Size:width%1$d,height%2$d
</string>
<string
name=
"dk_view_check_info_desc"
>
View Background:%1$s
</string>
<string
name=
"dk_view_check_info_padding"
>
View Padding:%1$d, %2$d, %3$d, %4$d
</string>
...
...
Android/doraemonkit/src/main/res/values-zh-rCN/strings.xml
浏览文件 @
ae879d82
...
...
@@ -120,8 +120,8 @@
<string
name=
"dk_gpsmock_open"
>
开启模拟定位
</string>
<string
name=
"dk_gpsmock_tv_location"
>
模拟
</string>
<string
name=
"dk_gpsmock_hint_latitude"
>
输入纬度
</string>
<string
name=
"dk_gpsmock_hint_long
itude"
>
输入经
度
</string>
<string
name=
"dk_gpsmock_hint_long
lat"
>
请输入经纬
度
</string>
<!--卡顿检测-->
<string
name=
"dk_kit_block_monitor"
>
卡顿检测
</string>
...
...
@@ -168,7 +168,7 @@
<string
name=
"dk_frameinfo_ram"
>
RAM
</string>
<string
name=
"dk_kit_network_monitor"
>
流量监控
</string>
<string
name=
"dk_float_permission_toast"
>
哆啦A梦需要打开悬浮窗权限才能正常使用
</string>
<string
name=
"dk_gps_location_change_toast"
>
地址变为: %1$s, %2$s
</string>
<string
name=
"dk_gps_location_change_toast"
>
地址变为: %1$s
, %2$s
</string>
<string
name=
"dk_view_check_info_desc"
>
背景颜色:%1$s
</string>
<string
name=
"dk_view_check_info_padding"
>
内边距:%1$d, %2$d, %3$d, %4$d
</string>
<string
name=
"dk_view_check_info_margin"
>
外边距:%1$d, %2$d, %3$d, %4$d
</string>
...
...
Android/doraemonkit/src/main/res/values-zh-rTW/strings.xml
浏览文件 @
ae879d82
...
...
@@ -117,8 +117,9 @@
<string
name=
"dk_gpsmock_open"
>
開啟模擬定位
</string>
<string
name=
"dk_gpsmock_tv_location"
>
模擬地址
</string>
<string
name=
"dk_gpsmock_hint_latitude"
>
輸入緯度 (Lat)
</string>
<string
name=
"dk_gpsmock_hint_longitude"
>
輸入經度 (Lng)
</string>
<string
name=
"dk_gpsmock_hint_longlat"
>
請輸入經緯度
</string>
<!--卡頓檢測-->
<string
name=
"dk_kit_block_monitor"
>
ANR 檢測
</string>
...
...
@@ -166,7 +167,7 @@
<string
name=
"dk_kit_network_monitor"
>
流量監控
</string>
<string
name=
"dk_data_clean_toast"
>
清除系統資料
</string>
<string
name=
"dk_float_permission_toast"
>
哆啦A夢需要打開懸浮視窗權限才能正常使用
</string>
<string
name=
"dk_gps_location_change_toast"
>
地址變為: %1$s, %2$s
</string>
<string
name=
"dk_gps_location_change_toast"
>
地址變為: %1$s
, %2$s
</string>
<string
name=
"dk_view_check_info_desc"
>
背景顏色:%1$s
</string>
<string
name=
"dk_view_check_info_padding"
>
內邊距:%1$d, %2$d, %3$d, %4$d
</string>
<string
name=
"dk_view_check_info_margin"
>
外邊距:%1$d, %2$d, %3$d, %4$d
</string>
...
...
Android/doraemonkit/src/main/res/values/strings.xml
浏览文件 @
ae879d82
...
...
@@ -124,8 +124,7 @@
<string
name=
"dk_gpsmock_open"
>
开启模拟定位
</string>
<string
name=
"dk_gpsmock_tv_location"
>
模拟
</string>
<string
name=
"dk_gpsmock_hint_latitude"
>
输入纬度
</string>
<string
name=
"dk_gpsmock_hint_longitude"
>
输入经度
</string>
<string
name=
"dk_gpsmock_hint_longlat"
>
请输入经纬度
</string>
<!--卡顿检测-->
<string
name=
"dk_kit_block_monitor"
>
卡顿检测
</string>
...
...
@@ -227,7 +226,7 @@
<string
name=
"dk_float_permission_toast"
>
哆啦A梦需要打开悬浮窗权限才能正常使用
</string>
<string
name=
"dk_gps_location_change_toast"
>
地址变为: %1$s, %2$s
</string>
<string
name=
"dk_gps_location_change_toast"
>
地址变为: %1$s
, %2$s
</string>
<string
name=
"dk_layout_level"
>
布局层级
</string>
...
...
Android/doraemonkit/src/main/res/values/styles.xml
浏览文件 @
ae879d82
...
...
@@ -164,7 +164,7 @@
<style
name=
"DK.Input"
>
<item
name=
"android:layout_width"
>
match_parent
</item>
<item
name=
"android:layout_height"
>
36dp
</item>
<item
name=
"android:layout_height"
>
wrap_content
</item>
<item
name=
"android:gravity"
>
center_vertical|left
</item>
<item
name=
"android:textColor"
>
@color/dk_color_333333
</item>
<item
name=
"android:textColorHint"
>
@color/dk_color_CCCCCC
</item>
...
...
README.md
浏览文件 @
ae879d82
...
...
@@ -59,7 +59,7 @@ DoraemonKit 是一个功能集合面板,能够让每一个 App 快速接入一
1.
**【帧率】**
App 帧率信息提供波形图查看功能,让帧率监控的趋势更加明显;
2.
**【CPU】**
App CPU 使用率信息提供波形图查看功能,让 CPU 监控的趋势更加形象;
3.
**【内存】**
App 内存使用量信息提供波形图查看功能,让内存监控的趋势更加鲜明;
4.
**【流量】**
拦截 App 内部流量信息,提供波形图展示、流量概要展示、流量列表展示、流量筛选、流量详情,对流量信息统一拦截,成为我们 App 中自带的
“Charles”
;
4.
**【流量】**
拦截 App 内部流量信息,提供波形图展示、流量概要展示、流量列表展示、流量筛选、流量详情,对流量信息统一拦截,成为我们 App 中自带的
"Charles"
;
5.
**【卡顿】**
锁定 App 出现卡顿的时刻,打印出对应的代码调用堆栈;
6.
**【大图检测】**
通过流量监测,找出所有的大小超标的图片,避免下载大图造成的流量浪费和渲染大图带来的CPU消耗。
7.
**【自定义】**
可以选择你要监控的选项,包括 FPS、CPU、内存、流量。监控完毕之后,把数据保存到本地,按照页面进行维度进行分析;
...
...
@@ -185,7 +185,20 @@ DoraemonKit 基于 Apache-2.0 协议进行分发和使用,更多信息参见 [
iOS上传代码详见DoraemonStatisticsUtil类中的实现
Andoid上传代码详见DoraemonStatisticsUtil类中的实现
**以下为Android端所有涉及到网络请求的部分**
1、统计有多少人集成了dokit
DoraemonStatisticsUtil#uploadUserInfo
2、统计每个内置kit的使用情况
DataPickManager#realPost
3、上传健康体检的相关数据
AppHealthInfoUtil#post
4、数据mock的相关网络请求
NetWorkMockFragment 里涉及到接口mock的相关网络请求
敬请各位用户知晓。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录