今天发现启动genymotion报错,启动不了,以前也没问题的。
记录一下这过程。首先在virtualbox启动是报以下的错,

这也是错误的一段代码。

返回 代码:E_FAIL (0x80004005)
组件:MachineWrap
界面:IMachine {f30138d4-e5ea-4b3a-8858-a059de4c93fd}

google了一翻

  1. 试过设置网卡,失败。
  2. 重装过新版,失败

最后看到网上有人说使用旧版就可以了,我尝试下使用这个版本 http://download.virtualbox.org/virtualbox/4.3.12/VirtualBox-4.3.12-93733-Win.exe

成功了。为什么呢,搞不明白?

注释

File->Settings,搜索Templates,找到File and Code Templates,右边面板,Files->Class,然后修改编辑框里的内容。下面是接口(Interface)的注释模板。我的注释模板如下:

1
2
3
4
5
6
7
8
9
10
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end  

/**
* User: wuchaowen(511644784@qq.com)
* Date: ${YEAR}-${MONTH}-${DAY}
* Time: ${HOUR}:${MINUTE}
* FIXME
*/
public class ${NAME} {
}

成员变量前缀

如果你命名成员变量习惯前面加一个m的前缀,但是生成getter和setter的时候,又不希望方法名中有这个m,可以如下设置。
File->Settings->Code Style->Java,然后在右边面板中选择Code Generation标签,Naming,Field这一行,对应的Name prefix中加上m.

快捷键

http://seniorzhai.github.io/2015/02/05/AndroidStudio%E5%BF%AB%E6%8D%B7%E9%94%AE%E6%B1%87%E6%80%BB/

  1. Ctrl(Command)+Alt(Option)+L 格式化代码
  2. 添加 tools 命名空间。只需输入 toolsNS 然后按下 TAB 键。

以下是我使用hexo的一些历程,搭建过程也挺纠结。网上的很多教程也有些是过时了。综合多方面的参考资料,才写下来这个教程。

阅读全文 »

RxJava与众不同之处

从纯Java的观点看,RxJava Observable类源自于经典的Gang Of Four的观察者模式。

它添加了三个缺少的功能:

  • 生产者在没有更多数据可用时能够发出信号通知:onCompleted()事件。
  • 生产者在发生错误时能够发出信号通知:onError()事件。
  • RxJava Observables 能够组合而不是嵌套,从而避免开发者陷入回调地狱。

四种角色

  • Observable
  • Observer
  • Subscriber
  • Subjects
    Observables和Subjects是两个”生产”实体,Observers和Subscribers是两个”消费”实体

概念

RxJava 有四个基本概念:Observable (可观察者,即被观察者)、 Observer (观察者)、 subscribe (订阅)、事件。ObservableObserver 通过 subscribe()方法实现订阅关系,从而 Observable 可以在需要的时候发出事件来通知 Observer

阅读全文 »