- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 WebView深究之Android是如何实现webview初始化的
webview初始化关注Android加载webview内核的过程。我们从WebView的init过程中切入。 WebView的构造方法,最终都会调用WebView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes, Map<String, Object> javaScriptInt
2018-01-02 00:51:38
5977
原创 spring AOP总结
AOP术语解释Advice (通知) 切面的使用时机,spring aop有5种时机 before(方法调用前) after (方法调用之后,不管是否成功) after-running (方法调用成功后) after-throwing(方法抛出异常) around (包住整个方法,可以在通知方法执行前后添加自定义行为)JoinPoint(连接点) 代码执行流程上的任意一点poin
2018-01-01 15:31:38
436
原创 说说Android CoordinatorLayout
5.0之后的Android系统,google推出了自己的移动端设计规范,Material Design,同时sdk包中也加入了support.design包,加入了很多符合md风格的组件。这里主要讲解一下CoordinatorLayout这个布局和它的使用。 什么是CoordinatorLayout 正如它的名字,这个布局是用来协调2个控件之间的联动。我们使用一个图片来说明这个布局的最终效
2017-06-19 20:09:58
402
原创 retrofit2源码解析
在Android客户端的项目网络请求实践中,对retrofit进行了实践和源码的阅读。从retrofit的用法入手,对retrofit进行解析。 首先看一下retrofit的基本用法: 第一步创建retrofit对象:Retrofit retrofit = new Retrofit.Builder() .baseUrl(baseUrl) .build();
2017-04-11 11:27:27
733
原创 单例模式学习总结
今天学习了Singleton模式,现在做一下总结1. 懒汉单例模式懒汉单例模式是声明一个static变量,在用户第一次调用getInstance时进行初始化。示例代码如下public class Singleton { private static Singleton mInstance; private Singleton() { } public synchronized
2016-09-07 16:23:16
2164
原创 volley学习(1)—volley的特性
在自己的2个项目中使用过volley这个库。但是了解的不算深入。所以打算最近深入学习。 第一篇博客准备把大体了解下volley库。volley的官方github demo的README文件中有关于volley库的详细介绍。逼着自己啃了英文。大致总结一下。官方提到的特性我会在接下来的学习尽量去接触。 首先先给出github地址:https://github.com/wsclwps123/Volle
2016-06-16 23:44:36
489
原创 Android View工作机制(4)— 我们该什么时候获取View的高宽?
通过前面三篇总结,我们对View的measure有了一定的了解,那现在考虑一种情况,Activity启动的时候获取某个View的宽高值,该怎么取出呢?我们现在onCreate或者onStart方法中实验一下, 我们在布局文件中添加一个TextView,命名为tv1。在onCreate或者onStart中加入LogLog.d("tvWidth", String.valueOf(tv1.getWidt
2016-06-11 15:01:49
1789
原创 Andorid View工作机制(3)—measure过程 下
昨晚在上一篇博客总结了一下View的measure过程,今天看一下ViewGroup是怎么进行测量的。查看ViewGroup的源码,搜索measure和onMeasure方法都没有。那是怎么回事呢?通过源码可以发现,ViewGroup是一个abstract class,这个抽象类没有重写其父类View的onMeasure方法。那么它是如何完成测量过程的呢?搜索measure关键字可以搜索到ViewG
2016-06-11 14:18:14
398
原创 Android View工作机制(2)—measure过程 上
为了理解View的测量过程,我们先要了解MeasureSpec。从字面意思看MeasureSpec是测量规格的意思。在Android中,MeasureSpec是一个32位的int值,高2位代表specMode,即测量模式,后30位代表品SpecSize,为某种测量模式下的规格大小。SpecMode有三种,分别为:1. UNSPECIFIED 父容器对View没有限制,View想多大就多大
2016-06-11 01:14:12
640
原创 Android View工作机制(1)—基本知识点
在介绍View的知识之前,我们先来了解下View的有关知识点。在Android中,WindowManager和DecorView之间通过ViewRootImpl建立关联。顾名思义,这个方法执行了一个遍历。以measure过程为例,performTraversals方法通过执行performMeasure方法进行顶级View的measure过程。之后在measure方法中会调用onMeasure方法
2016-06-11 01:00:06
455
原创 Node入门学习——获取POST请求的参数
以前在使用java Servlet的时候会经常使用HttpServletRequest对象的getParamter()方法获取HTTP请求的参数,在Node中,不是使用这种方法获取的。 下面我们使用一个例子: 假设HTTP请求有2个参数,分别为username和password 我们在html文件中使用form表单提交到Node中创建一个js文件,index.js 编写如下代码var htt
2016-06-02 20:33:04
3781
1
原创 Android自定义View——开关按钮SwitchButton
在coding的过程中需要用到简单的switch-button,因为Android自带库没有此组件,使用就打算自定义view实现一个开关按钮。 我使用了view的组合,首先思考开关按钮的组成,分为2个部分,一个是底部的圆角矩形,一部分是在开关过程中变换位置的圆。 于是写出按钮的xml布局layout_switch.xml <?xml version="1.0" encoding="utf
2016-05-02 23:39:29
6645
1
原创 自定义View——利用下拉刷新组件实现上拉加载
在Android开发中,我们经常会用到列表下拉刷新和上拉加载的功能。 Google在support.v4包中提供了一个组件可以用来进行下来刷新,这个组件是SwipeRefreshLayout。 下面我们来看一下这个组件的使用: 在布局文件中加上xml代码<android.support.v4.widget.SwipeRefreshLayout android:id
2016-04-21 13:47:53
1925
原创 解决SlidingPaneLayout的滑动冲突
最近2天在写自己的小项目,系图书馆管理系统。打开APP后的界面的布局是左边一个侧拉菜单,右边主界面的内容为一个ViewPager,可以经行滑动和点击选项卡切换。 最后的截图如图: so,xml的布局代码大致如下:activity_main.xml<views.PagerEnableSlidingPaneLayout xmlns:android="http://schemas.and
2016-04-18 21:52:52
1860
原创 自定义Android View组件——实现雷达图效果
今天在实习的公司,经理给了我一个任务,在学生教育系统的客户端打开的页面实现一个雷达图,将雷达图的数据分成语文、数学、外语、文科、理科和其他。 效果图是这样 于是我就开始了思考,为了这个自定义的view组件可以在以后进行复用,所以我增加了可变的成员变量count,代表要表示的项的总数。 根据雷达图的样式,可以获得大概的绘制步骤雷达图的形状实质是一个正n边形,
2016-02-26 22:19:16
8974
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人