自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 问答 (2)
  • 收藏
  • 关注

原创 Android常见的几种YUV格式包括NV21、NV12、YV12和YUV420P等

NV21转NV12。

2023-04-06 14:12:46 671

原创 过滤汉字和特殊字符的正则表达式

public static String filterIllegalCharacters(String str) { Pattern pattern = Pattern.compile("[^\\s\\x4e00-\\u9fa5a-zA-Z0-9_-]"); Matcher matcher = pattern.matcher(str); StringBuffer buffer = new StringBuffer(); while (...

2022-04-19 10:30:00 1620

原创 Android 反射获取控件

ProgressDialog mBootMsgDialog = new ProgressDialog(mContext);try { Field file = ProgressDialog.class.getDeclaredField("mMessageView"); // 通过反射获取item_tv对象 file.setAccessible(true); //私有变量需要使用此方法 TextView textView = (TextView) file.get(mBootMsg.

2022-03-25 19:27:36 2993

原创 android静默卸载与在6.0上的异常

1. 静默应用卸载方式我们在进行应用卸载的时候,有种使用shell命令的方式进行静默卸载,不起界面,此种方式也可以适用于其他的命令//代码本质是一种在android代码中使用ProcessBuilder,非常规调用shell命令的方式String[] args = { "pm", "uninstall", packageName};//这个是shell命令中卸载的命令,也可以是其他的命令String result = null;ProcessBuilder processBu...

2021-03-03 11:36:19 751

原创 runnable与Thread的区别

新建一个线程一般有两个方法,一个是新建一个类,继承自Thread,里面重写run;另一个是新建一个Thread对象,new Thread的时候传入一个Runnable参数,其中Runnable需要重写run。为什么需要定一个类去实现Runnable接口呢?继承Thread类和实现Runnable接口有啥区别呢?实现Runnable接口,避免了继承Thread类的单继承局限性。覆盖Runna...

2019-09-10 11:19:39 379

原创 getLayoutPosition与getAdapterPosition区别详解

当我们在使用RecyclerView的getLayoutPosition与getAdapterPosition时具体区别就是adapter和layout的位置会有时间差(<16ms), 如果你改变了Adapter的数据然后刷新视图, layout需要过一段时间才会更新视图, 在这段时间里面, 这两个方法返回的position会不一样. 我在使用mList.remove(pos);no...

2019-01-23 15:39:57 10788 1

原创 CallSetting分析

通话设置应用的入口在CallFeatureSetting.java类中,package com.android.phone可以看出通话设置在Phone进程中 @Override//点击事件发生后调用的函数,不用注册监听器 public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Prefere...

2018-12-17 11:04:45 1796

原创 android源码基础——Preference认识

对于阅读android源码来说,其于android移动开发不同,不会使用很多的view控件,在xml文件中,使用最多的是preference控件,所以在看源码之前,我们需要了解一些关于preference的知识,网上关于这个的讲解很多,下面是两篇比较详细的。来自CrazyMo_的Android进阶——Preference详解之初识Preference及Preference系(一)htt...

2018-12-14 11:33:30 373

原创 呼叫转移流程(二)

下面为RIL工作框图:  呼叫转移中对RIL层返回的response,具体流程图如下 1. GsmCdmaPhone一般向RIL请求request的类中含有对应的handleMessage方法会对RIL返回的response做出回应 case EVENT_GET_CALL_FORWARD_DONE: ar = (A...

2018-12-05 11:49:17 2658

原创 呼叫转移流程分析(一)

Android5.0之后的版本,手机的CallSetting设置一般在package/apps/service/Telephony中下面为呼叫转移流程图,包括应用层与RIL的request 1.CallFeartureSettingActivity.java为通话设置入口//在谷歌的源码中没有这个类,可以直接看2、CallFeatureSetting在onResume方法中判断...

2018-12-05 09:38:01 5424

原创 解决离线下缺少libssl-dev问题

在进行工程编译过程中遇到以下问题网上找了解决办法,很简单,因为缺少libssl-dev内核,所以装上就行了sudo  apt-get  install  libssl-dev有时候会出现安装失败的情况可以先执行sudo  apt-get  update然后执行sudo  apt-get  install  libssl-dev但这是在你linux能连接外网的情况下的解决...

2018-09-18 17:06:59 11490 2

原创 误操作下的dev/sda1空间满载问题

本人是在进行工程下载时忘记cd到应该存放工程的目录下,直接在root目录下进行了下载,所以工程下到一半提示空间不足使用df  –h;命令显示dev/sda1总共35g空间,已使用100%本想直接cd大sda1下删除,却显示没有这个目录,后来知道sda1是一个文件,不是一个文件夹接下来介绍本人方法:使用du –h –max-depth=1;命令,可以看到当前文件夹下的各文件夹...

2018-09-18 09:28:41 6242

转载 工作第一弹,认识git

GIT是一种版本控制软件,版本控制系统是一种记录一个或若干个内容变化,以便将来查询特定版本修订情况的系统。客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。服务起发生故障都可以从本地节点恢复数据。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。 repo是Android为了方便管理多个git库而开发的Python脚本。repo的出现,并非为了取代git,而是为了...

2018-09-06 18:35:33 141

转载 二叉树的遍历

/*struct TreeNode {    int val;    struct TreeNode *left;    struct TreeNode *right;    TreeNode(int x) :            val(x), left(NULL), right(NULL) {    }};*/class TreeToSequence {public:

2017-08-14 22:26:49 148

原创 关于KMP算法的理解

关于KMP算法的理解我是参考阮先生的解释http://www.ruanyifeng.com/blog/2013/05/Knuth–Morris–Pratt_algorithm.html vector pattern;//这是要小的整形串        vector str;//这是大的整形串        if (str.size()           

2017-08-10 10:23:21 182

空空如也

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

TA关注的人

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