安卓杂谈
血与荣耀
Android开发工程师,爱生活,爱编码
展开
-
Android 如何正确获取控件的宽高
大家很多时候需要在activity或者fragment的oncreate()方法中获取声明的空间的高度或者宽度,进行位置移动或者其他操作,但是当调用view.getHeight()或者view.getWidth()获取的竟然为0。其实很容易理解,在oncreate的时候,实际上控件只是声明了,并没有绘制完成,没有attach到window上,所以导致获取的高度和宽度为0,那么该怎么解决呢?两种...原创 2020-02-15 21:56:22 · 414 阅读 · 1 评论 -
Android 利用set集合高效去重
集合去重对象代码public class People { private String name;...原创 2020-02-15 21:45:47 · 1382 阅读 · 0 评论 -
Android 彻底理解并使用组件化方案
转载自:原文地址Android组件化项目地址:Android组件化项目AndroidModulePatternAndroid组件化之终极方案地址:http://blog.csdn.net/guiying712/article/details/780571201为什么要项目组件化2如何组件化3组件化实施流程1组件模式和集成模式的转换2组件之间AndroidManifest合并问题...转载 2020-01-06 19:52:19 · 587 阅读 · 0 评论 -
Android TextView设置字体加粗
在xml文件中设置字体加粗,相信大家都会了,但是对于中文字体,在xml文件中设置是不起作用的,需要在代码中设置,具体操作可见下面方法,大家有更好的方法可以多多交流啊。 英文字体加粗 布局文件中这样设置即可:XML/HTML代码android:textSt...原创 2019-12-31 21:51:05 · 933 阅读 · 0 评论 -
Android 架构设计浅谈
1.1基本结构基本架构我先用现在市面普及和成熟的mvp(model-view-presenter),我的理念是职责分层,高内聚低耦合。MVP模式的核心思想:相对于我们大家以前熟知的mvc来说,mvp把activity中的UI逻辑抽象成View接口,吧业务逻辑抽象成presenter接口,model类还是原来的model。1.2mvp模式的作用1.分离了师徒逻辑和业务逻辑,降低了耦合2...原创 2019-12-14 00:27:34 · 138 阅读 · 0 评论 -
Android网络编程相关
一.Java网络编程三要素IP地址端口协议IP地址:网络中计算机的唯一标识计算机只能识别二进制的数据,所以我们的IP第一站应该是一个二进制的数据。但是呢,我们配置的IP地址不是二进制的,为什么呢?IP:192.168.1.100换算:11000000 10101000 00000001 01100100我们如果再次上课的时候要配置该IP地址,记忆起来就比较麻烦。所以,为了方...原创 2019-10-24 20:33:01 · 145 阅读 · 0 评论 -
设计模式(七)状态模式
1.状态模式定义状态模式定义定义:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式UML图在享元模式中有如下角色:Context:环境角色,定义客户端需要的接口,并且负责具体状态的切换。State:抽象状态角色,可以是抽象类或者接口,负责对象状态定义,并封装了环境角色。ConcreteState:具体状态角色,实现抽象角色类,定义了本状态所要做的事...原创 2019-10-23 22:34:42 · 125 阅读 · 0 评论 -
设计模式(六) 装饰者模式
1.装饰模式简介装饰模式介绍装饰模式是结构型设计模式之一,不必改变类文件和使用继承的情况下,动态地扩展一个对象的功能,是继承的替代方案之一。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。定义动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。装饰模式结构图Component:抽象组件,给对象动态的添加职责。ConcreteComponent:组...原创 2019-10-22 19:32:28 · 105 阅读 · 0 评论 -
设计模式(五) 代理模式
1.代理模式简介代理模式介绍代理模式也叫委托模式,是结构型设计模式的一种。在现实生活中我们用到类似代理模式的场景有很多,比如代购、代理上网、打官司等。定义为其他对象提供一种代理以控制这个对象的访问。代理模式结构图Subject:抽象主题类,声明真实主题与代理的共同接口方法。RealSubject:真实主题类,定义了代理所表示的真实对象,客户端通过代理类间接的调用真实主题类的方法。...原创 2019-10-21 21:16:22 · 81 阅读 · 0 评论 -
设计模式(四) 观察者模式
1.观察者模式模式简介定义观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。观察者模式结构图在观察者模式中有如下角色: Subject:抽象主题(抽象被观察者),抽象主题角色把所有观察者对象保存在...原创 2019-10-19 15:04:20 · 104 阅读 · 0 评论 -
设计模式(二) 建造者模式
1.建造者模式简介定义建造者模式(builder),将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。简介建造者模式(builder)是创建一个复杂对象的创建型模式,将构建复杂对象的过程和它的部件解耦,使得构建过程和部件的表示分离开来。 例如我们要DIY一个台式机电脑,我们找到DIY商家,我们可以要求这台电脑的cpu或者主板或者其他的部件都是什么牌子的什么配置的,...原创 2019-10-17 22:24:25 · 145 阅读 · 0 评论 -
设计模式(一) 单例模式的七种写法
面试的时候,问到的Android开发他所会的设计模式是什么,基本上都会提到单例模式,但是对单例模式也是一知半解,在Android开发中我们经常会运用单例模式,所以我们还是要更了解单例模式才对。定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式结构图:单例模式有多种写法各有利弊,现在我们来看看各种模式写法。1. 饿汉模式public class Singleton { ...原创 2019-10-17 14:15:15 · 166 阅读 · 0 评论 -
软件开发设计模式------设计六大原则
1. 单一职责原则(SRP) 定义:就一个类而言,应该仅有一个引起它变化的原因。 从这句定义我们很难理解它的含义,通俗讲就是我们不要让一个类承担过多的职责。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到破坏。 比如我经常看到一些Android开发在A...原创 2019-10-16 14:16:32 · 180 阅读 · 0 评论 -
Android 老生常谈之为什么不能在子线程中更新UI
首先声明一点:子线程里面是可以更新UI的——创建一个空白的Activity,在其xml文件中放一个空白TextView,Java代码如下:@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout...原创 2019-10-15 14:34:10 · 173 阅读 · 0 评论