Happy Blog

不做下一个谁,只做第一个我。

APP架构指南

Android开发文档翻译

app开发者普遍面临的问题 在大多数情况下,APP开发不同于桌面程序开发,桌面程序通常有单一的入口,并且跑在独立进程中,Android apps有更多更复杂的入口。一个典型的Android app由多样的app组件构造,包括activities,fragments,services,content providers和broadcase receivers。 多数的这些app组件被声明在...

Android Architecture Components

Android开发文档翻译

概述 Android架构组件是Android Jetpack的一部分。它们是一个库的集合,这个集合可以帮助你设计鲁棒的,可测试的,和持续性强的app。从管理UI组件生命周期和处理数据持久性的类开始。 使管理你的app的生命周期变得容易。新的lifecycle-aware组件帮助你管理你的activity和fragment的生命周期。在设备配置改变时不丢失数据,回避内存泄漏,并且容易...

打开“不保存活动”后程序不崩溃的修改方案

开发者选项中“不保存活动”按钮的含义 “不保留活动”开启后: 当从Activity A -> Activity B时,A会销毁,当从B退回到A时,A回重新加载,不会回到退出时的状态。 当从应用返回到桌面时,该应用不会保留在后台,而是从内存中直接清除,再次打开不会回到退出时的状态。 由于某些用户打开了这个按钮,会导致app的跳转逻辑和fragment加载出问题,而导致崩...

译 Fragment Transactions Activity State Loss

慎用commitAllowingStateLoss()

每次初始化Honeycomb时,有时会报如下错误: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.ja...

Spring IoC容器

接口 用于沟通的中介物的抽象化 实体把自己提供给外界的一种抽象化说明,用以由内部操作分离初外部的沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式 对应Java接口即生命,声明了哪些方法是对外公开提供的 在Java 8中,接口可以拥有方法体 面向接口编程 结构设计中,分清层次及调用关系,每层只向外(上层)提供一组功能接口,各层间仅依赖接口而非实现类 ...

Spring入门学习1_Spring简介

Spring是什么 Spring是一个开源框架,为了解决企业应用开发的复杂性而创建的,但现在已经不止应用于企业应用。 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 从大小与开销两方面而言Spring都是轻量的 通过控制反转(IoC)的技术达到松耦合的目的 提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发 ...

MAVEN学习笔记

maven是什么 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。 maven常用的构建命令 mvn -v 查看maven版本 mvn compile 编译 mvn test 测试 mvn package 打包 mvn clean 删除target mvn install 安装jar包到本地仓库 maven自动建立目录...

RxJava学习笔记

RxJava四要素 被观察者 观察者 订阅 事件 Demo // 创建被观察者:create Observable observable = Observable.create(new Observable.OnSubscribe<String>() { @Override public void call(Subscriber<?...

Java Annotation学习笔记

在本地轻松调试自己的Blog

概念 An annotation is a form of metadata, that can be added to Java source code. Classes, methods, variables, parameters and packages may be annotated. Annotations have no direct effect on the op...

EventBus3不同之处

EventBus3的几处变化

介绍 订阅者的变化 在EventBus3中订阅者的方法可以随意取,而不用像EventBus2中要以onEvent开头。 首先需要分析Subscribe的注解: @Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD}) public @interface Subscribe { //...