基础
文章平均质量分 94
guojingbu
主要从事移动端Android应用开发,对后台以及前端有一定的了解。写博客主要是为了总结一些知识点便于自己以后回顾。
展开
-
Android11 Service绑定流程分析
Android11 Service绑定流程分析上一篇我们介绍了Android11 Service启动流程,这一篇我们接着介绍Service绑定流程。service的绑定流程有一部分与启动流程是重合的我们就不重复介绍了,例如:服务没有启动的时候会先走创建启动service的流程。这里只分析它的绑定流程。不了解Service的启动流程的可以查看我的这一篇文章《Android 11 Service启动流程分析》service绑定流程调用时序图service绑定流程源码分析我们一般在使用中会调用bindSe原创 2021-06-01 11:12:30 · 794 阅读 · 0 评论 -
Android 11 Service启动流程分析
Android 11 Service启动流程分析上一篇我们介绍了Activity启动流程,接下来的这一篇我们接着分析一下Service的启动流程。不了解Activity的启动流程的可以看我的这篇文章Android 11 Activity启动流程分析。本篇文章是基于android11源码来分析的。Service启动流程调用时序图service启动流程源码分析首先,我们在启动一个服务时会在Activity中调用startService方法,它的实现在ContextWrapper中,代码如下:publ原创 2021-05-31 11:20:44 · 1233 阅读 · 1 评论 -
Android 11 Activity启动流程分析
Android 11 Activity启动流程分析本片文章是基于Android 11版本来分析应用Activity的启动的,Activity是Android四大组件中最重要的一个,因为我们所有的页面基本上都是基于Activity开发的,所以了解Activity是怎么启动的是很有必要的,接下来我们就来分析一下Activity的启动流程。Activty启动调用时序图下面我们就来根据这张时序图来具体看一下代码中的调用流程我们一般在开发中会用下面的方法来启动一个Activity,那我们分析源码的如果其实就原创 2021-05-25 17:09:12 · 2358 阅读 · 1 评论 -
handler消息机制总结
handler消息机制总结什么是handler消息机制handler消息机制:简单的说,其实是android系统为了线程间通讯而设计的一套线程间通讯框架。对android有一定了解的人员都知道,我们android里只能在主线程中更新UI,那我们子线程中可以更新吗?答案肯定是可以,我们只能通过handler发送消息通知主线程更新UI。那有人可能就会问为什么要这样设计呢?其实这样设计google开发工程师也是考虑到性能以及维护复杂度才这样设计的,如果我们每个线程都能更新UI那势必会增加系统管理UI的复杂度原创 2021-05-12 15:14:51 · 201 阅读 · 0 评论 -
Android Activity的启动模式总结
Android Activity的启动模式总结activity作为Android四大组件之首是非常重要的,有时候为了满足项目的需求,就必需要使用activity的启动模式,所以我们必须要搞清楚它的启动模式和标志位,本片文章将会一一介绍。Activity的LaunchMode首先要说一下Android默认activity的启动模式是多实例启动也就是我们常说的standard模式。我们知道当我们多次启动同一个activity的时候,系统会创建多个实例并把它放到一个activity任务栈中。当我们点击返回的原创 2021-01-31 22:33:10 · 757 阅读 · 1 评论 -
常用的git命令大全
下面的是我们在日常工作中常用到的git 命令。大家工作中有什么常用到的命令被我遗漏的都可已在评论区反馈我会更新上去。以便以后查阅:下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库# 在当前目录新建一个Git代码库$ git init#添加远程仓库到本地$.git remote add origin [要关联的远程仓库地址]# 新建原创 2020-09-20 23:08:34 · 117 阅读 · 0 评论 -
git使用clone资源是报error setting certificate verify locations:
git使用clone资源是报error setting certificate verify locations: git clone -b beta https://github.com/flutter/flutter.gitCloning into 'flutter'...fatal: unable to access 'https://github.com/flutter/flutte...原创 2019-06-25 17:00:11 · 567 阅读 · 0 评论 -
android 代码混淆
android 代码混淆什么是代码混淆用白话说就是把你的编写的代码通过proguard工具转化为难以阅读理解的代码,主要是保护你的产权,使那些想要盗用你源代码的人增加难度。混淆还可以使你的apk的体积减小也是apk瘦身的一种手段。androidstudio怎么开启代码混淆我们在开发中一般在release版本的时候会开启代码混淆,那么怎么开启呢?在android studio中开启是很方便的...原创 2019-05-08 16:28:35 · 277 阅读 · 0 评论 -
自定义倒计时button
自定义倒计时button)在我们日常开发中经常会遇到点击按钮然后去发送验证并且button上面会显示一个倒计时。这样的需求实现方法很多比如:handler发送延时消息、CountDownTimer,TimerTask等这些方法都可以实现。今天我给大家分享的是利用CountDownTimer+button自定义控件,这样封装的好处是我们使用简单并且可复用性强。效果图支持的自定义属性 ...原创 2019-02-25 10:04:16 · 379 阅读 · 0 评论 -
自定义流式布局FlowLayout
自定义流式布局FlowLayout今天给大家分享一个自定义的流式布局。自定义流式布局首先要知道什么是流式布局什么场景下会用到流式布局。流式布局:就是由左向右依次排列如果上一行显示不下就另起一行然后再由左向右排列以此类推。使用场景:主要用于关键词搜索或者热门标签等场景效果图:自定义ViewGroup步骤自定义viewgroup步骤:(1)继承ViewGroup重写构造方法。(2)重...原创 2019-02-23 22:32:11 · 782 阅读 · 0 评论 -
android ViewGroup点击事件分发机制
android ViewGroup点击事件分发机制前言好久没有写博客了,今天在看书的同时我想把我所学的用写博客的形式记录下来。这样又便于日后查看,并且还能在写博客的同时加深自己的印象。上一篇博客我们主要介绍的是view的事件分发,这一篇文章我们主要介绍一些viewgroup的事件分发。源码分析我们知道当一个点击事件发生后它的传递过程遵循如下的顺序:activity-> window-...原创 2019-01-26 19:28:34 · 1207 阅读 · 2 评论 -
android aes加密
android aes加密及gson转化json串时“=”“u003d”在我们开发项目的时候有时有一些敏感信息需要加密,在加密的方式中我们一般用到的就有两种:一种是非对称加密,一种是对称加密。今天我给大家分享一下对称加密中的AES加密。废话不多说我们直接上代码。import javax.crypto.Cipher;import javax.crypto.spec.SecretKeySpec;//i原创 2017-12-19 14:39:19 · 515 阅读 · 0 评论 -
总结Android开发中常用的工具类
我们在日常开发中,都会有一些常用的辅助工具类,完成一些非业务方面的功能,今天抽空整理出13个工具类,这些工具类基本在我们开发项目中都会用到。本人也是第一次写博客先从简单的开始就算试试水了,废话不多说了,接下来我们直接看代码,写的不好的地方希望大家多多留言。1、日志管理类import android.util.Log;/** * Created by guojingbu on 2017/12/16原创 2017-12-16 21:55:56 · 302 阅读 · 0 评论 -
Android studio 自带模拟器在联想thinkpad E470c 笔记本中无法打开问题
Android studio 自带模拟器在联想thinkpad E470c 笔记本中无法打开问题上一周买了一台thinkpad E470c 的笔记本作为平时用来开发程序使用,在我装Android studio 开发环境时发现我的模拟器始终无法打开。报的错误如下图所示遇到这个问题,看他弹出的提示可以知晓,这个和开发环境的安装应该是没有关系的。它提示我们BIOS中的Intel virtualizati原创 2017-12-23 21:57:13 · 2273 阅读 · 0 评论