Android进阶之开发问题笔记

0 工作总结 当天问题,当天解决,坚决不过周。(2017/5/7) Git提交前先review代码,确认无误再提交;每次提交的内容是一个功能点,方便查找功能、代码。(2017/7/2) 每一个功能点都必须经过自测,才能提交测试。(2017/7/2) 控制情绪。(2017/8/8) ...

2017-06-26 22:37:40

阅读数 1006

评论数 3

Android自定义View最佳实践

1 自定义View的分类 1.1 继承View重写onDraw方法 这种方法主要用于实现一些不规则的效果,即这种效果不方便通过布局的组合方式来达到。需要通过绘制的方式来实现,即重写onDraw()方法。一般就是想自己实现某些图形了,因为原生控件已经满足不了你了,很显然这需要绘制的方式来完成,采...

2019-05-05 23:42:03

阅读数 25

评论数 0

Java进阶之深拷贝和浅拷贝

1 Java的clone方法 1.1 什么是clone()方法? (1)在实际编程过程中,我们要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值。也就是说,A与B是两个独立的对象,但B的初始值是由A对象...

2019-03-07 21:11:29

阅读数 63

评论数 0

Android基础之IntentFilter的匹配规则

1 启动Activity的方式 (1)启动Activity分为两种,显示调用和隐式调用。显示调用需要明确的指定被启动对象的组件信息,包括包名和类名;而隐式意图则不需要明确指定调用信息。原则上一个intent不应该即是显式又是隐式调用,如果二者共存的话以显式调用为主。 (2)隐式调用需要inte...

2019-02-26 00:21:13

阅读数 74

评论数 0

Android刘海屏适配方案

1 什么是刘海屏 屏幕的正上方居中位置(下图黑色区域)会被挖掉一个孔,屏幕被挖掉的区域无法正常显示内容,这种类型的屏幕就是刘海屏,也有其他叫法:挖孔屏、凹凸屏等等,这里统一按刘海屏命名。   现在市场上的情况来说,“刘海屏”主要分成两类,一类是标准的 Android P Api,另外一类就是厂...

2019-02-14 00:42:06

阅读数 229

评论数 0

Flutter:编写第一个应用

1 开发环境搭建 Flutter之Windows环境搭建 Flutter基础篇(4)-- Flutter填坑全面总结 解决Flutter Could not find lint-gradle-api.jar 2 未完待续

2019-01-26 21:25:39

阅读数 92

评论数 2

网络编程之HTTP中GET与POST请求

1 参考自w3schools给出一个“标准答案” GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息; GET参数通过URL传递,POST放在Request body中; GET请求在URL中传送的参数是有长度限制的,而POST没有; GET请求只能进行url编码,而...

2019-01-01 15:58:57

阅读数 216

评论数 3

Android进阶之Context(上下文)你必须知道的一切

1 Context概念 (1)在启动Activity/Service,发送广播,获取系统资源,获取系统服务等都需要Context的参与,可见Context的常见性。到底什么是Context,Context字面意思上下文,或者叫做场景,也就是用户与操作系统操作的一个过程,比如你打电话,场景包括电话...

2018-12-15 17:31:19

阅读数 210

评论数 1

Android进阶之探究ActivityLifecycleCallbacks

1 ActivityLifecycleCallbacks用来监听所有Activity的生命周期回调 Activity 的每一个生命周期都对应 ActivityLifecycleCallbacks 接口中的一个方法,比如 onActivityCreated 回调是在 Activity 的 onCre...

2018-12-15 15:37:31

阅读数 104

评论数 0

Android进阶之将注解@IntDef @StringDef替代枚举类(enum)

1 概述 Enum是java中一种包含固定常数的类型。当我们需要预先定义一些值,并限定范围时,使用 Enum,来做到编写和编译都查错。   Java的Enum的实质是特殊单例的静态成员变量,可以在编写器,编译器做到各种静态检查防呆;在运行期,所有枚举类作为单例,全部加载到内存中。   因此,...

