Git切换分支后Android Studio编译无效

在研究了Git Workflow并在PKU Helper for Android开发中投入实践了一段时间后,发现一个奇怪的问题。在Git本地切换分支之后,进入Android Studio编译,应用毫无变化。这个时候如果把应用下载再进行编译,甚至会报如下异常:

1
2
3
4
Unable to instantiate application 
com.android.tools.fd.runtime.BootstrapApplication:
java.lang.IllegalStateException: java.lang.ClassNotFoundException:
com.pkuhelper.AppContext

其中AppContext是PKU Helper的应用入口,这个找不到类名的异常十分莫名。

StackOverflow之,得知是Instant Run的锅。

Instant Run tries to do hot swapping of your code; this causes the application class to be moved.

这玩意还是有不少坑的啊……

另,关闭Instant Run的步骤:
Settings -> Build, Execution, Deployment -> Instant Run -> 取消勾选Enable Instant Run...

Fragment嵌套Fragment时正确的获取FragmentManager

在使用了Google MVP architecture之后,View层以一个动态Fragment的形式独立于Activity。在原本使用Activity作为View层时,如果需要内嵌多个动态Fragment,例如常见的ViewPager,我们可以使用Activity的FragmentManager来管理他们。而在Google MVP模式下,这就变成了一个View层的主Fragment嵌套许多子Fragment。在这时,我们应相应的用View层Fragment的FragmentManager来管理子Fragment。而这时,获取FragmentManager的方法应为getChildFragmentManager(),注意这里容易写错成getActivity().getSupportFragmentManager(),如果使用后者,则获得的是外层Activity的FragmentManager,此时是不符合逻辑的。

Git Workflow学习笔记

接触了Git和Github有一整年的时间了,最开始只是朴素的把Github作为一个远程的代码备份,完全没有发挥出Git任何版本控制的特性。而后的一年里,先后加入了PKU Helper和CAPU网络组,才了解到了协作开发这个概念,期间探索使用过一些不同的协作模式,有了些直观感受。

园子里的开发者如何愉快地面基

进燕园2年,撸代码若干年。

只从加入PKU Helper算起的话,是几乎整整1年。稳定的输出着一个个*.java,看Google I/O大会,开始关注架构与安全;Github上首次收获了陌生人的star和fork,搭了自己的主页luolc.com;买了服务器,知道了Apache和SQL是何物。

作为程序员,看起来是成长了不少:技能树点的越来越丰满,会的语言也不知不觉上了两位数,甚至开始有猎头伸出橄榄枝了。

而作为程序员,困惑的事情倒是一直没变过。

御守常伴

踏上脚蹬的瞬间,总有一种飞起来的畅快感,这是我最初喜欢上骑行的理由,也是跟着CAPU最初的几次拉练时最直接的感受。那时拉练在脑海中的定义不过就是:一群人浩浩荡荡的一块出去骑车罢了。