自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (1)
  • 收藏
  • 关注

原创 RecyclerView的简单使用

RecyclerView是Android中很常用的一个控件了。最近一年似乎都在做系统这块,关于应用开发的一些知识点遗忘很多。今天开始慢慢找回来。 对于RecyclerView,首先想到的是使用它来显示一个滑动的列表。它支持横向滑动也支持垂直方法的滑动。它强制使用ViewHolder来进行item的缓存。 使用RecyclerView前应该清除每个item需要...

2020-03-10 23:53:53 254

原创 对ActivityManagerService的一些理解

1、ActivityManagerService的作用是负责管理系统中所有的Activity,想要使用它的能力,必须要获得一个它的对象。2、ActivityManagerService是在SystemServer进程中创建的,并且SystemServer会新建一个进程给ActivityManagerService运行。 创建完成之后,就把它注册到ServiceManager中。3、...

2020-03-09 12:10:50 1634

原创 Android Service、Messenger进程间通信

        Android进程间通信有很多种,这里记录使用Service和Messenger来通信。在开始之前需要了解一下Android组件之Service。       Aandroid组件使用Service有两种方式,一种是启动方式,第二种是绑定方式。因为第一种启动方式,在启动Service之后,不会得到Service的任何返回,所以对Service的控制不是很好,没有更多的交互。而第...

2019-02-23 14:57:31 393

原创 Android组件之Service

        Service作为Android四大组件之一,虽然不常使用到,但是还是需要有一定的了解。今天重看Service,需要把一些知识点记录下来,将来忘记时可以回看。       Service有启动状态,也有绑定状态。启动状态      生命周期:startService -> onCreate -> onStartCommand -> onDestroy。...

2019-02-23 14:32:15 135

原创 TCP协议的连接建立过程和释放过程简单介绍

          计算机网络协议众多,TCP协议只是其中的一个。因为它的可靠性,很多数据传输都使用TCP协议,它也是面试时候考察的重点,所以有必要把学习到的知识点记录下来。         TCP协议的主要特点         1、TCP是面向连接的运输层协议。应用程序使用TCP协议之前,必须先建立TCP连接。传输数据完成之后需要结束连接。         2、每一条TCP连接只...

2019-01-22 11:44:24 33085 1

原创 网络请求原理浅析

        网络请求几乎在日常使用计算机都需要使用到,计算机网络原理在大学的时候也曾作为必修课学习过。但是时间久远,加上那是主要是应付考试,所学深度、重点及当时学习的目的和工作之后不同,还是想再来了解一遍。         以前学计算机网络的时候,老师讲的是七层结构:物理层、数据链路层、网络层、运输层、会话层、表示层、应用层。工作之后,发现大家基本都使用五层的结构:物理层、数据链路层、网络...

2019-01-21 20:18:48 3115

原创 Android BitMap图片压缩

         最近在网上看了一些关于图片压缩的博客,自己也动手实验了一遍,也算事对图片压缩有了一个了解,打算写个博客记录一下。文末附上参考链接。         Android中涉及到图片的话一般都会用到BitMap类和BitmapFactory类。而本文讲述的图片压缩也都是通过这两个类来实现的。Android中,图片占用内存大小计算公式:图片宽度 * 图片高度 * 图片每一个像素占用的字...

2019-01-18 19:38:36 1027

原创 Android View的事件分发机制

       View的事件分发机制是Android开发中的难点之一。开发过程中虽然只是偶尔会接触到, 但是对于这个知识点也是有必要的去学习一下。因为不常用到,所以需要写下一篇博客来记录一下关于它的一些原理,以便有需要的时候可以回顾复习一下。 什么是事件?什么是事件序列?        当用户与应用发生交互时,会使用手指触摸屏幕,这个过程会发生一系列的事件。手指按下时,与屏幕发生接触、按压...

2019-01-17 10:07:23 5652 1

