Fragment报错记录

欢迎使用Markdown编辑器写博客 最近维护的项目里bugly中fragment报了几种错误,记录一下: Fragment already active 出现场景:这是Fragment调用setArguments()方法时报的错误。 原因:当Android堆栈正在删除Fragment...

2018-08-14 11:32:43

阅读数 143

评论数 0

Java设计模式——原型模式

概述 原型模式是一个创建型的模式。该模式有一个样板实例,用户从这个样板对象中复制出一个内部属性一致的对象,这个过程也就是俗称的“克隆”。被复制的实例就是所称的“原型”。 原型模式:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象 使用场景 类初始化需要消耗非常多的...

2018-03-22 14:26:01

阅读数 77

评论数 0

Java设计模式——Builder模式

概述 Builder模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 使用场景 相同的方法,不同的执行顺序,产生不同的事件结果 多个部件或零件,都可以装配到一个对象中,但产生的运行结果又不相同时 产品类非常复杂,或者产品类中的调用顺序不同产生不同的作用 ...

2018-03-21 15:35:15

阅读数 100

评论数 0

Java设计模式——单例模式

概述 单例模式:确保某个类只有一个实例,并自行实例化向整个系统提供这个实例 实现单例模式的关键点: 构造函数不对外开放,一般为private 通过一个静态方法或者枚举返回单例类对象 确保单例类的对象有且只有一个,尤其在多线程环境下 确保单例类对象在反序列化时不会重新构建对象 通过...

2018-03-20 15:33:55

阅读数 61

评论数 0

Android架构——MvpClean(kotlin)!!!

概述 第一次知道MvpClean还是在搜寻架构组件的博客时,出于好奇便学习了下。MvpClean给我的第一感觉是烦,写一个功能要创建n个文件,但不可否认对于大型项目和多人合作开发有很大的优势。 Clean架构 在Clean架构中,代码被分层成洋葱形,层层包裹,其中有一个依赖性规则:内层不...

2018-03-07 13:25:15

阅读数 1407

评论数 0

Android架构组件——简单运用(Kotlin)

