自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Java 代理模式 与 hook 学习总结(一)

Java 代理模式关于代理模式,举个例子,小明要买菜,一般是不会直接找农民买,而且去菜市场,菜市场除了卖菜,还卖水果,菜市场就是代理,光说有点不太好理解,看示例代码//首先抽象一个接口,定义一个卖菜的动作public interface Action { void maicai();}//创建一个类去实现接口,实现卖菜的动作public class NongMin implements Action{ @Override public void maicai() {

2022-03-03 19:25:47 746

原创 java 反射学习总结

开发中又时会遇见,需要调用其它方法类中 private 私有的方法或者参数,或者其它包里方法类里的方法情况,这个时候无法直接调取,需要用到反射去获取,直接实践,首先创建一个方法类,里面设置一些参数public class Person { public String a; public int b; private int c; private String d; public Person() { } private Person(int c

2022-02-25 17:46:05 308

原创 android Activity启动流程(一)

当我们在桌面点击app和app内部启动Activity时都会调用到Activity中的startActivityForResult方法public void startActivityForResult(@RequiresPermission Intent intent, int requestCode, @Nullable Bundle options) { //开始启动根Activity页面,一般情况mParent都为空,除非类似根Activity为TabAct

2022-02-16 16:19:01 1685

原创 android AMS学习(一)

ActivityManagerService是android中非常重要的一个类,管理着四大组件的开启与关闭,是android进阶路上必须学习了解的模块,我们先从启动流程开始了解跟前面了解的SystemUI一样,也是在SystemServer中启动//SystemServer /** * The main entry point from zygote. */ public static void main(String[] args) { new Sy

2022-02-16 16:17:37 1582

原创 SystemUI学习总结(三)

前面学习了SystemUI中状态栏模块相关内容,接下来学习锁屏模块相关内容,锁屏模块可以大致分为两个部分,一个是密码解锁,一个是页面加载,密码解锁是由KeyguardBouncer类控制,页面加载是在StatusBar中加载,个人认为页面之所以在StatusBar中加载是因为很多内容与状态栏重合先从开机启动流程开始,手机开机后会启动SystemServer,后续调用startSystemUi方法 public static void main(String[] args) { Lo

2022-01-29 10:50:42 484 1

原创 SystemUI学习总结(二)

上次我们研究了常态显示下的状态栏,这篇我们来研究下拉后状态栏,页面是status_bar_expanded.xml我们将下拉后的状态栏拆分来看,首先看QS快捷控制面板数据获取是再QSTileHost中获取 @Override public void onTuningChanged(String key, String newValue) { ... final List<String> tileSpecs = loadTileSpecs(mConte

2021-11-27 18:03:17 573

原创 SystemUI学习总结(一)

systemUI是android非常重要的一部分,我们先看systemUI的启动流程SystemUI启动流程手机开机的时候,通过驱动来启动SystemUIService,执行SystemUIApplication中的startServicesIfNeeded方法/** * Makes sure that all the SystemUI services are running. If they are already running, this is a * no-op. Thi

2021-11-16 20:02:43 686

原创 Settings学习总结(二)

上次讲到了一级菜单栏数据加载,在学习过程中发现一个有趣的问题,在获取一级菜单栏列表数据时并没有获取summary值,而且在Settings模块的清单文件中,有部分一级菜单栏并没有定义summary,但是在列表中却显示出了summary值通过查看源码以及日志追踪,发现跟SummaryLoader.java有关,我们看源码final List<DashboardCategory> categories = getCustomizedCategoriesFromAll(mCategoriesNam

2021-11-12 17:29:28 429

原创 Settings学习总结(一)

个人对settings一些学习总结,在介绍Settings一级菜单栏之前先讲解一下如何添加一级菜单栏,这样可以更好的理解后面的一级菜单栏显示流程添加一级菜单栏在Settings.java中添加代码public static class TestSettingsActivity extends SetttingsActvity{}添加了activity之后肯定是需要在清单文件中进行配置<activity android:name="Settings$TestSetti

2021-11-11 19:16:57 2223

原创 Android.mk 常用常量总结

LOCAL_PATH := $(call my-dir) 此变量表示源码所在目录,写法固定include $(CLEAR_VARS) 清除 除LOCAL_PATH变量外其它缓存变量LOCAL_MODULE 此变量表示模块名称LOCAL_MODULE_TAGS 此变量表示模块编译模式LOCAL_SRC_FILES 此变量包含构建系统生成模块时所用的源文件列表LOCAL_MODULE_CLASS 此变量表示标识所编译模块最后放置的位置LOCAL_MODULE_SUFFIX 此变量表示后缀名 在bui

2021-11-04 18:02:06 2506 1

原创 adb 常用命令

adb root 获取root权限adb remount 将system设置为可读写,system一般状态为只读模式adb -version 获取安装的adb版本号adb devices 获取当前运行的设备adb pull 拉取文件路径 拉取到的位置路径 拉取文件adb push 上传文件路径 上传到手里的位置路径 上传文件adb install 安装apkadb uninstall 包名 卸载apkadb start-server 启动adbadb kill-server关闭adb

2021-11-04 18:01:10 75

原创 2021-09-24 记录ubuntu桌面常用指令

ubuntu桌面常用指令欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式

2021-09-24 14:19:24 248

原创 记录TabLayout字体太粗解决办法

记录TabLayout字体太粗解决办法项目用到TabLyaout,上司觉得字体太粗不好,翻了半天,typeface,textStyle,Spannable都试了,看到网上说TabLayout字体默认就是那么粗,只能通过字体类型进行修改,试了半天类型发现&lt;item name="android:fontFamily"&gt;sans-serif-condensed&lt;/item&gt;...

2019-01-31 16:24:17 358

空空如也

空空如也

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

TA关注的人

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