2018-12-02 12:06:31

阅读数 77

评论数 2

Android进阶之通识基础

1 数据类型字节数 1.1 字节 一个字节,8个二进制位 1.2 字节数 (1) 32位编译器 (2) 64位编译器 2 正负数二进制的表示 2.1 正负数二进制的表示 (1)正数的值,第一位以0作为正数标识,直接去二进制转10进制,方便计算0开头对应的值。无符号数...

2018-12-01 00:44:34

阅读数 41

评论数 0

Android进阶之View.inflate和LayoutInflater.inflate方法区别

1 LayoutInflater   LayoutInflater用于加载布局的。加载布局的任务通常都是在Activity中调用setContentView()方法来完成的。其实setContentView()方法的内部也是使用LayoutInflater来加载布局的,只不过这部分源码是内部的。...

2018-09-02 11:39:43

阅读数 1359

评论数 2

Android系统分析之ThreadLocal

1 ThreadLocal操作示例 1.1 例子 public class MainActivity extends AppCompatActivity { private static final String TAG = &qu...

2018-07-28 23:20:14

阅读数 98

评论数 2

Android进阶之Android build构建流程

1 Apk构建基本流程   详细研究,把代码编译成一个apk文件并安装到手机上的这个过程中,是怎么把代码和资源文件打包成一个apk文件,并安装到手机上的?   此图描述了:Android Project经过编译和打包后生成apk文件,然后再经过签名,就可以安装到设备上。   将一个实际...

2018-06-19 00:12:46

阅读数 922

评论数 2

网络编程之深入理解网络的五层协议

1 网络的五层划分是什么?   互联网的实现,分成好几层。每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持。用户接触到的,只是最上面的一层,根本没有感觉到下面的层。要理解互联网,必须从最下层开始,自下而上理解每一层的功能。   如下图所示,因特网五层协议栈共有五层:应用层、传输层、网...

2018-06-02 14:59:46

阅读数 1202

评论数 2

Java进阶之线程池深入理解

1 基本概念   线程池,就是一个线程的池子,里面有若干线程,它们的目的就是执行提交给线程池的任务,执行完一个任务后不会退出,而是继续等待或执行新任务。   线程池主要由两个概念组成,一个是任务队列,另一个是工作者线程,工作者线程主体就是一个循环,循环从队列中接受任务并执行,任务队列保存待执行...

2018-05-27 00:07:51

阅读数 259

评论数 2

Android基础之四大组件综述

  本篇文章概述分析Android四大组件的机制,插入本人其他的博客链接方便阅读,以及为接下来写四大组件的内部工作过程铺垫。 1 Android四大组件的运行状态   Android四大组件包括Activity、Service、BroadcastReceiver和Content...

2018-05-13 22:20:41

阅读数 199

评论数 0

Android系统分析之JVM/DVM、垃圾回收机制与类加载器

1 Java虚拟机 1.1 JVM(Java Virtual Machine,Java虚拟机)   JVM的中文名称叫Java虚拟机,它是由软件技术模拟出计算机运行的一个虚拟的计算机。JVM也充当着一个翻译官的角色,我们编写出的Java程序,是不能够被操作系统所直接识别的,由JVM负责把程...

2018-03-21 21:38:03

阅读数 601

评论数 0

Java基础之深入理解final关键字

1 含义   final在Java中是一个保留的关键字,可以声明成员变量、方法、类以及本地变量。一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译错误。final变量是只读的。 2 分类 2.1 什么是final变量...

2018-03-12 09:34:48

阅读数 382

评论数 0

Android源码分析之分享公共库框架

分享公共库使用说明文档(友盟6.4.5) 1 引入公共库 (1)在build.gradle添加仓库地址 (2)在build.gradle中引入’com.guan.codelibs:share:1.0.0’ (3)例子如下: dependencies { compile 'co...

2018-03-03 21:16:24

阅读数 213

评论数 3

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