知识图谱
文章平均质量分 91
系统化安卓知识体系
SmallMartin
善于思考总结的人成就总不会太差。
无忧之路业精于勤荒于嬉 行成于思毁于随
展开
-
Java 反射
1.什么是反射反射就是把Java类中的各个成分映射成一个个的Java对象。即在运行状态中,对于任意一个类,都能够知道这个类的所以属性和方法;对于任意一个对象,都能调用它的任意一个方法和属性。这种动态获取信息及动态调用对象方法的功能叫Java的反射机制。2. 反射机制的功能Java反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类。 在运行时构造任意一个类的对象。 在运行时判断任意一个类所具有的成员变量和方法。 在运行时调用任意一个对象的方法。 生成动态代理。3.实现反射.原创 2020-09-18 15:18:42 · 123 阅读 · 0 评论 -
Java 解析xml
Java 解析xml四种方式1.SAX优点:采用事件驱动模式,对内存耗费比较小。适用于只需要处理xmI中数据时缺点:不易编码很难同时访问同一个xml中的多处不同数据90592.DOM优点:形成了树结构,直观好理解,代码更易编写。解析过程中树结构保留在内存中,方便修改缺点:当xml文件较大时,对内存耗费比较大,容易影响解析性能并造成内存溢出3.JDOM仅使用具体类而不使用接口API大量使用了Collections类4.DOM4JJDOM的一种智能分支,.原创 2020-09-18 15:06:33 · 132 阅读 · 0 评论 -
Java 网络编程
1.概述 计算机网络是通过传输介质、通信设施和网络通信协议,把分散在不同地点的计算机设备互连起来的,实现资源共享和数据传输的系统。网络编程就是编写程序使互联网的两个(或多个)设备(如计算机)之间进行数据传输。Java语言对网络编程提供了良好的支持。通过其提供的接口我们可以很方便地进行网络编程。2.网络分层 计算机网络20世纪60年代出现,经历了20世纪70年代、80年代和90年代的发展,进入21世纪后,计算机网络已经成为信息社会的基础设施,深入到人类社会的方方面面,与人们的工作、学习和生..转载 2020-09-18 11:15:27 · 208 阅读 · 0 评论 -
sleep和wait的区别
sleep():属于Thread类,sleep是Thread线程类的方法sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。sleep可以在任何地方使用wait():属于Object类 ,wait是Object顶级类的方法。当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程原创 2020-09-18 10:14:50 · 178 阅读 · 0 评论 -
动态获取网络状态,灵活配置显示内容(一站式到家服务)
废话不说,直接上代码父类protected StateLayoutManager statusLayoutManager; private BroadcastReceiver broadcastReceiver = new InternetBroadcastReceiver(this); @Override protected void onCreate(@Nul...原创 2019-07-22 16:19:37 · 298 阅读 · 0 评论 -
Android apk瘦身
https://blog.csdn.net/qq_32175491/article/details/80071987转载 2019-07-24 11:28:07 · 206 阅读 · 0 评论 -
自带长度提示的Edittext
public class MaxLengthEditText extends android.support.v7.widget.AppCompatEditText { public MaxLengthEditText(Context context, AttributeSet attrs) { super(context, attrs); initLe...原创 2019-07-19 13:18:06 · 260 阅读 · 0 评论 -
FragmentPagerAdapter和FragmentStatePagerAdapter的区别
FragmentPagerAdapter1:简单的介绍:该类内的每一个生成的 Fragment 都将保存在内存之中,因此适用于那些相对静态的页,数量也比较少的那种;如果需要处理有很多页,并且数据动态性较大、占用内存较多的情况,应该使用FragmentStatePagerAdapter2:重写的几个方法:getItem() 该类中新增的一个虚函数。函数的目的为生成新的Fragm...原创 2019-07-18 12:57:42 · 352 阅读 · 0 评论 -
设计模式之观察者模式
观察者模式当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。优点1、观察者和被观察者是抽象耦合的。2、建立一套触发机制。缺点1、如果一个被观察者对象有很多的直接和间接的观察者的话,将所有的观察者都通知到会花费很多时间。2、如果在观察者和观察目标之间有循环依赖的话...原创 2019-04-25 16:13:10 · 220 阅读 · 0 评论 -
设计模式之建造者模式
建造者模式建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。刚入门的时候,其实对建造者没什么理解,基本没用过。后来见过的猪多了,逐渐懂了建造者的好处。它可以将一个复杂的对象的创建过程分成n...原创 2019-04-19 14:36:19 · 224 阅读 · 0 评论 -
设计模式之代理模式
代理模式在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。优点:1、职责清晰。 2、高扩展性。 3、智能化。缺点:1、由于在客户端和真实主题之间增加了代理对象,因此有些类型的代理模式可能会造成请求的处理速度变慢。 2、实现代理模式需要额外的工作,有些代理模式的...原创 2019-04-26 16:48:29 · 255 阅读 · 0 评论 -
Application生命周期
一、Application的用途1、Application是什么?Application和Activity,Service一样,是Android框架的一个系统组件,当Android程序启动时系统会创建一Application 对象,用来存储系统的一些信息。通常我们是不需要指定一个Application的,这时系统会自动帮我们创建,如果需要创建自己的Application,也很简单。创建...转载 2018-10-22 18:05:31 · 7523 阅读 · 0 评论 -
ArrayList与LinkList区别与联系
一般大家都知道ArrayList和LinkedList的区别: 1. ArrayList的实现是基于数组,LinkedList的实现是基于双向链表。 2. 对于随机访问,ArrayList优于LinkedList 3. 对于插入和删除操作,LinkedList优于ArrayList 4. LinkedList比ArrayList更占内存,因为Link...转载 2018-10-22 17:05:04 · 3794 阅读 · 2 评论 -
HashCode 作用,如何重载hashCode方法
Hash先用一张图看下什么是HashHash是散列的意思,就是把任意长度的输入,通过散列算法变换成固定长度的输出,该输出就是散列值。关于散列值,有以下几个关键结论:1、如果散列表中存在和散列原始输入K相等的记录,那么K必定在f(K)的存储位置上2、不同关键字经过散列算法变换后可能得到同一个散列地址,这种现象称为碰撞3、如果两个Hash值不同(前提是同一Hash算法),那么这...转载 2018-10-22 15:25:40 · 2306 阅读 · 2 评论 -
HashMap 和 HashTable 区别
一、HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。 HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap。 HashMap 实现了Serializable接...转载 2018-10-22 15:17:22 · 192 阅读 · 0 评论 -
HashMap详解
关于java集合类HashMap的理解一、HashMap概述 HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了不同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 值得注意的是HashMap不是线程安全的,如果想要线程...转载 2018-10-22 15:06:43 · 197 阅读 · 0 评论 -
Java Object类方法
基本描述: (1)Object类位于java.lang包中,java.lang包包含着Java最基础和核心的类,在编译时会自动导入; (2)Object类是所有Java类的祖先。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。可以使用类型为Object的变量指向任意类型的对象Object的主要方法介绍: 1 2 3 4...转载 2018-10-22 11:28:56 · 35141 阅读 · 2 评论