Home
malinkang
Cancel

Dagger2在Android中的使用

原文 与其他大多数依赖注入框架相比,Dagger2的主要优点之一是其严格生成的实现(无反射)意味着它可以在Android应用程序中使用。但是,在Android应用程序中使用Dagger时仍有一些注意事项。 为什么Android上的Dagger很难 使用Dagger编写Android应用程序的主要困难之一是很多Android框架类都是由操作系统本身实例化的,例如Activity和...

实现navigation

导航体系结构组件简化了应用程序中目标之间导航的实现。目的地是应用中的特定屏幕。默认情况下,导航体系结构组件包括支持fragment和activity作为目标,但您也可以添加对新类型目标的支持。一组目的地组成一个应用程序的“导航图”。 除目的地之外,导航图在目标之间具有称为“操作”的连接。图1显示了包含6个目的地的示例应用程序的导航图的直观表示,该应用程序由5个操作连接。 在项目中...

LiveData概述

LiveData是一个可观察的数据持有者类。与常规可观察性不同,LiveData具有生命周期感知能力,这意味着它遵守其他应用程序组件(例如activity,fragment或service)的生命周期。 这确保LiveData只更新处于活动生命周期状态的应用程序组件观察者。 LiveData作为一个用Observer类表示观察者,如果它的生命周期处于STARTED或RESUMED状态,...

Flutter Http请求

Dart提供了http package来进行网络请求。 1.添加http package dependencies: http: <latest_version> 2.发起网络请求 Get请求 Future<Post> fetchPost() async { final response = await http.get('https://jsonp...

Container详解

Container Container是一个拥有绘制、定位、调整大小的widget。 padding和margin padding和margin分别设置Container的内边距和外边距。可取值包括下面四个: EdgeInsets.all(50):设置所有的padding为同一个值50。 EdgeInsets.only(left: 50,right: 50):只设置左边和右...

安装Flutter

1.安装SDK 官网下载其最新可用的安装包并解压。 设置环境变量 在.bash_profile文件中写入export PATH=/Users/malk/Documents/flutter/bin:$PATH,然后保存并执行source .bash_profile。 运行flutter doctor命令查看是否需要安装其它依赖项来完成安装...

Dart语法总结

变量 创建一个变量并进行初始化: //这样写会报错 var name = 'Bob'; name = 4; //A value of type 'int' can't be assigned to a variable of type 'String'. //这样写没有问题 var name; name = "Bob"; print(name); name = 123; print(n...

mat

打开Mat中的Bitmap原图 在使用MAT查看应用程序内存使用情况的时候,我们经常会碰到Bitmap对象以及BitmapDrawable$BitmapState对象,而且在内存使用上,Bitmap所占用的内存占大多数.在这样的情况下, Bitmap所造成的内存泄露尤其严重, 需要及时发现并且及时处理.在这样的需求下, 当我们在MAT中发现和图片相关的内存泄露的时候, 如果能知道是那一张图...

系统闹钟源码分析

核心类 UI部分 DeskClock:主界面,由ViewPager实现。 DeskClockFragment:首页四个Fragment的基类。 AlarmClockFragment:闹钟Fragment ClockFragment:时钟Fragment StopwatchFragment:秒表Fragm...

常用Linux命令

mv命令 mv命令是move的缩写,可以用来移动文件或者将文件改名。 -b :若需覆盖文件,则覆盖前先行备份。 -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖; -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖! -u :若目标文件已经存在,且 source 比较新,才会更新(update)。 #将Document中的test目录...