Chinese, Simplified subtitles

← The State of Things

Get Embed Code
4 Languages

Showing Revision 5 created 09/15/2016 by Udacity Robot.

  1. 我们对在连接性能不佳案例中反馈的初始体验进行了改善
  2. 但如果天气服务器停机或出现强制网络门户
  3. 会发生什么情况?
  4. 在这种情况下 我们可能无法得到数据 或获得某种格式的已损坏数据
  5. 而用户仍然不知道到底发生了什么
  6. 首先枚举
  7. 我们想要与用户通信的状态
  8. 虽然 Java 支持枚举类型 但对比使用静态最终整数常量
  9. 代价太高且效率太低
  10. 因此 在 Android 中 我们不推荐使用它们
  11. 也就是说 最好是有一些安全
  12. 并且已经在 Android Support Library 中添加的注释可以起到帮助作用的类型
  13. 首先 什么是注释?
  14. 在 Java 中 注释被指定为以 @ 符号开始
  15. 比如说 一般在此使用 @override
  16. 它们保护信息或元数据 与我们应用中的代码相关联
  17. 但不会直接更改代码的功能
  18. 它们可能会被开发工具所使用
  19. 这取决于它们的获取方式 可能是在运行时读取
  20. 要使用支持注释 我们需要转到 Android Studio 的
  21. “项目结构”对话框 并添加支持注释依赖关系
  22. 由于我们为状态所存储的整数仅有几个可预定义的值
  23. 如果我们的工具能够为我们提供帮助就再好不过了
  24. 高速缓存向我们的状态分配不受支持的值
  25. 并自动完成此类型的变量输入
  26. 支持注释和
  27. 库提供使用 IntDef 注释来获得的功能
  28. 这便是其工作原理
  29. 我们定义整数常量时 我们也会创建接口注释
  30. 就像在这个来自 PAD 库应用内部的示例中
  31. 我们用 IntDef 标注新注释
  32. 包括受支持的不同整数常量
  33. 来源保留政策告诉工具链
  34. 我们不需要在类中或在运行时里保留该注释
  35. 确保注释不会对我们的运行时或分发产生影响
  36. IDE 会标记我们试图返回不在getNavigationMode 中的集
  37. 或将不在此集合中的整数
  38. 传递至集合 @NavigationModeMethod 的值的情况
  39. 所以 我们需要考虑怎样的位置状态?
  40. 第一阶段是一切正常
  41. 第二阶段是我们的服务器停机
  42. 第三阶段是我们的服务器出现错误
  43. 第四阶段是我们不知道服务器是好是坏
  44. 因为我们尚未尝试进行联系
  45. 我们将继续在此添加状态 我们一直都在努力让我们的应用变成成品