自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

此男子淡漠

此情可待成追忆,只是当时已惘然

  • 博客(41)
  • 资源 (3)
  • 收藏
  • 关注

原创 Android8.0 焦点处理流程(二)

Android8.0 焦点处理流程(一)Android8.0 焦点处理流程(二)文章目录按键事件流入方向键焦点导航流程1. 找到当前拥有焦点的View-->mView.findFocus()2. 查找下个要获取焦点的View -->focused.focusSearch(direction)1. 查找开发人员指定的下个获取焦点的View2. 得到所有可获取焦点的View集合3. 在...

2018-11-20 11:24:34 1653

原创 Android8.0 焦点处理流程(一)

Android8.0 焦点处理流程(一)Android8.0 焦点处理流程(二)文章目录前言术语View树中焦点获取焦点的前提View请求焦点流程清除焦点ViewGroup请求焦点清除焦点总结前言现在基本上都是触摸屏手机,导致很多开发者对焦点并没有深刻认识,但仍然存在一些非触屏手机,还有Android TV平台都与焦点息息相关,这里就总结下自己看过多篇文章和自己的实践经验。先看两张焦点图。...

2018-11-17 12:11:19 2159

原创 垂直SeekBar(不用自定义)

先看效果看到网上的博客各种自定义SeekBar,又是整onMeasure,又是旋转平移的,只能说low爆了。下面最简洁垂直Seekbar,直接布局文件写就OK。布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/volume_dialog" androi

2020-08-28 18:34:21 2607 2

原创 AndroidStudio 开发系统app(解决了可能遇到的所有问题)

前言手机系统App开发人员编写代码时使用AndroidStudio,编译时通过 Android.mk 编译,在 Android9.0 上模块编译速度更是不敢恭维,用时单位是以分钟计算的。为了解决编译速度问题,强烈推荐使用 AndroidStudio编译。但是通过gradle编译又会出现各种问题,例如安装android:sharedUserId="android.uid.system"权限的APK...

2019-12-07 16:23:15 1154

原创 Activity源码分析-状态保存及恢复

本文基于 Android 8.0 代码分析状态的保存onSaveInstanceState 调用时机Activity 生命周期中,我们知道 onSaveInstanceState 方法在 onPause 方法之后执行在onStop方法之前执行。这里我们首先看一下onPause方法的源码逻辑。熟悉 Activity 启动过程就知道生命周期处理主要在 ActivityThread 中完成。Ac...

2019-10-11 17:28:13 503

原创 Android 设置投影效果

1. elevation设置投影android api(限制 21 以上 ),不过我们还是无法自定义投影颜色,透明度,大小等2. UI制作.9图片3. paint.setShadowLayer(float radius, float dx, float dy, int shadowColor);这个方法可以达到这样一个效果,在使用canvas画图时给视图顺带上一层阴影效果。简单介绍...

2019-08-13 14:43:32 9122

原创 raw cannot be resolved or is not a field解决

Android app编译报错如下raw cannot be resolved or is not a field出现该错误只有如下两个可能raw目录没有在res下,资源文件没有在raw下App编译缓存导致AndroidStudio解决办法 Clean Project–&gt;重新Build即可Android源码编译解决办法 删除编译产生的中间文件out/target/commo...

2019-02-28 17:38:59 1551

原创 Android7.0 拨号流程源码分析

