有时候php发生错误,有没有展示出错误信息,我们只能去找各种错误日志才能解决问题,然而我们又不知道错误日志在哪里,又得急一段时间去找。
下面简单的配置,我们就能让网页出现错误信息。
在执行代码中加入下面两行代码即可
ini_set("display_errors","On");
error_reporting(E_ALL);
一般把这两行代码放在访问的入口出就会全局起作用,建议做好debug模式
有时候php发生错误,有没有展示出错误信息,我们只能去找各种错误日志才能解决问题,然而我们又不知道错误日志在哪里,又得急一段时间去找。
下面简单的配置,我们就能让网页出现错误信息。
在执行代码中加入下面两行代码即可
ini_set("display_errors","On");
error_reporting(E_ALL);
一般把这两行代码放在访问的入口出就会全局起作用,建议做好debug模式
標註@Provides的method若有parameter的話,Dagger會找出其擁有的該型態物件來使用。我們在Module內新增了DataModel將其列入Dagger的管理下,接著在provideFactory()增加parameter變成provideFactory(DataModel dataModel),Dagger就會找出其管理的DataModel給provideFactory使用。
i added kapt instead of annotationProcessor for kotlin. we dont need to keep annotationProcessor dependency. Also we have to add kotlin-plugin in gradle.
As we all know, it would be Very Bad to attempt to perform constructor injection on a Fragment.
有时候有这样的需求,需要在LiveData将变化的数据通知给观察者前,改变数据的类型;或者是返回一个不一样的LiveData。
Lifecycle-aware components生命周期感知组件执行操作,以响应另一个组件生命周期状态的更改,例如Activity和Fragment。这些组件可以帮助您生成更有组织、更容易维护的轻量级代码。
Room是Google在AndroidX中提供的一个ORM(Object Relational Mapping,对象关系映射)库。它是在SQLite上提供的一个抽象层,可以使用SQLite的全部功能,同时可以更好更便捷流畅地访问数据库。(关于AndroidX可以参考
LiveData与ViewMode是经常搭配在一起使用的,但是为了不太混乱,我还是拆分开来说明,此篇博客只讲解 LiveData 与 MutableLiveData的概念与使用方式(但是会涉及到ViewMode的部分代码).
在前面的文章我们介绍了Dagger2 中的大部分注解的使用,接下来我们从源码角度分析下第一篇文章中例子的原理。
最近个人在尝试构建 Kotlin版本 的Android MVVM开发框架,在依赖注入框架的选型上,我最终选择了 Kodein 。这是一个非常轻量级的DI框架,相比于配置繁琐的Dagger(繁琐的配置也是导致Dagger学习成本一直居高不下的原因!),它的配置过程更清晰且简单,并且,这个库的源码也是 Kotlin 的。
添加inject后,通过编译生成的DaggerMainComponent类来导入,说明编译以后生成了一些类,那到底生成了什么类呢。 Module和Component又是什么,该怎么里理解 在这篇文章后里将一一讨论。