在好例子网,分享、交流、成长!
您当前所在位置:首页Java 开发实例Android平台开发 → Android权威指南第三版,非扫描.pdf

Android权威指南第三版,非扫描.pdf

Android平台开发

下载此实例
  • 开发语言:Java
  • 实例大小:23.73M
  • 下载次数:5
  • 浏览次数:13
  • 发布时间:2021-01-18
  • 实例类别:Android平台开发
  • 发 布 人:zhouchangzhen
  • 所需积分:2
 相关标签: Android 权威指南 and id 指南

实例介绍

【实例简介】

【实例截图】

from clipboard

【核心代码】

目 录
第 1 章 Android 开发初体验 ......................... 1
1.1 Android 开发基础 ..................................... 2
1.2 创建 Android 项目 .................................... 2
1.3 Android Studio 使用导航 .......................... 6
1.4 用户界面设计 ........................................... 6
1.4.1 视图层级结构 .............................. 10
1.4.2 组件属性 ...................................... 10
1.4.3 创建字符串资源 ........................... 11
1.4.4 预览布局 ...................................... 12
1.5 从布局 XML 到视图对象 ........................ 13
1.6 组件的实际应用 ...................................... 16
1.6.1 引用组件 ...................................... 17
1.6.2 设置监听器 .................................. 17
1.7 创建提示消息 .......................................... 19
1.8 使用模拟器运行应用 ............................... 21
1.9 深入学习:Android 编译过程 ................. 23
1.10 关于挑战练习 ........................................ 25
1.11 挑战练习:定制 toast 消息 .................... 25
第 2 章 Android 与 MVC 设计模式 ............ 26
2.1 创建新类 .................................................. 26
2.2 Android 与 MVC 设计模式 ...................... 29
2.3 更新视图层 .............................................. 31
2.4 更新控制器层 .......................................... 33
2.5 在物理设备上运行应用 ........................... 37
2.5.1 连接设备 ...................................... 37
2.5.2 配置设备用于应用开发 ............... 37
2.6 添加图标资源 .......................................... 38
2.6.1 向项目中添加资源 ....................... 39
2.6.2 在 XML 文件中引用资源 ............. 41
2.7 挑战练习:为 TextView 添加监听器 ..... 42
2.8 挑战练习:添加后退按钮 ....................... 42
2.9 挑战练习:从按钮到图标按钮 ............... 42
第 3 章 activity 的生命周期 ......................... 45
3.1 日志跟踪理解 activity 生命周期 ............. 46
3.1.1 输出日志信息 .............................. 46
3.1.2 使用 LogCat ................................. 48
3.1.3 activity 生命周期实例解析 .......... 50
3.2 设备旋转与 activity 生命周期 ................. 52
3.3 保存数据以应对设备旋转 ....................... 56
3.4 再探 activity 生命周期 ............................ 58
3.5 深入学习:activity 内存清理现状 .......... 59
3.6 深入学习:日志记录的级别与方法 ........ 60
3.7 挑战练习:禁止一题多答 ....................... 61
3.8 挑战练习:评分 ...................................... 61
第 4 章 Android 应用的调试 ........................ 62
4.1 异常与栈跟踪 .......................................... 63
4.1.1 诊断应用异常 .............................. 64
4.1.2 记录栈跟踪日志 .......................... 65
4.1.3 设置断点 ...................................... 66
4.1.4 使用异常断点 .............................. 68
4.2 Android 特有的调试工具 ........................ 70
4.2.1 使用 Android Lint ........................ 70
4.2.2 R 类的问题 ................................... 71
4.3 挑战练习:探索布局检查器 ................... 72
4.4 挑战练习:探索内存分配跟踪 ............... 72
第 5 章 第二个 activity .................................. 74
5.1 创建第二个 activity ................................. 75
2 目 录
5.1.1 创建新的 activity ......................... 75
5.1.2 创建新的 activity 子类 ................. 78
5.1.3 在 manifest 配置文件中声明
activity ......................................... 78
5.1.4 为 QuizActivity 添加 CHEAT
按钮 ............................................. 79
5.2 启动 activity ............................................ 81
5.3 activity 间的数据传递 ............................. 83
5.3.1 使用 intent extra ........................... 83
5.3.2 从子 activity 获取返回结果 ......... 86
5.4 activity 的使用与管理 ............................. 91
5.5 挑战练习:堵住漏洞 .............................. 93
第 6 章 Android SDK 版本与兼容 .............. 94
6.1 Android SDK 版本 ................................... 94
6.2 Android 编程与兼容性问题 .................... 95
6.2.1 比较合理的版本 .......................... 95
6.2.2 SDK 最低版本 ............................. 96
6.2.3 SDK 目标版本 ............................. 97
6.2.4 SDK 编译版本 ............................. 97
6.2.5 安全添加新版本 API 中的代码 ... 97
6.3 使用 Android 开发者文档 ..................... 100
6.4 挑战练习:报告编译版本 ..................... 101
6.5 挑战练习:限制作弊次数 ..................... 102
第 7 章 UI fragment 与 fragment
管理器 .............................................. 103
7.1 UI 设计的灵活性需求 ........................... 104
7.2 引入 fragment ........................................ 104
7.3 着手开发 CriminalIntent........................ 105
7.3.1 创建新项目 ................................ 107
7.3.2 两类 fragment ............................ 108
7.3.3 在 Android Studio 中增加依赖
关系 ........................................... 108
7.3.4 创建 Crime 类 ............................ 111
7.4 托管 UI fragment ................................... 112
7.4.1 fragment 的生命周期 ................. 112
7.4.2 托管的两种方式 ........................ 113
7.4.3 定义容器视图 ............................ 113
7.5 创建 UI fragment ................................... 115
7.5.1 定义 CrimeFragment 的布局 .... 115
7.5.2 创建 CrimeFragment 类 ............ 117
7.6 向 FragmentManager 添加
UI fragment ........................................... 122
7.6.1 fragment 事务 ............................ 123
7.6.2 FragmentManager 与 fragment
生命周期.................................... 125
7.7 采用 fragment 的应用架构 .................... 126
7.8 深入学习:fragment 与支持库 ............. 127
7.9 深入学习:为什么优先使用支持库版
fragment ................................................. 128
第 8 章 使用 RecyclerView 显示
列表 .................................................. 129
8.1 升级 CriminalIntent 应用的模型层 ....... 130
8.2 使用抽象 activity 托管 fragment ........... 132
8.2.1 通用型 fragment 托管布局 ........ 133
8.2.2 抽象 activity 类 .......................... 133
8.3 RecyclerView、ViewHolder 和
Adapter ................................................. 137
8.3.1 ViewHolder 和 Adapter ........... 138
8.3.2 使用 RecyclerView .................. 141
8.3.3 列表项视图 ................................ 142
8.3.4 实现 ViewHolder 和 Adapter ... 143
8.4 绑定列表项 ........................................... 145
8.5 响应点击 ............................................... 147
8.6 深入学习:ListView 和 GridView ...... 148
8.7 深入学习:单例 .................................... 148
8.8 挑战练习:RecyclerView ViewType .... 149
第 9 章 使用布局与组件创建用户界面 ... 150
9.1 使用图形布局工具 ................................ 151
9.2 引入 ConstraintLayout ...................... 151
9.2.1 使用 ConstraintLayout .......... 152
9.2.2 约束编辑器 ................................ 153
9.2.3 腾出空间 .................................... 155
9.2.4 添加组件 .................................... 157
9.2.5 约束的 XML 形式...................... 159
9.2.6 编辑属性 .................................... 160
9.2.7 动态设置列表项 ........................ 162
目 录 3
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
18
17
9.3 深入学习布局属性 ................................ 163
9.3.1 dp、sp 以及屏幕像素密度 ......... 163
9.3.2 边距与内边距 ............................ 165
9.3.3 样式、主题及主题属性 ............. 166
9.3.4 Android 应用的设计原则 ........... 166
9.4 图形布局工具使用小结 ......................... 167
9.5 挑战练习:日期格式化 ......................... 167
第 10 章 使用 fragment argument ........... 168
10.1 从 fragment 中启动 activity ................. 168
10.1.1 附加 extra 信息 ....................... 169
10.1.2 获取 extra 信息 ....................... 170
10.1.3 使用 Crime 数据更新
CrimeFragment 视图 ............. 171
10.1.4 直接获取 extra 信息的缺点 .... 172
10.2 fragment argument ............................... 172
10.2.1 附加 argument 给 fragment ..... 173
10.2.2 获取 argument ........................ 174
10.3 刷新显示列表项 .................................. 174
10.4 通过 fragment 获取返回结果 ............... 176
10.5 深入学习:为何要用 fragment
argument ............................................... 177
10.6 挑战练习:实现高效的 RecyclerView
刷新 ...................................................... 178
10.7 挑战练习:优化 CrimeLab 的表现 ..... 178
第 11 章 使用 ViewPager ........................... 179
11.1 创建 CrimePagerActivity ................. 180
11.1.1 ViewPager 与
PagerAdapter ........................ 181
11.1.2 整合并配置使用
CrimePagerActivity ............ 182
11.2 FragmentStatePagerAdapter 与
FragmentPagerAdapter ..................... 184
11.3 深入学习:ViewPager 的工作原理 .... 186
11.4 深入学习:以代码的方式创建视图 .... 187
11.5 挑战练习:恢复 CrimeFragment 的
边距 ...................................................... 187
11.6 挑战练习:添加 Jump to First 按钮和
Jump to Last 按钮 ................................. 188
第 12 章 对话框 ............................................ 189
12.1 创建 DialogFragment ........................ 190
12.1.1 显示 DialogFragment ........... 192
12.1.2 设置对话框的显示内容 ......... 194
12.2 fragment 间的数据传递 ....................... 196
12.2.1 传递数据给
DatePickerFragment ............ 197
12.2.2 返回数据给 CrimeFragment ... 199
12.3 挑战练习:更多对话框 ....................... 205
12.4 挑战练习:实现响应式
DialogFragment ................................. 205
第 13 章 工具栏 ............................................ 207
13.1 AppCompat .......................................... 207
13.2 工具栏菜单 .......................................... 209
13.2.1 在 XML 文件中定义菜单....... 210
13.2.2 创建菜单 ................................ 214
13.2.3 响应菜单项选择 ..................... 217
13.3 实现层级式导航 .................................. 218
13.4 可选菜单项 .......................................... 219
13.4.1 切换菜单项标题 ..................... 220
13.4.2 “还有个问题” ......................... 222
13.5 深入学习:工具栏与操作栏 ............... 224
13.6 挑战练习:删除 crime 记录 ................ 224
13.7 挑战练习:复数字符串资源 ............... 224
13.8 挑战练习:用于 RecyclerView 的
空视图 .................................................. 225
第 14 章 SQLite 数据库 ............................. 226
14.1 定义 schema ......................................... 226
14.2 创建初始数据库 .................................. 227
14.2.1 使用 Android Device Monitor
查看文件 ................................ 230
14.2.2 处理数据库相关问题 ............. 231
14.3 修改 CrimeLab 类................................ 232
14.4 写入数据库 .......................................... 233
14.4.1 使用 ContentValues ............. 233
14.4.2 插入和更新记录 ..................... 234
14.5 读取数据库 .......................................... 235
14.5.1 使用 CursorWrapper ............. 236 
4 目 录
14.5.2 创建模型层对象 ..................... 238
14.6 深入学习:数据库高级主题介绍 ....... 241
14.7 深入学习:应用上下文 ....................... 241
14.8 挑战练习:删除 crime 记录 ................ 242
第 15 章 隐式 intent .................................... 243
15.1 添加按钮组件 ...................................... 244
15.2 添加嫌疑人信息至模型层 ................... 244
15.3 使用格式化字符串 .............................. 246
15.4 使用隐式 intent .................................... 248
15.4.1 隐式 intent 的组成 ................. 248
15.4.2 发送消息 ................................ 249
15.4.3 获取联系人信息 ..................... 252
15.4.4 检查可响应任务的 activity .... 254
15.5 挑战练习:ShareCompat .................... 256
15.6 挑战练习:又一个隐式 intent ............. 256
第 16 章 使用 intent 拍照 ........................... 258
16.1 布置照片 .............................................. 258
16.2 文件存储 .............................................. 260
16.2.1 使用 FileProvider ............... 261
16.2.2 指定照片存放位置 ................. 262
16.3 使用相机 intent .................................... 263
16.4 缩放和显示位图 .................................. 265
16.5 功能声明 .............................................. 268
16.6 挑战练习:优化照片显示 ................... 269
16.7 挑战练习:优化缩略图加载 ............... 269
第 17 章 双版面主从用户界面 .................. 270
17.1 增加布局灵活性 .................................. 271
17.1.1 修改 SingleFragmentActivity ................................ 272
17.1.2 创建包含两个 fragment 容器
的布局 .................................... 272
17.1.3 使用别名资源 ........................ 274
17.1.4 创建平板设备专用可选
资源 ........................................ 275
17.2 activity:fragment 的托管者 ............... 276
17.3 深入学习:设备屏幕尺寸的确定 ....... 284
17.4 挑战练习:添加滑动删除功能 ........... 285
第 18 章 应用本地化 ................................... 286
18.1 资源本地化.......................................... 286
18.1.1 默认资源 ................................ 289
18.1.2 检查资源本地化完成情况 ..... 291
18.1.3 区域修饰符 ............................ 292
18.2 配置修饰符.......................................... 294
18.2.1 可用资源优先级排定 ............. 295
18.2.2 多重配置修饰符 .................... 296
18.2.3 寻找最匹配的资源 ................ 297
18.3 测试备选资源 ...................................... 298
18.4 挑战练习:日期本地化 ...................... 298
第 19 章 Android 辅助功能 ....................... 299
19.1 TalkBack ............................................. 299
19.1.1 点击浏览 ................................ 301
19.1.2 线性浏览 ................................ 301
19.2 实现非文字型元素可读 ...................... 303
19.2.1 添加内容描述 ........................ 303
19.2.2 实现组件可聚焦 .................... 305
19.3 提升辅助体验 ...................................... 305
19.4 深入学习:使用辅助功能扫描器 ....... 309
19.5 挑战练习:优化列表项 ...................... 311
19.6 挑战练习:补全上下文信息 ............... 311
19.7 挑战练习:事件主动通知 ................... 311
第 20 章 数据绑定与 MVVM .................... 313
20.1 为何要用 MVVM 架构 ........................ 314
20.2 创建 BeatBox 应用 .............................. 314
20.3 导入 assets ........................................... 319
20.4 处理 assets ........................................... 321
20.5 使用 assets ........................................... 323
20.6 绑定数据 ............................................. 325
20.6.1 创建视图模型 ........................ 327
20.6.2 绑定至视图模型 .................... 328
20.6.3 绑定数据观察 ........................ 330
20.7 访问 assets ........................................... 332
20.8 深入学习:数据绑定再探 ................... 333
20.8.1 lambda 表达式 ....................... 333
20.8.2 更多语法糖 ............................ 333
20.8.3 BindingAdapter ................... 333 
目 录 5
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
18
17
20.9 深入学习:为何使用 assets ................. 334
20.10 深入学习:什么是 non-assets ........... 334
第 21 章 音频播放与单元测试 .................. 335
21.1 创建 SoundPool ................................... 335
21.2 加载音频文件 ...................................... 336
21.3 播放音频 .............................................. 337
21.4 添加测试依赖 ...................................... 338
21.5 创建测试类 .......................................... 339
21.6 实现测试类 .......................................... 341
21.7 编写测试方法 ...................................... 342
21.8 数据绑定回调 ...................................... 346
21.9 释放音频 .............................................. 346
21.10 设备旋转和对象保存 ......................... 347
21.10.1 保留 fragment ..................... 348
21.10.2 设备旋转和已保留的
fragment .............................. 349
21.11 深入学习:是否保留 fragment .......... 351
21.12 深入学习:Espresso 与整合测试 ...... 351
21.13 深入学习:虚拟对象与测试 ............. 352
21.14 挑战练习:播放进度控制 ................. 353
第 22 章 样式与主题 ................................... 354
22.1 颜色资源 .............................................. 354
22.2 样式 ..................................................... 355
22.3 主题 ..................................................... 357
22.4 添加主题颜色 ...................................... 359
22.5 覆盖主题属性 ...................................... 361
22.6 修改按钮属性 ...................................... 364
22.7 深入学习:样式继承拾遗 ................... 367
22.8 深入学习:引用主题属性 ................... 367
第 23 章 XML drawable ............................ 368
23.1 统一按钮样式 ...................................... 368
23.2 shape drawable ..................................... 369
23.3 state list drawable ................................. 371
23.4 layer list drawable ................................ 372
23.5 深入学习:为什么要用
XML drawable ..................................... 373
23.6 深入学习:使用 mipmap 图像 ............ 374
23.7 深入学习:使用 9-patch 图像 ............. 375
23.8 挑战练习:按钮主题........................... 379
第 24 章 深入学习 intent 和任务 .............. 380
24.1 创建 NerdLauncher 项目 ..................... 380
24.2 解析隐式 intent .................................... 382
24.3 在运行时创建显式 intent .................... 386
24.4 任务与回退栈 ...................................... 388
24.4.1 在任务间切换 ........................ 389
24.4.2 启动新任务 ............................ 389
24.5 使用 NerdLauncher 应用作为设备
主屏幕 .................................................. 392
24.6 挑战练习:应用图标........................... 393
24.7 深入学习:进程与任务 ....................... 393
24.8 深入学习:并发文档........................... 395
第 25 章 HTTP 与后台任务 ....................... 398
25.1 创建 PhotoGallery 应用 ....................... 399
25.2 网络连接基本 ...................................... 401
25.3 使用 AsyncTask 在后台线程上
运行代码 .............................................. 403
25.4 线程与主线程 ...................................... 405
25.5 从 Flickr 获取 JSON 数据 .................... 407
25.6 从 AsyncTask 回到主线程 .................. 413
25.7 清理 AsyncTask .................................. 416
25.8 深入学习:AsyncTask 再探 ............... 416
25.9 深入学习:AsyncTask 的替代方案 .... 417
25.10 挑战练习:Gson ................................ 418
25.11 挑战练习:分页 ................................ 418
25.12 挑战练习:动态调整网格列 ............. 418
第 26 章 Looper、Handler 和
HandlerThread............................ 420
26.1 配置 RecyclerView 以显示图片 ........ 420
26.2 批量下载缩略图 .................................. 422
26.3 与主线程通信 ...................................... 423
26.4 创建并启动后台线程........................... 424
26.5 Message 与 message handler ............... 426
26.5.1 剖析 Message ......................... 426
26.5.2 剖析 Handler ......................... 427
26.5.3 使用 handler ........................... 428
26.5.4 传递 handler ........................... 431 
6 目 录
26.6 深入学习:AsyncTask 与线程 ........... 436
26.7 深入学习:解决图片下载问题 ........... 436
26.8 深入学习:StrictMode ........................ 437
26.9 挑战练习:预加载以及缓存 ............... 438
第 27 章 搜索 ................................................ 439
27.1 搜索 Flickr 网站 .................................. 439
27.2 使用 SearchView ................................ 443
27.3 使用 shared preferences 实现轻量级
数据存储 .............................................. 447
27.4 优化应用 .............................................. 451
27.5 挑战练习:深度优化 PhotoGallery
应用 ..................................................... 451
第 28 章 后台服务 ....................................... 452
28.1 创建 IntentService .......................... 452
28.2 服务的作用 .......................................... 454
28.3 查找最新返回结果 .............................. 456
28.4 使用 AlarmManager 延迟运行服务 .... 458
28.4.1 合理控制服务启动的频度 ..... 460
28.4.2 PendingIntent ..................... 461
28.4.3 使用 PendingIntent 管理
定时器 .................................... 461
28.5 控制定时器 .......................................... 462
28.6 通知信息 .............................................. 464
28.7 挑战练习:可穿戴设备上的通知 ....... 466
28.8 深入学习:服务之细节 ....................... 467
28.8.1 服务的能与不能 ..................... 467
28.8.2 服务的生命周期 ..................... 467
28.8.3 non-sticky 服务 ...................... 467
28.8.4 sticky 服务.............................. 468
28.8.5 绑定服务 ................................ 468
28.9 深入学习:JobScheduler 和
JobService ......................................... 469
28.10 挑战练习:在 Lollipop 设备上使用
JobService ....................................... 472
28.11 深入学习:sync adapter .................... 472
第 29 章 broadcast intent.......................... 474
29.1 普通 intent 和 broadcast intent ............. 474
29.2 接收系统 broadcast:重启后唤醒 ...... 475
29.2.1 创建并登记 standalone
receiver ................................... 475
29.2.2 使用 receiver .......................... 477
29.3 过滤前台通知消息 .............................. 479
29.3.1 发送 broadcast intent.............. 479
29.3.2 创建并登记动态 receiver ....... 480
29.3.3 使用私有权限限制
broadcast ................................ 482
29.3.4 使用有序 broadcast 收发
数据 ........................................ 484
29.4 receiver 与长时运行任务 .................... 488
29.5 深入学习:本地事件 .......................... 488
29.5.1 使用 EventBus ....................... 489
29.5.2 使用 RxJava ........................... 490
29.6 深入学习:探测 fragment 的状态 ....... 490
第 30 章 网页浏览 ....................................... 492
30.1 最后一段 Flickr 数据 ........................... 492
30.2 简单方式:隐式 intent ........................ 494
30.3 较难方式:使用 WebView ................... 496
30.4 处理 WebView 的设备旋转问题 .......... 502
30.5 深入学习:注入 JavaScript 对象 ........ 502
30.6 深入学习:WebView 升级 ................... 503
30.7 挑战练习:使用后退键浏览历史
网页 ..................................................... 504
30.8 挑战练习:非 HTTP 链接支持 ........... 504
第 31 章 定制视图与触摸事件 .................. 505
31.1 创建 DragAndDraw 项目 ..................... 505
31.2 创建定制视图 ...................................... 507
31.3 处理触摸事件 ...................................... 509
31.4 onDraw(...)方法内的图形绘制 ........ 513
31.5 挑战练习:设备旋转问题 ................... 515
31.6 挑战练习:旋转矩形框 ...................... 515
第 32 章 属性动画 ....................................... 516
32.1 建立场景 ............................................. 516
32.2 简单属性动画 ...................................... 519
32.2.1 视图属性转换 ........................ 521 
目 录 7
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
18
17
32.2.2 使用不同的 interpolator ......... 523
32.2.3 色彩渐变 ................................ 523
32.3 播放多个动画 ...................................... 525
32.4 深入学习:其他动画 API .................... 527
32.4.1 传统动画工具 ......................... 527
32.4.2 转场 ........................................ 527
32.5 挑战练习 .............................................. 527
第 33 章 地理位置和 Play 服务 ................ 528
33.1 地理位置和定位类库 ........................... 528
33.2 创建 Locatr 项目 .................................. 529
33.3 Play 服务定位和模拟器 ....................... 530
33.4 创建 Locatr 应用 .................................. 532
33.5 配置 Google Play 服务 ......................... 534
33.6 使用 Google Play 服务 ......................... 536
33.7 基于地理位置的 Flickr 搜索 ................ 538
33.8 获取定位数据 ...................................... 539
33.9 获取运行时权限 .................................. 542
33.10 寻找并显示图片 ................................ 546
33.11 挑战练习:权限使用理由 ................. 548
33.12 挑战练习:进度指示器 ..................... 549
第 34 章 使用地图 ........................................ 550
34.1 导入 Play 地图服务库 .......................... 550
34.2 Android 上的地图服务 ........................ 550
34.3 获取 Maps API key .............................. 550
34.4 创建地图 .............................................. 552
34.5 获取更多地理位置数据 ....................... 553
34.6 使用地图 .............................................. 556
34.7 深入学习:团队开发和 API key ......... 560
第 35 章 material design ........................... 562
35.1 material surface .................................... 562
35.1.1 elevation 和 Z 值 .................... 564
35.1.2 state list animator ................... 565
35.2 动画工具 .............................................. 566
35.2.1 circular reveal ......................... 567
35.2.2 shared element transition ........ 568
35.3 新的视图组件 ...................................... 571
35.3.1 card ......................................... 571
35.3.2 floating action button.............. 572
35.3.3 snackbar ................................. 573
35.4 深入学习 material design ..................... 574
第 36 章 编后语 ............................................ 575
36.1 终极挑战 .............................................. 575
36.2 关于我们 .............................................. 575
36.3 致谢 ..................................................... 576

实例下载地址

Android权威指南第三版,非扫描.pdf

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
;
报警