Dagger2 in Android(三)Scope与生命周期

10 6月

前言

之前我们已经学习了 Dagger 的基础知识、模块化管理,本章将是 Dagger 基础使用的最后一章。

Scope 被误称 Dagger 的黑科技,但实际上它非常简单,但错误理地解它的人却前仆后继。希望小伙伴们认真阅读这一章,第一次学习时一定要正确理解,不然后边再纠正会感觉世界观都被颠覆了。

@Scope

终于来了。Scope 正如字面意思,它可以管理所创建对象的“生命周期”。Sco[……]

>> 接着看呗

Dagger2 in Android(二)进阶

10 6月

前面已经讲了 Dagger 的基础注解,并且最后我们也搭建了一个最简单的 Dagger 注入。

这一篇我们继续学习 Dagger 更多的注解,以及如何模块化地管理。这些将帮助我们妥善组织不同的组件、明确各自的生命周期。

@Named

依赖注入迷失

之前说过 @Module@Provides 配合可以包装没有 @Inject 标注的构造函数。但如果包装了一个已经有了 @Inject 的[……]

>> 接着看呗

Dagger2 in Android(一)通俗基础

9 6月

背景知识

Dagger2 是一个由 Google (之前是 Square)维护的开源依赖注入框架。我曾两次试图学习 Dagger 最终被乱七八糟的名词弄得晕头转向,连个 demo 都没写出来就放弃了。所以本文也会重点解释 Dagger 的各个名词,只有熟悉了它们的作用,才能顺畅无阻地使用,也才能看懂别人的 demo。

虽然标题叫 Dagger2 in Android,但是前几节都是 Da[……]

>> 接着看呗

Android 构建 MVVM 应用 with Kotlin(一)概述

9 6月

各种模式

MVVM 是一种开发模式,对应的还有 MVC、MVP。这些模式最早在前端领域比较火,后来因为便于维护,被应用到各个平台。但 Android 上却发展的很慢。先来看一下各个模式的区别,以及他们在 Android 中的对应关系。

MVC

  • Model:业务数据模型。用于获取、储存数据。
  • View:视图。Activity、Fragment 等,当然也包括 xml 布局文件。
  • Contro[……]

    >> 接着看呗

JS in Android (Google V8)

4 6月

简介

由于项目动态化的需要,希望在 Android 应用中嵌入脚本语言。常见有 LuaJs。Lua 的集成在之前的文章中已经介绍过。lua 是一个非常轻量的语言,专为嵌入而生,这是他的优势。但因为太轻了,可以说几乎没有标准库,这也使得用起来不是很方便。但目前最大的问题是 lua 脚本无法完美地运行在 web 与微信小程序中,而 js 在这方面有先天的优势。

为了更加紧密地结合原生应用,要[……]

>> 接着看呗

大学活动的原罪

8 5月

又是一年运动会,想起大一时的自己,想起现在大一的孩子,感到面对框架的深深无力。

诡异的现状

相信无论你是双一流还是专科,一定遇到过「被」参与活动,「被」当观众之类的事情。若严词拒绝,轻则辅导员谈话被指没有集体荣誉感,重则取消评优资格甚至丢掉学分。一般来说,一个真正成功的活动应该是学生踊跃报名,而如今却被要挟着来参加,这是诡异之一。

其次,辅导员和学生会总是以「集体荣誉感」「不要总待在[……]

>> 接着看呗

树莓派 RaspberryPi 折腾踩坑记

15 4月

项目需要一个爬虫,正好朋友有一个闲置树莓派3b+拿来用。事实再一次证明,任何看起来很简单的事情其实都很复杂。而那些可能会发生的错误则一定会发生 (`⌒´メ)

环境:

  • Raspberry Pi 3b+
  • Raspbian 操作系统 (基于 Debian stretch9)

显示问题

无信号

首当其冲的是接好屏幕却无信号,光是这个问题就折腾了一小时。根据经验,这种诡异的问题其原因往往非常简[……]

>> 接着看呗

Python Anaconda + VS Code 多环境配置

20 2月

最近开始折腾 py,记录下 Anaconda + VS Code 的开发环境配置。用 Anaconda 主要因为虚拟环境管理,可以方便地切换多个环境与 py 版本。安装 Anaconda 后会推荐安装 VSC,这样应该是会自动配置的。不过我已经提前装了,只好手动来了。

由于法律问题,清华与中科大均关闭了 Cond[……]

>> 接着看呗

创业一年后的我

10 2月

不知道从什么时候,大学生创业渐渐从褒义词变成了中性词,并逐步变为贬义词。「创业」似乎成为了 幼稚、冲动、逃避 的代名词,更是被人当做 大学生思维 的典型代表。所以我不太喜欢把自己称为创业者,我既没有那个能力与人脉创立一个公司,也没有放弃学业一股脑钻进去,相比之下,我更喜欢使用「尝试」「锻炼」之类的词汇。但这是否就代表玩玩而已,不需要负很大责任?其实恰恰相反。

今天看了韩寒的《飞驰人生》,不自觉的[……]

>> 接着看呗