- 博客(13)
- 收藏
- 关注
原创 【源码分析】BroadcastReceiver启动源码分析
1.实际使用流程(1). 创建一个类继承自BroadcastReceiver(2). 注册:静态注册,动态注册(3). 消息发送创建一个类:public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) {...
2020-04-21 17:19:50
302
原创 【源码分析】Service启动过程
service有两种工作状态,两种状态可以共存启动状态,主要用于执行后台计算绑定状态,用于其他组件与service的交互(1)启动Service/** 通过startService()来启动一个Service**/Intent intent = new Intent(this,MyService.class);startService(intent);/** 进入Cont...
2020-04-21 17:17:11
348
原创 【源码分析】Activity的启动流程分析
(基于API25分析)/** 使用过程中启动一个Activity**/startActivity(new Intent(this, UserMangerActivity.class));/** 最终执行到的是startActivityForResult()方法**/ public void startActivityForResult(@RequiresPermission ...
2020-04-21 17:13:36
301
原创 【源码分析】Retrofit分析
1 Retrofit 使用 mRetrofit = new Retrofit.Builder() //1.1 .baseUrl(HttpConfig.baseURL)//1.2 配置服务器路径 .addConverterFactory(MyGsonConverterFactory.create())//配置转化库,Gson//1.3 添加数据转换工厂 .addCallAda...
2020-04-21 17:09:40
212
原创 【源码分析】View绘制流程
绘制的起始流程起于ViewRoot 的实现类 ViewRootImpl 里面的performTraversals()方法,在此方法中实现onMeasure , onLayout , onDraw 等流程,流程图如下:一. MeasureSpec(测量规格)的获取流程:顶级View–DecorView里面,在ViewRootImpl 类中的performTraversals()里面 —&g...
2020-04-21 17:06:51
186
原创 【源码分析】Android消息机制
Android消息机制ThreadLocal分析是一个线程内部存储类,数据存储后,只能通过指定的线程读取,其他线程无法获取。set()、 get() 方法操作的都是当前线程ThreadLocalMap对象里面 的table数组。/** 保存数据:set方法**/ public void set(T value) { Thread t = Thread.currentT...
2020-04-21 17:00:30
254
原创 Android 低功耗蓝牙(BLE)开发(4)-- 蓝牙扫描和连接
在了解了API里面的常用类和方法后,现在来看蓝牙打开和扫描的实现蓝牙扫描实现的基本步骤如下:1.添加权限 2.判断设备是否支持BLE 3.判断蓝牙是否开启,如果未开启,则弹出开启窗口 4.开启后,开始进行蓝牙扫描 5.通过BluetoothAdapter.LeScanCallback获取扫描结果下面具体来实现蓝牙的扫描过程1.权限的添加在AndroidMani
2017-01-13 22:35:25
6072
原创 Android 低功耗蓝牙(BLE)开发(3)-- BluetoothDevice详解
一. 概述代表一个远程蓝牙设备。通过此类可以查询其名称、地址、连接状态等信息。这个类的操作会执行在远程蓝牙硬件上,BluetoothDevice获取方法:1.使用BluetoothAdapter.getRemoteDevice(String)方法去创建一个已知MAC地址的设备2.通过 BluetoothAdapter.getBondedDevices()得到已经配对
2016-12-24 21:55:49
9735
原创 Android 低功耗蓝牙(BLE)开发(2)-- BluetoothAdapter详解
来看一下官方的API文档接口定义主要有:主要类有:下面来对我们使用到的一些类进行说明BluetoothAdapter类1.概述代表本地蓝牙适配器设备,通过该适配器来对蓝牙执行一些基本的任务,如:初始化设备的搜索, 查询可匹配的设备列表,使用一个已知的Mac地址来初始化一个BluetoothDevice类,创建一
2016-12-20 22:44:54
2037
原创 Android 低功耗蓝牙(BLE)开发(1)-- 基本概念
1. 名字的由来公元940-985年,哈洛德.布美塔特(Harald Blatand),后人称Harald Bluetooth,统一了整个丹麦。他的名字“Blatand”可能取自两个古老的丹麦词语。“bla”意思是黑皮肤的,而“tan”是伟人的含义。和许多君王一样 ,哈洛德四处扩张,为政治、经济和荣誉而征战。公元960年哈洛德到达了他权力的最高点,征服了整个丹麦和挪威。而蓝牙是这个丹麦国王Vikin
2016-12-17 10:47:15
1200
原创 Android自定义UI实战(基础篇3)---图标圆弧运动
先上效果:实现基本步骤;1.背景和圆弧的绘制:在此使用到背景图片如下,我们可以根据需求更换成自己的图片2.图标源着圆弧绘制 3.左滑,右滑的处理一 、圆弧背景的实现关于背景的截取,在此使用BitmapShader来实现,不明白BitmapShader实现原理的可以学习一下这篇文章:http://blog.youkuaiyun.com/harvic880925/article/details/52039081
2016-12-04 17:42:54
1725
原创 Android自定义UI实战(基础篇2)---搜索酷炫界面
在实现搜索功能的时候,比如蓝牙搜索,附近热点搜索等,通常我们需要一个比较友好的界面,以下通过自定义View来实现一个搜索界面。效果图如下: 当实现一个这样的动画的时候,思路是这样的呢?将整个View拆分,可以分为三个部分。第一部分: 实现中间的图片 第二部分: 实现扩散的圆 第三部分: 实现游标转动这样一个酷炫的搜索效果就出来了,用到的资源文件主要有两张图片:首先自定
2016-11-10 16:17:50
1307
1
原创 Android自定义UI实战(基础篇1)---组合控件封装
在实际开发过程中,我们会碰到许多这种界面, 下面来介绍怎样封装成为一个通用的控件1. 首先新建一个类,在这里继承自FrameLayout,实现对应的构造方法 public class ItemGroup extends RelativeLayout{ public ItemGroup(Context context) { super(co
2016-11-09 14:08:57
5729
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人