为View的切换添加过渡动画

  动画效果不仅可以使得应用更加吸引人,更可以突出变化的内容,使得用户能够更好地理解应用的操作和运作方式。Android提供了Transitions Framework来为View层级之间的切换添加过渡效果,最低需要API level 19。下面通过一个例子说明如何 添加过渡动画。   例子以在Android上实现Master/Detail Flow为基础,最终实现效果如下: 1. 添加Trans…
Read more

在Android上实现Master/Detail Flow

  Master/Detail Flow包含Master和Detail两个页面,Master页面显示包含了若干项目(item)的列表,给出各个项目的大概信息。当点击某个项目时,包含了该项目详细信息的Detail页面会显示出来。这种模式的一个优势在于,可以方便地适配不同的屏幕尺寸:手机屏幕尺寸有限,一般一次只能展示一个页面,那么首先显示Master,当用户点击感兴趣的项目时,再将该项目的Detail…
Read more

使用CursorLoader及更新RecyclerView

  RecyclerView目前还处在“heavy development”的阶段,一些功能仍有待完善。例如ListView可以使用CursorAdapter和CursorLoader,很方便地从ContentProvider获取并更新数据,而RecyclerView并不提供类似CursorAdapter的功能。下面的例子通过从系统通讯录中读取并显示联系人信息,展示了使用CursorLoader更…
Read more

RecyclerView使用方法举例(2)

  本文紧接着RecyclerView使用方法举例(1),继续介绍RecyclerView的一些用法。 1. 自定义ItemDecoration分隔item 1.1. 实现SpacesItemDecoration   可以通过加入自定义ItemDecoration的方式,为RecyclerView中的item添加装饰。如下面的SpacesItemDecoration为item四周添加指定的间距。 …
Read more

使用Wireshark抓取Origin下载链接

  年底Origin平台紧跟Steam的步伐各种打折,剁手之后,发现下载速度极慢,而且很不稳定,Ping到最快服务器改hosts也不管用。为了得到稳定高速的下载,可以使用Wireshark抓取Origin中下载任务的链接,使用迅雷等下载工具进行下载。   打开Wireshark,在“Capture” / “Interfaces”下选好接口,并将Filter设置为: ip.src== YOUR_IP…
Read more

Retrofit 2使用方法举例

  Retrofit是Square推出的一个“type-safe HTTP client for Android and Java”,通过将HTTP(REST) API转换为Java接口,极大地简化了HTTP API的使用。下面通过一个例子介绍Retrofit的基本使用,通过Retrofit向TMDb请求流行电影的信息,得到JSON格式的响应,由GSON解析后,以列表的形式显示出来。 0. The…
Read more

使用Gradle在属性文件中保存API Key

  很多站点的API都需要使用API key,API key需要保密,在发布代码时,要注意不能把API key也共享了出来。下面给出一种在Android Studio上通过Gradle在属性文件中保存API key的方法。   首先在build.gradle中的buildTypes下加入: buildTypes { … applicationVariants.all { variant -&g…
Read more

OCA/OCP Java Note (11): Exceptions

1. Understanding Exception Types   Java中异常的种类如图1所示。   Error用于指示严重错误,程序不应尝试从错误中恢复。RuntimeException和其子类表示运行时异常,用于指示意外的非致命异常,也被称为unchecked exception。   Runtime (Unchecked) exception是异常的一个种类,并不是指在程序运行期间(r…
Read more