
Android 基础
珂奕
挺好
展开
-
Android 事件分发
Android 事件分发首先我们先看看为什么会有事件分发机制:我们知道,android上的View是树形结构的,View可能会重叠在一起,当我们点击的地方有多个View都可以响应的时候,这个点击事件应该给谁呢?事件分发机制就是为了处理这个问题的.说到了点击事件,首先介绍一下点击事件:当用户触摸屏幕时(View 或 ViewGroup派生的控件),将产生点击事件(Touch事件)Touch...转载 2019-04-17 15:16:05 · 301 阅读 · 2 评论 -
Android四大组件
Activity:生命周期:onCreate():创建Activity调用,用于Activity的初始化.onStart():Activity在屏幕上对用户可见时调用,但还不可与用户交互(可见不可交互)onRestart():在activity停止后,在再次启动之前被调用。(重新启动)onResume():Activity开始和用户交互的时候调用,这时该Activity是在Activ...原创 2019-06-05 09:04:21 · 499 阅读 · 0 评论 -
总结
1生命周期Activity、fragment(事务)生命周期 包括跳转、旋转、传值Activity生命周期- activity流程图onCreate():创建Activity调用,用于Activity的初始化,还有个Bundle类型的参数,可以访问以前存储的状态。onStart():Activity在屏幕上对用户可见时调用,但还不可与用户交互onRestart():在activit...原创 2019-06-05 09:03:59 · 322 阅读 · 0 评论 -
面试之Android事件分发机制
面试之Android事件分发机制事件分发的本质当一个点击事件发生后,系统需要将这个事件传递给一个具体的View去处理。这个事件传递的过程就是分发过程。首先了解一下事件分发的对象也就是事件当用户触摸屏幕时(View或ViewGroup派生的控件),将产生点击事件(也就是Touch事件)。Android将Touch事件相关细节(发生触摸的位置、时间、历史记录、手势动作等)封装成Motion...原创 2019-06-05 09:03:18 · 504 阅读 · 0 评论 -
Android基础知识总结_Handler
目录什么是HandlerHandler是Android给我们提供的一套消息处理机制,平常我们经常用Handler就是将子线程的数据传递给主线程,其实,熟悉Handler原理之后我们知道,Handler不仅仅能将子线程的数据传递给主线程,它能实现任意两个线程的数据传递。Handler的使用方法 首先看一下Handler最常规的使用方式:private Handler mHandler =...原创 2019-06-05 09:02:18 · 197 阅读 · 0 评论 -
加密
Base64算法1.安全和密码2.常用安全体系介绍3.密码分类及java的安全组成4.JDK相关包及第三方扩展5.Base64算法介绍:关键字:明文:待加密信息密文:经过加密后的明文加密:明文转密文的过程加密算法:明文转密文的转换算法加密密钥:通过加密算法进行加密操作解密:将密文转为明文的过程解密算法:密文转为明文的算法解密密钥:通过解密算法进行解密操作的密钥密码分析...原创 2019-06-10 21:19:50 · 256 阅读 · 0 评论 -
Https
httphttp是超文本传输协议,是互联网最广泛的一种协议。所有www文件必须遵循的标准,http协议传输的数据都是未加密的,也就是明文的,因此使用http协议传输隐私信息非常不安全。使用tcp端口号为:80https安全的超文本传输协议,网景公式设计了SSL协议对Http协议传输的数据进行加密,保证会话过程中的安全性。使用tcp端口:443Https单向认证流程图。过程:1:客户端...原创 2019-06-10 20:35:59 · 257 阅读 · 0 评论 -
总结
Git项目创建首先在Github中创建新的库:点new创建新的库,跳转到创建界面:勾选所选的选项,库创建成功:模拟解决冲突**1.克隆一个远程项目右键 Git Clone…,输入远程仓库的url,克隆好的远程仓库如图2.提交代码到本地仓库修改库中hello.txt,然后右键—>Git commit --> ‘master’(主分支,也可以是别的分支),这样代码就...原创 2019-06-03 21:44:14 · 166 阅读 · 0 评论 -
仿淘宝滑动RecycleView改变ToolBar透明度
通过监听item距离顶部的位置,进行相应的透明度改变。代码如下: mRlv.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() { private int mDistanceY; @Override...原创 2019-05-29 23:38:56 · 365 阅读 · 0 评论 -
GreenDao数据库之——数据库的升级
思路创建临时表TMP_,将原先表数据迁移过去删除所有原表创建新表将TMP_表数据复制到新表,最后将TMP_表删除原创 2019-06-05 23:41:13 · 290 阅读 · 0 评论 -
RecyclerView与ListView的区别。RecyclerView的优缺点。 /WebView的基本使用方法。
RecyclerView与ListView的区别。RecyclerView的优缺点。RecyclerView是新提供的View控件。在Google官方的定义里,RecyclerView是用来表现大数据的控件。1)相比于ListView、GridView,RecyclerView提供了更好的自由度。它提供的不同LayoutManager,ItemDecoration,ItemAnimator实现...转载 2019-05-24 01:06:15 · 886 阅读 · 0 评论 -
Service
什么是Service以及描述下它的生命周期?service是一个服务,它是不可见的,同样也是运行在主线程中。它的生命周期的方法有onCreate、onStart、onDestory,它还有一些activity的没有的生命周期方法,onBind和onUnbind不同的启动方式,生命周期调用的也不同。启动Service的方式启动Service的方式有两种,一种是startService和bin...转载 2019-05-23 00:04:42 · 196 阅读 · 0 评论 -
App启动方式
冷启动冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用。冷启动的特点:因为系统会重新创建一个新的进程分配给它,所以会创建和初始化Application,在创建和初始化它的Launch Activity(onCreate onMesure onLayout,ondraw),最后展示在界面上热启动热启动:当启动应用时,后台存在该应用的进程(back键,ho...原创 2019-05-16 23:52:16 · 149 阅读 · 0 评论 -
自定义Viewpager实现Viewpager左右滑动的禁止
需求在项目开发中,有时候需要用到Viewpager,却不需要它的左右滑动,这个时候可以自定义Viewpager,通过对它的事件分发方法返回值的修改实现对Viewpager左右滑动的禁止.具体代码如下:public class NoScrollViewPager extends ViewPager { private boolean isScroll = false; publ...转载 2019-05-15 23:46:55 · 595 阅读 · 1 评论 -
侧滑菜单之ResideMenu
RESideMenu是github上比较出名的一个开源库,主要是实现侧滑菜单,效果如下。创建一个ResideLayout类继承ViewGroup ,直接粘贴就能用。public class ResideLayout extends ViewGroup { private static final String TAG = "ResideLayout"; /** *...原创 2019-05-15 21:35:41 · 326 阅读 · 1 评论 -
Android View 的绘制流程
整体流程View 绘制中主要流程分为measure,layout, draw 三个阶段。measure :根据父 view 传递的 MeasureSpec 进行计算大小。(测量)layout :根据 measure 子 View 所得到的布局大小和布局参数,将子View放在合适的位置上。(摆放)draw :把 View 对象绘制到屏幕上。(绘制)那么发起绘制的入口在哪里呢?...转载 2019-05-20 21:54:37 · 223 阅读 · 0 评论 -
浅谈内存泄漏与内存泄漏
内存泄漏是什么?内存泄漏(Memory Leak)是指程序在申请内存后,无法释放已申请的内存空间。简单地说,发生内存泄漏是由于长周期对象持有对短周期对象的引用,使得短周期对象不能被及时回收。内存泄漏可以分为 4 类:常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。偶发性内存泄漏。发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。常发性和偶发...原创 2019-05-14 23:49:19 · 215 阅读 · 0 评论 -
热更新
组件化就是将app分成多个模板,每个模块都是一个组件(Model),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一成一个apk,这就是组件化开发。插件化将整个app拆分成很多模块,这些模块包括一个宿主和多个插件,每个模块都是一个apk(组件化的每个模块是个lib),最终打包的时候将宿主apk和插件apk分开或者联合打包。开发中,往往会堆积...原创 2019-06-11 23:39:54 · 863 阅读 · 0 评论