原创 View的工作原理之自定义ViewGroup

        上一篇文章讲解了如何自定义普通的View,本文接着讲如何自定义ViewGroup。        在之前的工程中创建一个类MyViewGroup,继承自ViewGroup,重写它的三个构造方法及onLayout方法,这几个方法都是要求必须实现的。public class MyViewGroup extends ViewGroup { public MyViewGr...

2018-12-08 15:17:34 343

原创 View的工作原理之自定义View

        前面的四篇系列文章,从源码开始详细的分析了View的Measure过程。学以致用,这篇文章就记录一下,学完View的Measure过程之后,自己自定义View的一些收获。本文讲解的是普通View的自定义,ViewGroup的自定义将在下篇讲解。       创建一个Android应用工程,新建一个类MyView继承自View。重写它的三个构造方法及onDraw方法:pub...

2018-12-08 13:40:21 185

原创 View的工作原理之Measure过程源码学习(四)

       上一篇文章,学习了ViewGroup和View的measure流程。文章最后讲到,本文将会学习ViewGroup和普通View的onMeasure方法的工作。       因为ViewGroup是抽象类,它并没有实现onMeasure方法,而是选择让它的子类实现。之前学习DecorView的measure过程时,说到DecorView的父类继承自FrameLayout,Frame...

2018-12-07 19:13:56 134

原创 View的工作原理之Measure过程源码学习(三)

        上一篇文章讲解了整个Android应用程序的View视图的顶级节点DecorView的Measure过程,文章最后就讲到了DecorView的onMeasure方法中调用super.onMeasure(widthMeasureSpec, heightMeasureSpec);之后,在FrameLayout的onMeasure方法中通过循环遍历子元素,从而往下进行每一级View的Me...

2018-12-07 17:24:13 192

原创 View的工作原理之Measure过程源码学习(二)

         上一篇文章从Android程序启动过程讲解了Activity、PhoneWindow以及ViewRoot与DecorView的联系。本篇文章详细讲述一下DecorView的measure过程。        在了解measure过程过程之前需要先了解MeasureSpec这个类, MeasureSpec是一个32位的int值,高2位表示SpecMode(测量模式),低30...

2018-12-06 19:46:44 162

原创 View的工作原理之Measure过程源码学习(一)

       在Android开发过程中,View控件的使用是最基本的技能,而自定义View技能的掌握也是非常重要的。这篇博文讲记录一下在读任玉刚老师的《Android开发艺术探索》一书中学习到的相关知识以及自己的一些收获。这里说明一点,在"View的工作原理之Measure过程源码学习"系列文章中,源码都是基于android-26这一套源码。       我们都知道,在开发android的过...

2018-12-06 16:15:31 188

原创 Method com/mysql/jdbc/ServerPreparedStatement.isClosed()Z is abstract

        最近写一个 Spring Boot 的项目,链接数据库的时候报错:Method com/mysql/jdbc/ServerPreparedStatement.isClosed()Z is abstract        网上找到方法:一个说是jdbc链接的包版本太低,但是重复查看maven文件引进的版本号是没有问题的。        另一个说是包重复,但是仔细看mav...

2018-11-01 09:47:49 1874

原创 Flutter 应用之TabBar

       本文记录Flutter开发的TabBar使用。 TabBar是选项切换页的意思,在android中通常是使用ViewPage来实现。在Flutter中,TabBar是被定义在Material Component中,所以他的使用需要在MaterialApp中。      为了让TabBar能正常使用,需要保持选项卡和内容同步,这个工作是由TabController来完成的。可以手动...

2018-10-17 15:11:40 3693

原创 RxJava2源码分析二之just、fromArray、fromIterable

     Observable.just:接收1个以上,10个以下的参数,然后逐个发射。        Observable.fromArray:接收一个数组,从数组中一个一个取出来发射。       今天从源码来看一下Observable的just方法和FromArray。      public static <T> Observable<T> jus...

2018-08-24 14:21:30 3610

原创 RxJava2源码分析一

       RxJava 在最近两年迅速火爆起来,最近学习RxJava2,免不了需要学习它的源码,写下博客记录学习结果。       RxJava 的设计理念基于观察者模式,这里就需要先了解一下它所涉及的东西。Observable,称为被观察者,由它产生一系列的事件。Observer,称为观察者。Observer和Observable之间通过subscribe方法发生订阅关系。这样Obser...

2018-08-23 17:34:31 187 1

原创 设计模式之简单工厂

        今天学习这个设计模式--简单工厂模式。它不是23种设计模式种的一种。        简单工厂模式属于创建型模式,它提供一种最佳的创建对象的方式。在这种模式中,创建对象的逻辑不会向客户端暴露。简单工厂模式的出现得益于面向对象语言的多态性,它的实现方式是:新建一个抽象类或者接口,然后从这个抽象类或者接口派生出多个子类,然后在工厂类中根据传参的不同生产出不同类型的对象。     ...

2018-08-17 10:34:15 130

原创 设计模式之单例模式

       最近学习设计模式想着把学到的东西记录一下。同时也想翻一下Android源码,试图在Android源码里面翻出所有的设计模式。今天开始第一个模式--单例模式。      单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。       单例模式主要解决一个全局使用的类频繁地创建和销毁。当需要控制类的实例数量,节省系统资源时,应该考虑使用单例模式。       优...

2018-08-16 19:40:43 195

原创 Java多线程

最近看到一个博主对于多线程的讲解,挺详细的。留下地址,方便以后再次学习 Java多线程

2018-08-15 09:21:30 106

原创 Java之反射机制

       Java的反射是必学的知识点之一。因为之前使用到反射的基本没有,所以没有详细了解过反射的使用。最新学习Android源码,第三方框架源码多次看到反射技术,所以觉得有必要认真了解一些。       百度百科对Java反射的解释: JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态...

2018-08-14 15:24:42 218

原创 java BitSet原理解析

       学习了Java BitSet之后,写下这篇博文记录一下BetSet的原理及使用场景。一、BitSet原理       BitSet,通过这个名字字面意思(位集合),就可以知道,它的使用应该与位(Bit)有关。事实也确实如此,它(BitSet)用于标志一个“东西”是否存在于这个“东西”的一个集合里面。这句话很拗口,举实例来说明,比如:一个字符是否存在一个字符串中。一个数字是否存...

2018-08-10 14:49:19 1885

原创 Java 程序初始化过程

       之前应聘笔试的时候,遇到过很多次,给出一段代码,里面有static静态变量,static代码块以及构造函数等,在它们初始化或者是代码块中设置打印log,然后问它们的打印顺序。再此之前一直不知道具体考察的是什么,好在现在终于知道了,考察的是程序的初始化过程。      那么程序的初始化过程是怎样的呢?main方法执行的时候,首先要去装载包含它的类(Beetle),然后发现Beetl...

2018-08-09 16:19:33 797

原创 java final关键字使用

        final: 最终的。       在程序中,一般用于将一个东西设置为不可改变。final关键字根据使用情景的不同会有一些细微的差异。有时候不清楚final关键字的用法,会造成误用。      final关键字可以修饰变量、方法、类。     一、使用final关键字修饰变量     1、修饰基本数据类型        在编写程序的时候,有时候需要告诉编译器某一...

2018-08-09 15:11:43 2524 2

原创 Recyclerview的item设置selector背景无效

      在做项目的过程中,只用Recyclerview,需要设置它的item的点击效果。毫无疑问使用的是selector。但是怎么都出现不了效果。       网上的方法试了挺多的。还是没效果。结果发现原来是selector文件里面。默认情况的item放在了前面。把它放到最后就好了。    一开始的设置是这样的,怎么都出不来效果 <item android:drawable="@...

2018-03-20 11:46:15 5248 4

原创 Android 多线程编程以及异步消息处理机制学习

Android多线程编程 Android中对于耗时任务不应该在主(UI)线程中执行,一般需要新建子线程来执行这些耗时任务。 Android多线程编程不比Java特殊,基本用法是一样的,都是使用相同的语法。Android中定义一个线程可以使类继承致Thread或者时实现Runnable接口,然后重写run方法。下面是一个例子: class MyThread extends Thread{   

2018-01-19 17:32:36 276

原创 Android Handler的正确使用

在Android开发有时候会使用到Handler,但是每次新建一个对象的时候,开发工具都会报一个黄色警告。以前没做过大项目,觉得只要不是Error就可以不关心。但是上次出了一个内存泄露之后,不敢大意了,对于可能出现内存泄露的都需要认真处理下。查了下,这个黄色警告就是因为这样创建Handler有可能会出现内存泄露才报的。所以这里记录一下如何避免创建Handler发生内存泄露。        正常以前

2018-01-19 17:23:41 3771

原创 Android AIDL使用与原理浅析

AIDL是Android Interface Definition Language的缩写,也是Android接口定义语言。简单点说,AIDL是一种语言。设计这门语言的目的是为了更好的实现进程间通信,尤其是在涉及多进程并发情况下的进程间通信。还有一个目的是,简化Android开发人员的工作。详情转到我的github:点击打开链接AIDL相关链接:点击打开链接

2018-01-19 17:09:49 266

原创 SpringMVC项目示例创建

SpringMVC简单示例

2017-11-08 18:30:17 262

原创 插入排序

插入排序 的实现

2017-10-14 14:22:04 229

原创 Android 热修复之阿里百川

Android 热修复之阿里百川快速集成

2017-08-21 17:31:34 370

原创 Android Studio创建Android项目生成的文件详解

Android Studio开发Android项目所生成的目录文件的作用

2017-08-17 15:15:52 5827

原创 Intellj IDEA 使用Hibernate5.2.3 新建映射文件步骤

Intellj IDEA 使用Hibernate5.2.3 新建映射文件

2016-12-19 14:59:01 2656

原创 org.hibernate.HibernateException: HHH000142: Javassist Enhancement failed:

intellij idea 使用Hibernate出现报错

2016-12-18 23:38:14 2355

原创 LinCode-第181题 将整形A转换为B

如果要将整数A转换为B,需要改变多少个bit位?

2016-09-05 23:17:18 1039

原创 LinCode-第365题 二进制中有多少个1

描述:          计算在一个 32 位的整数的二进制表式中有多少个 1.样例         给定 32 (100000),返回 1         给定 5 (101),返回 2        给定 1023 (111111111),返回 9分析:  要获得一个整数的二进制有多少个“1”,需要知道整数是通过除2取余来获得该整数的二进制。所以可以采用一个

2016-09-05 23:07:19 361

原创 LintCode-第55题 比较字符串

比较两个字符串A和B,确定A中是否包含B中所有的字符。字符串A和B中的字符都是 大写字母

2016-09-05 23:04:09 432

原创 LinCode-第93题 平衡二叉树

平衡二叉树

2016-09-05 22:54:06 334

原创 LintCode-第168题 链表求和

链表求和

2016-09-05 22:41:35 933

jstl jar包

jstl jar包,SpringMVC开发,Struts+Spring+HIbernate 开发必备

2017-11-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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