1. 应用进程从点击拨号按钮流程说起packages/apps/Dialer/src/com/android/dialer/dialpad/DialpadFragment.java@Overridepublic void onClick(View view) { int resId = view.getId(); if (resId == R.id.dialpad_flo...

2019-01-30 21:19:27 1697 1

转载 Linux 常用Find指令

一、概述: 因为Linux下面一切皆文件,经常需要搜索某些文件来编写,所以对于linux来说find是一条很重要的命令。linux下面的find指令用于在目录结构中搜索文件,并执行指定的操作。它提供了相当多的查找条件,功能很强大。在不指定查找目录的情况下,find会在对整个系统进行遍历。即使系统中含有网络文...

2018-12-20 11:35:54 326

转载 Android Native crash日志分析

Android Native crash日志分析   在Android应用crash的类型中,native类型crash应该是比较难的一种了,因为大家接触的少,然后相对也要多转几道工序,所有大部分对这个都比较生疏。虽然相关文章也有很多了,但是我在刚开始学的过程中还是遇到一些问题,下面一一记录,以便将来翻阅。  分析native crash 日志...

2018-12-05 12:55:41 7384 1

原创 Android8.0 系统异常处理流程

文章目录Android8.0 系统异常处理流程异常处理流程crash对话框的显示和用户行为后续清理工作总结Android8.0 系统异常处理流程异常处理流程Java处理未捕获异常有个Thread.UncaughtExceptionHandler,在Android系统中当然也是通过实现其来进行未捕获异常处理。Android 默认系统异常处理是在启动SystemServer进程时设置的。Zy...

2018-12-03 23:45:14 1852 2

原创 Java System.getProperty 和 System.getenv 区别

Java System.getProperty 和 System.getenv 区别getProperty and getenv方法是java.lang.System类中两个静态方法,废话少说直接看比较System.getProperty()java平台使用Properties 对象去提供本地系统配置信息,我们称为系统属性。系统属性包括当前用户,java运行时的版本,以及文件路径分隔符等。...

2018-11-30 14:16:45 1772

原创 Android TV 默认没有焦点

问题开机后Launcher默认无焦点,按键后焦点会出现,但不是在想要的位置上。分析Launcher.java中主动对指定View调用requestFocus()方法,重启后无法获取焦点,放在平时肯定是获取到焦点的。试着Launcher.java拦截dispatchKeyEvent(),发现现象依然如此,因此判断开机后按键后的获取焦点并不在这里处理,这违背了之前所熟悉的焦点查找流程。在Vi...

2018-11-26 11:31:58 1987

原创 Android8.0 按键事件处理流程

文章目录Android8.0 按键事件处理流程(一)按键事件流入按键事件派发1. DecorView.dispatchKeyEvent方法2. Activity的dispatchKeyEvent3. ViewGroup的dispatchKeyEvent4. View的dispatchKeyEvent总结Android8.0 按键事件处理流程(一)此处记录按键事件从Framework到应用层的传...

2018-11-19 23:13:26 8102

原创 view.getParent和view.getRootView的理解

view.getParent(),view.getRootView()先写结论如下,再用两个简单示例让你更容易理解结论如果该View是View树的根节点,getParent()返回null,如果该View是View树的非根节点,getParent()返回的是其父ViewgetRootView始终返回的是View树的根View示例针对Activity,无论使用什么布局,整体结构都...

2018-11-15 22:39:10 10600 6

原创 Android8.0 SystemUI 状态栏信号图标

Android 状态栏信号更新架构状态栏上信号区域在电池图标的左侧包括 vpn,ethernet,wifi,sim,airplane等,该区域对应的View为SignalClusterView,其负责显示以上信号图标的显示图中红框部分就是SignalClusterViewSignalClusterView// Intimately tied to the design of res/la...

2018-11-10 15:51:18 9417 1

原创 Android N,O,P开机语言随SIM卡自适应

文章目录Android N 首次开机不随SIM卡自适应语言Android O,P首次开机不随SIM卡自适应语言Android N 首次开机不随SIM卡自适应语言Android N和Android M上一样默认设计首次开机不会随Sim卡自适应语言,如要修改为随Sim卡自适应,可参考如下修改(Android N上language与M上有较大变化,可以同时选择多种语言,所以修改方案与M上也有所不同)...

2018-10-24 10:51:04 1324

原创 Android ids.xml的作用

ids概述ids.xml:为应用的相关资源提供唯一的资源id。id是为了获得xml中的对象需要的参数,也就是 Object = findViewById(R.id.id_name); 中的id_name。使用例如xml中定义如下&lt;resources&gt; &lt;item type="id" name="btn_next" /&gt;&lt;/resources&gt;...

2018-10-23 14:22:39 11296

原创 Android指定物理按键唤醒屏幕

指定键唤醒屏幕例如指定按键机所有键均可以唤醒屏幕,添加如下修改部分即可frameworks/base/core/java/android/view/KeyEvent.java/** @hide */ public static final boolean isWakeKey(int keyCode) { switch (keyCode) { c...

2018-10-22 20:17:13 4573

原创 Android addTextChangedListener方法介绍

文本变化监听器addTextChangedListener中TextWatcher方法三个方法意义EditText editText = findViewById(R.id.et_test);editText.addTextChangedListener(new TextWatcher() { // charSequence为在你按键之前显示的字符串 start为新字符串与charS...

2018-10-20 16:42:36 19918 2

转载 VoLTE是什么

版权声明:个人心得,欢迎来信来函交流。转载请注明出处! https://blog.csdn.net/LEON1741/article/details/79794263 你是不是遇到过下面这个情景:正在用手机玩游戏……玩得正嗨,胜利在望……突然,来电话了……...

2018-10-19 13:56:18 4100

转载 如何打开VoLTE,ViLTE,VoWifi Feature

如何配置VoLTE, ViLTE and VoWifi(IMS config for VoLTE, ViLTE and VoWifi)&nbsp;1. 如何打开VoLTE,ViLTE,VoWifi Feature (How to enable VoLTE,ViLTE,VoWifi feature opti...

2018-10-19 13:40:04 7576

原创 Android xml 中@和问号?等解释

文章目录Android xml资源文件中@、@android、@*、?、@+含义和区别1. @代表引用资源2. @android 代表引用系统公开资源(第三方app可以使用)3. @* 代表引用系统的非public资源4. ? 代表引用主题属性5. @+ 代表在创建或引用资源Android xml资源文件中@、@android、@*、?、@+含义和区别1. @代表引用资源引用自定义资源。格...

2018-10-16 14:22:08 4748

原创 ListView 部分item不选中

ListView 部分item不选中Android TV开发或者按键机操作会有如下场景,ListView中会包含多项条目,但这些项中的标题条目,空栏条目等不需要被选中。如果不作处理直接通过按键上下操作,无用项依然会被选中,为了解决该问题需要做如下处理。解决方法在继承BaseAdapter适配器中重写如下方法:public boolean areAllItemsEnabled();publ...

2018-10-11 19:19:29 815

原创 应用动态显示在桌面Launcher

启用禁用组件基础知识PackageManager pm = getPackageManager();pm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); // 禁...

2018-07-03 10:26:24 919

原创 Ubuntu(任意版本) Virtualbox不识别usb设备

ubuntu普通升级后Virtualbox就无法识别usb设备了,导致无法识别手机,无法刷机,严重影响工作.尝尽网上各种办法,甚至导致自己电脑都无法启动了,还是无法解决,可谓神农尝百草啊.最终还是自己解决.超级简单的解决办法送给你们,哈哈.解决办法下载较新版本的Virtualbox安装安装对应版本的Virtualbox扩展包上述步骤相当于升级安装,不会影响你的任何数据...

2018-06-06 09:31:50 2721

原创 Android8.0 FmRadio源码分析之录音篇

FmRadio录音流程界面管理 FmRecordActivity后台服务 FmService录音实现 FmRecorderFmRadio录音流程录音界面如图 通过FmMainActivity的 Start recording 菜单选项即可进入FmRecordActivity直接进行录音,当FmRecordActivity销毁时,录音则停止。如果要实现后...

2018-05-30 15:04:41 3960 2

原创 Android8.0 java.lang.IllegalStateException: Not allowed to start service Intent app is in background

报错log如下04-16 15:48:35.662087 29891 29891 E AndroidRuntime: java.lang.RuntimeException: Unable to start receiver com.android.music.MediaButtonIntentReceiver: java.lang.IllegalStateException: Not allo...

2018-04-23 20:51:37 3571 4

原创 ButterKnife

ButterKnifeButterKnife的使用配置ButterKnife使用Resource BindingNon-Activity BindingView ListsListener BindingBinding ResetOptional BindingsMulti-Method ListenersButterKnife和xUtils区别But...

2018-04-10 13:52:57 1198

原创 Android二维码快速集成

二维码二维码扫描示例1. 依赖zxing2. 二维码生成3. 二维码扫描4. onActivityResult接收二维码扫描结果二维码可以通过开源框架快速集成, zxing是一款Google推出的强大的二维码扫描库,支持多个平台,我们只需要Android核心代码,故依赖大神提取核心包即可。二维码扫描示例1. 依赖zxing在对应模块b...

2018-04-10 13:23:43 747

转载 UML类图

在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization), 关联(Association), 聚合(Aggregation), 组合(Composition), 依赖(Dependency)

2017-08-20 15:42:00 244

转载 Java向上转型和向下转型

在Java编程中经常碰到类型转换,对象类型转换主要包括向上转型和向下转型。向上转型即将子类看做父类对象,而向下转型则表示被向上转型过的对象如何转化为原本的对象。

2017-08-17 20:36:45 413

转载 Android Home键后Activity延迟启动

按Home键后Activity延时5s启动,这种行为为Android原生设计。在谷歌的 Android API Guides 中,特意提醒开发者不要在后台启动 activity,包括在 Service 和 BroadcastReceiver 中,这样的设计是为了避免在用户毫不知情的情况下突然中断用户正在进行的工作。

2017-08-10 23:13:19 1170

转载 Android apk签名

Android系统要求所有的应用必须被证书进行数字签名之后才能进行安装。android系统通过该证书来确认应用的作者,该证书是不需要权威机构认证的,一般情况下应用都是用开发者的自签名证书

2017-08-07 22:13:50 687

转载 Android PMS运行规则

本文主要介绍与PMS相关的目录与文件,以及PMS操作它们的规则。

2017-08-04 11:18:50 924

转载 初探Android PMS服务

Android系统中PackageManagerService简称PMS,主要负责各种APK的安装,卸载,优化和查询。android系统中,pm工具是PMS的一个展现命令。通过了解pm的使用,可以了解PMS究竟提供了哪些具体的功能,进而帮助我们理解和分析PMS的源码实现。pm使用利用adb shell命令,进入Android设备的终端,pm工具在/system/bin中.

2017-08-04 11:13:52 2217 1

原创 adb wifi调试

我们可以在不使用数据线的情况下进行调试那就是通过wifi局域网调试

2017-08-01 21:59:56 468

原创 Android Pair记录

PairPair位于android.util包,根据字面意思一对也可以判断出该对象可以存放一对值,的确被猜中了,其有first和second两个成员。在某些情况使用比较方便。

2017-07-31 22:35:20 1548

转载 360手机log显示不全

借用官方的抓取日志的方法1、在桌面点击拨号,在拨号盘输入“*20121220#”,进入工程模式; 2、找到日志输出等级,点击进入; 3、点击“Log print enable”,选择“Enable”; 4、点击“Java log level”,选择“LOGV”; 5、点击“C and C++ log level”,选择“LOGV”; 6、点击“Kernel log level”,选择“K

2017-07-31 21:41:47 772

原创 Android N 添加PowerControl Widget

问题开启Power Control Widget,过开机向导报错,报错log如下: Unable to start receiver com.android.settings.widget.SettingsAppWidgetProvider: java.lang.IllegalStateException: User 0 must be unlocked for widgets to be available

2017-05-25 10:08:34 3516 2

Typora-0.9.41

Typora是Windows上集美观,简洁,便捷与一身的Mardown编辑器

2017-12-17

sourceinsight4085

通过证书可以直接使用sourceinsight4,比起sourceinsight3.5好了很多

2017-08-03

空空如也

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

TA关注的人

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