自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Watson的博客

仰望星空,脚踏实地。

  • 博客(11)
  • 资源 (80)
  • 收藏
  • 关注

原创 Android使用WindowManager实现悬浮窗

上一篇文章Framework学习(十一)WindowManager体系我们分析了WindowManager的用法及源码,这篇文章我们使用WindowManager实现一个简单的悬浮窗效果。类似与下面这种效果:项目目录项目目录结构很简单,一个MainActivity,一个WindowService。MainActivity只有两个按钮,用于启动和关闭WindowService。添加实现悬浮窗的逻辑全部

2017-10-27 17:09:31 3038 1

原创 Framework学习(十一)WindowManager体系

Window、WindowManager和WMSWindow是一个抽象类,具体的实现类为PhoneWindow,它是对View进行管理的。WindowManager是一个接口类,继承自父接口ViewManager,它是用来管理Window的,它的具体实现类为WindowManagerImpl。WMS是WindowManager进行窗口管理的具体实施者,如果我们想要对Window进行添加和删除就

2017-10-26 15:56:38 1975 1

原创 Java并发编程(四)未处理异常、线程池和ThreadLocal类

未处理异常以我们通常的经验,如果线程执行过程中抛出了未处理异常(没有用try-catch),那么我们的APP就会崩溃,并且我们可以从Error Log中看到出错的异常堆栈信息。那么我们有没有方法,在异常抛出之前对该异常进行处理呢?Thread.UncaughtExceptionHandler是Thread类的一个静态内部接口,该接口只有一个方法:void uncaughtException(Thre

2017-10-25 10:34:45 2432

原创 Android应用内跳转Scheme协议

之前一篇文章WebView使用解析(一)之基本用法我讲过了WebView与JS交互的方式,JS调用Java代码主要是通过对象注入的方式实现的,即使用addJavascriptInterface。而JAVA调用JS代码则是通过javascript:伪协议来实现的,即javascript:methodName(params……)。但是这种交互方式存在着不少问题: 1、Java 调用 js 里面的函数,

2017-10-18 16:38:14 7628

原创 Framework学习(十)Content Provider启动过程

关于Content Provider的使用请参考Android ContentProvider全面解析这篇文章。query方法到AMS的调用过程在上述文章中我用到了Content Provider查询数据库的例子如下:private void query() { Cursor cursor = this.getContentResolver().query(mCurrentURI,

2017-10-10 17:01:40 1280

原创 Framework学习(九)Broadcast的注册、发送和接收过程

广播的注册BroadcastReceiver的注册分为两种:静态注册和动态注册。静态注册在应用安装时由PackageManagerService来完成注册过程。这里只介绍BroadcastReceiver的动态注册。动态注册BroadcastReceiver,需要调用registerReceiver方法,它的实现在ContextWrapper中。frameworks/base/core/java/a

2017-10-10 10:41:50 2355

原创 Framework学习(八)Service的启动/绑定过程

之前的文章Framework学习(五)应用程序启动过程我们讲解过了应用程序(Activity)的启动过程,本篇我们来看看Service的启动/绑定过程。Service的启动过程ContextImpl请求AMS要启动Service,我们会调用startService方法,它的实现在ContextWrapper中。frameworks/base/core/java/android/content/Con

2017-10-09 14:30:18 1894

原创 Framework学习(七)AMS家族

相信绝大部分读者对ActivityManagerService(简称AMS)都有所耳闻。AMS是Android中最核心的服务,主要负责系统中四大组件的启动、切换、调度及应用进程的管理和调度等工作,其职责与操作系统中的进程管理和调度模块相类似,因此它在Android中非常重要。AMS启动流程在Framework学习(三)SystemServer进程启动过程这篇文章我们简单介绍过SystemServer

2017-10-07 14:04:11 3231

原创 Framework学习(六)应用程序进程启动过程

概述上篇文章Framework学习(五)应用程序启动过程我们讲解了应用程序启动过程,但是还有一个遗留知识点,那就是应用程序进程的启动。我们知道应用程序启动之前需要保证应用程序的进程先启动,本文我们就来看看应用程序进程的启动过程。AMS在启动应用程序时会检查这个应用程序需要的应用程序进程是否存在,不存在就会请求Zygote进程将需要的应用程序进程启动。在Framework学习(二)Zygote进程启动

2017-10-03 18:17:56 2042

原创 Framework学习(五)应用程序启动过程

在Android系统中,启动四大组件中的任何一个都可以启动应用程序。但绝大部分时候我们是通过点击Launcher图标来启动应用程序。本文依据Android7.0源码,从点击Launcher图标开始,分析应用程序的启动过程,其实就是分析根Activity的启动过程。Launcher请求AMS在Framework学习(四)Launcher启动过程 这篇文章我讲过Launcher启动后会将已安装应用程序的

2017-10-02 15:59:15 3559

原创 Framework学习(四)Launcher启动过程

Launcher概述上一篇文章Framework学习(三)SyetemServer进程启动过程中我们讲解了SystemServer进程的相关知识,我们知道SystemServer进程主要用于启动系统的各种服务,其中就包含了Launcher服务,LauncherAppService。Android系统默认第一个启动的应用程序是Home应用程序,这个应用程序用来显示系统中已经安装的应用程序,这个Home

2017-10-01 22:58:14 3342

编译好的ijkplayer.part3

详见http://blog.csdn.net/huaxun66/article/details/53401231

2016-12-08

编译好的ijkplayer.part2

详见http://blog.csdn.net/huaxun66/article/details/53401231

2016-12-08

编译好的ijkplayer.part1

详见http://blog.csdn.net/huaxun66/article/details/53401231

2016-12-08

APK加固工具

详见http://blog.csdn.net/huaxun66/article/details/53484567

2016-12-06

Android RTMP推流实现

详见http://blog.csdn.net/huaxun66/article/details/53427771

2016-12-02

Android ijkplayer的使用解析

详见http://blog.csdn.net/huaxun66/article/details/53401231

2016-12-01

Android Vitamio的使用解析Part3

详见http://blog.csdn.net/huaxun66/article/details/53367079

2016-11-29

Android Vitamio的使用解析Part2

详见http://blog.csdn.net/huaxun66/article/details/53367079

2016-11-29

Android Vitamio的使用解析Part1

详见http://blog.csdn.net/huaxun66/article/details/53367079

2016-11-29

AS Vitamio包

详见http://blog.csdn.net/huaxun66/article/details/53367079

2016-11-29

Android MediaPlayer和VideoView的使用

详见http://blog.csdn.net/huaxun66/article/details/53333747

2016-11-25

Android ContentProvider全面解析

详见http://blog.csdn.net/huaxun66/article/details/53202432

2016-11-18

Android实现双进程守护

详见http://blog.csdn.net/huaxun66/article/details/53158162

2016-11-15

Android Camera开发(一)之基础知识

详见http://blog.csdn.net/huaxun66/article/details/53096391#t11

2016-11-10

HashMap的数据结构

详见http://blog.csdn.net/huaxun66/article/details/53036625

2016-11-08

Android Socket编程实践

详见http://blog.csdn.net/huaxun66/article/details/53008542

2016-11-03

Android Binder机制完全解析

详见http://blog.csdn.net/huaxun66/article/details/52966087

2016-10-31

Android Service IPC通信之Messenger机制

详见http://blog.csdn.net/huaxun66/article/details/52966469

2016-10-30

Android EventBus事件总线剖析

详见http://blog.csdn.net/huaxun66/article/details/52939128

2016-10-28

Android广播机制详解

详见http://blog.csdn.net/huaxun66/article/details/52935631

2016-10-27

Android-component-application-master.7z

详见https://blog.csdn.net/huaxun66/article/details/103978740

2020-01-26

component-master.7z

详见https://blog.csdn.net/huaxun66/article/details/103644936

2020-01-26

Gradle自定义插件

详见https://blog.csdn.net/huaxun66/article/details/103497369

2019-12-21

Android字节码插桩

详见https://blog.csdn.net/huaxun66/article/details/103497729

2019-12-21

UiAutomator

UiAutomator

2018-10-24

Android应用跳转Scheme协议

详见http://blog.csdn.net/huaxun66/article/details/78274600

2017-10-19

Android App Widget 开发

Android App Widget 开发,demo实现了一个简单的音乐播放器,详见http://blog.csdn.net/huaxun66/article/details/77880376

2017-09-08

Java 八大排序算法

详见http://blog.csdn.net/huaxun66/article/details/77847998 详见http://blog.csdn.net/huaxun66/article/details/77847998

2017-09-06

ShareSDK第三方登录

详见http://blog.csdn.net/huaxun66/article/details/77746304 详见http://blog.csdn.net/huaxun66/article/details/77746304

2017-09-01

Android 热修复技术

详见http://blog.csdn.net/huaxun66/article/details/77184815

2017-08-25

详解Android注解 Annotation

详见http://blog.csdn.net/huaxun66/article/details/77507085

2017-08-25

Android 6.0 运行时权限处理

详见http://blog.csdn.net/huaxun66/article/details/76249719

2017-07-31

Android ViewPager用法解析

详见http://blog.csdn.net/huaxun66/article/details/75675270

2017-07-28

SwipeRefreshLayout及其扩展使用

详见http://blog.csdn.net/huaxun66/article/details/74614792

2017-07-07

RxJava的使用详解

详见http://blog.csdn.net/huaxun66/article/details/73649014

2017-06-30

Android Glide使用

详见http://blog.csdn.net/huaxun66/article/details/73332546

2017-06-23

WebView使用解析(一)之基本用法

详见http://blog.csdn.net/huaxun66/article/details/73179187

2017-06-16

Android Https通信改进版

详见http://blog.csdn.net/huaxun66/article/details/53666855#t10

2016-12-20

Android Https通信

详见http://blog.csdn.net/huaxun66/article/details/53666855

2016-12-16

Android bluetooth开发实践

详见http://blog.csdn.net/huaxun66/article/details/53516916

2016-12-08

空空如也

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

TA关注的人

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