dagger2 备注】的更多相关文章

dagger 2是android下的IOC框架,类似java服务端的spring,但功能上远没有其强大.个人理解不管是APP还是服务端依赖注入的本质都是一样的,用于解耦某个服务的定义和实现.我自己给出下面这个简单的例子: 1.在android studio中增加配置如下: buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.5.0', 'com.ne…
<property name="initialSize" value="5"></property> <property name="maxActive" value="20"></property> <property name="maxIdle" value="20"></property> <proper…
本文记录一个基础的JNI例子及过程中遇到的问题解决. 1.定义一个JAVA类如下: package jnidemo01; public class JniHello { public native void displayHelloWorld(); static { System.loadLibrary("HelloDll"); } public static void main(String[] args) { new JniHello().displayHelloWorld();…
项目需要研究了下DoraCMS这款开源CMS,真心做的不错:).用的框架是常用的express 4 + mongoose,代码也很规范,值得学习. 源码中一些涉及到的小知识点备注下: https://github.com/doramart/DoraCMS 1.Robots协议 1)当搜索引擎访问到网站目录时,会判断当前是否存在Robots.txt; 2)若存在则按照该文件的要求来限制访问: 3)规则: User-agent: * 这里的*代表的所有的搜索引擎种类 Disallow: /ABC/…
本系列只讲使用方法和使用中遇到的问题,如果还对dagger2还不了解的童鞋儿可以参考文章: http://www.jianshu.com/p/cd2c1c9f68d4 http://www.jianshu.com/p/94d47da32656 使用Dagger2的前提需要添加一些依赖: 1 在Project的 build.gradle文件添加以下内容 buildscript { repositories { jcenter() } dependencies { classpath 'com.an…
前言 在一个项目上客户要求读取office online server 2016的对文档的备注信息,如下图: 以前思路老纠结在OOS这个在线上,总有以为这个信息存储在某个列表中,其实错了,这个备注信息其实就是word文档的备注信息,微软采用openxml开发的OOS,因此我也采用openxml读取备注信息的思路进行尝试,结果发现原来是可以的,成功效果图如下: 注意: OpenXml格式只有office2007以及以上版本才支持的格式,如果office97-2003格式的文档是二进制格式的文档,o…
Dagger2是一个Java和Android的依赖注入框架. 本文介绍Android中dagger2的基本使用. 其中包括@Inject, @Component, @Module和@Provides注解的使用. 使用依赖注入的好处 1.使用类和被依赖的对象构造分开,这样如果我们需要改变被依赖类的构造方法,不必改动每一个使用类. 2.对各种被依赖类的实例,可以只构造一次. 3.当我们需要更换一种实现时,只需要保证接口一致. 4.利于单元测试,我们可以方便地mock依赖类的对象. 优点总结: 创建对…
一.Dagger2注入原理 Dagger2以自动生成代码的形式,帮助我们构建依赖图,在使用依赖的时候方便清晰,这里说明一点,在我们使用Dagger2的时候,绝大多数错误都是编译器就会暴漏出来,这也就决定了这套框架的稳定性会更高. 关于生成的源码,我们一起看一下.我们就以之前提到的例子来看: @Generated("dagger.internal.codegen.ComponentProcessor") public final class DaggerApplicationCompon…
一.作用域Scope 之前了解RoboGuice的时候,我们知道它默认给我们提供了几个注解,ContextSingleton和Singleton,但是Dagger2更为灵活,只有javax包中提供的Singleton注解.更为强大的是,我们可以自定义作用域. 首先我们定义一个运行时的注解. @Scope @Retention(RetentionPolicy.RUNTIME) public @interface PerActivity { } 我们新增加一个Module,专门为Activity中提…
1.构建文件夹存放自动生成的代码,并在脚本中配置: sourceSets { main { java.srcDirs = ['src/main/java', 'src/main/java-gen'] } } 2.工程配置,引入greenDao compile 'de.greenrobot:greendao:1.3.7' 3.构建一个java Libarory类型的Module用以生成DAO代码,如下: 该Module需要添加依赖: compile 'de.greenrobot:greendao-…
为什么是Dagger2 为了更好的了解Dagger2,请先阅读RoboGuice篇了解依赖注入. 官方文档称,依赖注入这种技术已经在存在多年了,为什么Dagger2要造轮子? Dagger2是第一个全部使用自动生成代码的框架. 框架生成的代码就像我们自己手写的,可以轻易进行调试和测试,并且很容易了解其原理. 一.接入 Dagger2使用了生成代码的方式,这里需要apt的插件. buildscript { repositories { jcenter() } dependencies { clas…
简介 这个项目主要有两个功能,一个加载网页/文章,另一个用来显示评论.并应用了MVP模式,Dagger2.RxJava.ButterKnife等开源框架.效果图如下: 结构 首先来看一下布局文件: <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.andr…
Dagger2 是一个Android依赖注入框架,由谷歌开发,最早的版本Dagger1 由Square公司开发.依赖注入框架主要用于模块间解耦,提高代码的健壮性和可维护性.Dagger 这个库的取名不仅仅来自它的本意"匕首",同时也暗示了它的原理.Jake Wharton 在对 Dagger 的介绍中指出,Dagger 即 DAG-er,这里的 DAG 即数据结构中的 DAG--有向无环图(Directed Acyclic Graph).也就是说,Dagger 是一个基于有向无环图结构…
VS2012中的EF有一个BUG 如下: 明明在数据库上面是写有字段说明的到了EF上面就没有了很郁闷: 网络上面有一个解决方法如下: http://www.cnblogs.com/stone_w/archive/2012/10/25/2738345.html 不过我试了下没解决太麻烦了 而且一旦EF要重新生成又的重新弄: 后来发现可以用T4模版解决 方法为: 1:下载文件并解压 http://files.cnblogs.com/zjba2/GetSummery.zip 2:放到EF目录文件夹下面…
很多程序员不爱写注释,特别是svn提交的时候,文件做了什么修改都没有一个简单的备注,往往都是直接提交,这样是非常不利于团队开发的.所以就有了svn提交的时候,强制修改文件的备注. 步骤如下: 1.先找到对应项目的svn版本库hooks sudo find / -name hooks 2.假设进入test_wx项目下面的svn版本库 复制一份pre-commit.tmpl文件 cp pre-commit.tmpl  pre-commit 修改pre-commit的权限 chmod +x pre-c…
Flask备注4(Structure) package 通过Flask可以非常简单的通过一个module(一个py文件)创建一个简单的application.这种简单程序的文件结构如下: /yourapplication /yourapplication.py /static /style.css /templates layout.html index.html login.html ... 这种结构对于较大或者复杂的程序并不合适.对于复杂程序可以通过python自带的package结构来组织…
Flask备注三(Context) Flask支持不同的应用场景下,对应不同的local context(本地上下文环境),用来提供当前环境下的资源.lcoal context和全局变量以及局部变量最大的不同在于,作用域是代码范围的,而local context是应用场景范围的. Flask支持的local context包含application context以及request context.这两个都是线程安全的(基于当前的线程和request), application context存…
Flask备注二(Configuration, Signals) Flask是一个使用python开发Web程序的框架.依赖于Werkzeug提供完整的WSGI支持,以及Jinja2提供templates支持.Flask的设计理念是提供Micro以及方便的框架."Micro"是因为除了提供基本特性功能的实现外,其他的功能(例如数据库访问)都是通过extension来完成.方便的特点是因为提供了简单易用的必要特性和功能,提供的功能包含: 内置的开发服务器和调试工具. 集成单元测试支持.…
Flask 备注一(单元测试,Debugger, Logger) Flask是一个使用python开发Web程序的框架.依赖于Werkzeug提供完整的WSGI支持,以及Jinja2提供templates支持.Flask的设计理念是提供Micro以及方便的框架."Micro"是因为除了提供基本特性功能的实现外,其他的功能(例如数据库访问)都是通过extension来完成.方便的特点是因为提供了简单易用的必要特性和功能,提供的功能包含: 内置的开发服务器和调试工具. 集成单元测试支持.…
今天和大家分享一个给Enum加备注的技巧,话不多说,先上一段代码: namespace TestReflector.Model.Entities { public class UserInfo { public int Id { get; set; } public string Name { get; set; } public UserStatusEnum UserStatus { get; set; } } public enum UserStatusEnum { /// <summary…
接上一篇文章介绍了Dagger2的初步使用,相信刚接触的人会觉得很奇怪,怎么会有很多自己没有定义的代码出现,为什么Component的创建方式是那样的.为了搞清楚这些东西,我们需要查看一下Dagger2 生成的源代码.Dagger2 是一个DI框架,通过学习生成的代码也可以更好的理解Dagger2是如何做依赖注入的. 将上一篇文章中的工程在SublimeText中打开,结构如下图: 可以看到AppComponent 生成了 DaggerAppComponent,Dagger2的生成规则中,我们自…
写在前面 现在越来越多的使用到了开源项目,但是仅限于使用,却不了解,更谈不上深入.也是因为越来越多的开源项目,平时工作中遇到问题也是第一时间寻找对应的开源项目,少了许多独立的思考.现在虽然能很轻松的完整一些有很多功能的App,但自己只是完成了一下界面,核心的通信.图片加载等功能都是使用的开源项目.从今天开始,我希望搭建一个Android项目的起步工程,一点点了解这些开源项目,不求多么的精通,至少不再是只会调用API.代码会在github上开源,至于能不能一直写下去,要看看我的拖延症还有没有救.…
什么是Dagger2 Dagger是为Android和Java平台提供的一个完全静态的,在编译时进行依赖注入的框架,原来是由Square公司维护,现在由Google维护. 我们知道Dagger是一个依赖注入的框架,那么什么是依赖注入呢? 我们在activity中有可能会用到很多很多的类,这些类要在activity中进行实例化,这样就导致我们的activity非常依赖这么多的类,这样的程序耦合非常 严重,不便于维护和扩展,有什么办法可以不去依赖这些类呢,这时候就需要有一个容器(IoC),将这些类放…
获取指定表列名及备注: select * from syscolumns where id=object_id(N'表名') SELECT a.name [column], b.name type, a.prec length, isnull(c.value, ' ') [description] FROM syscolumns a LEFT OUTER JOIN systypes b ON a.xusertype = b.xusertype LEFT OUTER JOIN sys.extend…
1,在做项目时,经常需要在一个对象里去创建另一个对象的示例,这种行为是产生耦合的常见形式,对于一个大型项目来说,过多的相互依赖会导致代码难以维护,很容易就会碰到修改一个小需求需要大面积的修改各种代码,如果代码还不是自己写的话,那基本上就是在问候上一个同事的亲人了.再来看看我们今天要了解的Dagger2它的作用是什么,来吧,先来一顿吹比夸奖:依赖注入框架主要用于模块间解耦,提高代码的健壮性和可维护性.Dagger 这个库的取名不仅仅来自它的本意"匕首",同时也暗示了它的原理. 2,我们来…
svn命令行修改已提交的版本备注 参考文章: stackoverflow.com/questions/304383/how-do-i-edit-a-log-message-that-i-already-committed-in-subversion 参考文章实现: 由于缺省情况下为安全起见Subversion不允许开发人员修改已提交reversion的日志信息,这样会报错误,提示不能修改以及请SVN管理员安装pre revprop change hook. 这个hook是什么意思呢? 实际上是一…
0. 前言 Dagger2是首个使用生成代码实现完整依赖注入的框架,极大减少了使用者的编码负担,本文主要介绍如何使用dagger2进行依赖注入.如果你不还不了解依赖注入,请看这一篇. 1. 简单的依赖注入 首先我们构建一个简单Android应用.我们创建一个UserModel,然后将它显示到TextView中.这里的问题是,在创建UserModel的时候,我们使用了前文所说的hard init.一旦我们的UserModel的创建方式发生了改变(比如需要传入Context对象到构造函数),我们就需…
2015-08-27 php大力力023.CREATE TABLE创建新表sql写字段备注 http://www.cnblogs.com/dalitongxue/p/4762182.html 参考: MySQL字段的说明和备注信息 http://blog.csdn.net/chelen_jak/article/details/45689139 DROP TABLE IF EXISTS test_table; CREATE TABLE test_table( Test_ID int NOT NUL…
Magento的后台表单封装的非常好,各种字段都能够直接找到方法调用.在最近的一个项目中,为客户定制了一款定时变价功能,该功能需要导入一个csv作为变价的基础.为了方便客户,我们需要在上传表单位置添加一个备注,让客户可以直接在备注中点击链接下载到该csv文件的模板. 如下图所示, 在上图中,有“下载导入文件模板”字段,可以通过如下代码实现. 01 02 03 04 05 06 07 $fieldset->addField('import_file', 'file', array(     'na…
1.  设置多屏幕 一般你的笔记本就是1,   投影是2 2. 设置幻灯片的放映方式 设置幻灯片显示于另外一个监视器  并勾选显示演示者视图 3.  点击放映 就会出现 左上角是ppt本身, 右上角是备注, 下面是幻灯片列表的经典视图.…