概述 前面介绍了架构组件中Lifcycle、LiveData、ViewModel以及Room的相关知识,在看了谷歌的例子后用kotlin简单写一下实际应用,直接上代码 环境依赖 project的build.gradle文件: buildscript { ext.kotlin...

2018-03-06 15:58:14

阅读数 296

评论数 0

Android架构组件——ViewModel

概述 ViewModel,从字面上理解的话,它肯定是跟视图(View)以及数据(Model)相关的。正像它字面意思一样,它是负责准备和管理和UI组件(Fragment/Activity)相关的数据类,也就是说ViewModel是用来管理UI相关的数据的,同时ViewModel还可以用来负责UI组...

2018-03-02 20:24:36

阅读数 13722

评论数 2

Android架构组件—LiveData

概述 简单地说,LiveData是一个数据持有类。它具有以下特点: 数据可以被观察者订阅; 能够感知组件(Fragment、Activity、Service)的生命周期; 只有在组件出于激活状态(STARTED、RESUMED)才会通知观察者有数据更新; LiveData的优点 ...

2018-03-02 16:01:37

阅读数 3332

评论数 1

Android架构组件—Lifecycle

概述 Lifecycle组件是LiveData和ViewModle的基础,包括LifecycleOwner、LifecycleObserver。所以先学习Lifecycle有助于后续理解架构组件。 为什么需要Lifecycle? 在我们日常编码过程中,不可避免要和activity、fra...

2018-03-02 10:17:15

阅读数 4591

评论数 0

Android架构组件—Room

概述 android系统中的数据库SQLite使用起来并不方便,早期学习的时候一直很讨厌使用,后来出现了GreenDao、OrmLite、Realm极大的方便了android开发中的数据持久化。去年google推出了架构组件,其中room就是一款orm框架。 添加Room依赖库 详细查看...

2018-03-01 14:50:35

阅读数 3359

评论数 1

Android—dagger扩展库

概述 之前我们使用dagger注入时,都需要activity、fragment等宿主在component中注册,比如: ((SomeApplicationBaseType) getContext().getApplicationContext()) .getApplicatio...

2018-02-28 22:07:45

阅读数 141

评论数 0

Android框架——dagger2知识点补缺

一、关于@Scope @Scope作用域其实是用来保持在实例有效作用域内的单例(由同一个Component提供)。比如系统自带的@Singleton,通常用在ApplicationComponent这个用来管理app全局实例的组件中,通过保持ApplicationComponent的单例才实现在...

2018-02-26 09:58:53

阅读数 65

评论数 0

Android框架——dagger简单实践使用

一、概述 上一篇主要介绍了dagger的基本使用方法,这篇则分享一下我之前基于mvp架构的项目中的简单应用,也作为一个记录;最近才了解到mvpclean,把dagger的依赖注入部分放在presentation层比较合适。 二、dagger架构思路 由于还不算很熟悉dagger,所以只是...

2018-02-24 23:45:07

阅读数 91

评论数 0

Android框架—Dagger2使用

一、概述 现在android开发越来越多的应用到各种框架,一个好的app架构不但可以支持好的性能,同时也可以更方便快捷的开发功能。依赖注入是java后端开发spring的核心技术,而对于android来说现在由谷歌爸爸亲管的dagger则是不二之选。 二、dagger环境配置 使用And...

2018-02-24 16:34:51

阅读数 3080

评论数 0

Android蓝牙相关—蓝牙打印

一、概述最近公司刚好遇到个蓝牙打印的功能,以前实习时看到过类似功能,刚好这次自己实现,顺便记录一下。二、基本环境权限:<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> <u...

2017-09-08 11:08:59

阅读数 455

评论数 1

Android Fragment学习与使用—高级篇

一、概述上一篇已经说明了Fragment的生命周期,以及基础的使用方法和一些api的作用。但是想要在项目中使用好Fragment必须能够清晰明白的管理好它的状态,以下会介绍实际开发会遇到的一些场景。二、Fragment回退栈管理Activity是由任务栈管理的,遵循先进后出的原则,Fragment...

2017-08-29 15:58:35

阅读数 1334

评论数 0

Android Fragment学习与使用—基础篇

一、概述Fragment已经出现了好几年了,首次接触是在替代TabHost配合RadioButton实现底部多页导航功能时,现在已经基本都改为ViewPaper+Fragment实现。但之后自己在开发功能时都不会下意识去使用这些技术,导致到现在还一知半解,刚好现在的项目同事用了很多Fragment...

2017-08-28 14:40:46

阅读数 123

评论数 0

Android优化技巧—内存优化

一、查询应用运行的内存限制代码如下:ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); /** * 手机上app运行时的内存限制 */ int mem...

2017-06-03 23:12:53

阅读数 157

评论数 0

Android小记——关闭实现Closeable的对象

一、背景《Android源码设计模式解析与实战》学习依赖倒置原则和接口隔离原则时书中所记,平时开发过程中并没有注意到,所以就记录一下。二、代码背景在Java6以及之前的JDK版本,有一个非常讨厌的问题,那就是在使用了OutputStream或者其他可关闭的对象之后,我们必须保证它最终被关闭了,否则...

2017-05-08 11:18:38

阅读数 722

评论数 0

面向对象--单一职责原则和开闭原则学习(简易ImageLoader)

一、概述这篇是读《Android源码设计模式解析与实战》的第一篇记录,今天学习了面向对象六大原则中的其二:单一职责原则和开闭原则。单一职责原则简单来说一个类只实现一个功能;开闭原则则是对于扩展是开放的,对于修改是关闭的。这些原则都是用来优化代码的。二、简易ImageLoader实现下面通过一个简单...

2017-04-27 23:53:07

阅读数 152

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