自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

淡定的人的博客

请输入博客描述

  • 博客(72)
  • 资源 (12)
  • 问答 (6)
  • 收藏
  • 关注

原创 java一个图片处理

UI请假,没有PS,需要修改图片中所有绿色为蓝色。于是写了一个代码来处理MyImageFactory .javapackage com.can.lib;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;public class MyImageFactory { public interface Callbac

2020-07-19 01:46:58 66

原创 android studio开发系统应用签名处理

问题来源做系统应用开发,需要配置系统的签名,才能让应用具有系统权限。比如当我们把SystemUI,Setting,Launcher导入android studio编译apk后,编译出来的 apk不是系统签名,是没有办法安装到手机上的。这个时候我们需要对apk进行系统签名。签名方式有两种,一,直接用编译的signapk.jar文件签名。二,用keystore签名一,源码签名在编译android...

2020-02-23 21:40:37 1842 1

原创 自定义VerticalTextView

最近做需求,网上找不到链接,于是自己做一个简陋版的VerticalTextViewGitHub下载链接git@github.com:13540634851/PreferenceDemo.git效果图注意:由于是自定义View,TextView’的属性在这里不管用只有3个方法可用设置显示的字符串,public void setText(String text) ;设置对齐方式...

2019-10-26 22:09:16 347

原创 Android SVG矢量图

矢量图也称为面向对象的图像或绘图图像,在数学上定义为一系列由线连接的点。矢量文件中的图形元素称为对象。每个对象都是一个自成一体的实体,它具有颜色、形状、轮廓、大小和屏幕位置等属性。Android资源文件中我们可以看见矢量图定义<?xml version="1.0" encoding="utf-8"?><vector xmlns:android="http://schema...

2019-09-06 15:11:06 137

原创 归并排序

直接插入排序难度:★★☆☆☆基本思想利用归并操作实现排序,将两个顺序序列合并成一个顺序序列。先利用递归分治,使得最初单个元素的序列合并,合并后2个元素的有序序列,然后多个序列合并成更大的序列,依次累积成一个序列,最终实现排序.两个归并操作的流程(1)构建一个临时序列,大小为两个序列之后,用来保存归并的数据(2)记录两个序列的初始下标(3)比较序列1第一个元素与序列2第一个元素,如果是...

2019-08-28 11:44:33 156

原创 默认锁屏壁纸无效问题

Android O默认锁屏壁纸无效我们设置android默认壁纸的时候,会替换对应的资源文件,而这个调用资源文件的位置在WallpaperManagerframeowrks/base/core/java/android/app/WallpaperManager.java public static InputStream openDefaultWallpaper(Context contex...

2019-08-24 13:03:09 851

原创 Android Sqlite3学习

一.Sqlite介绍SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,Android使用它保存本地数据安装Sqlite3sudo apt-get install sqlite3Sqlie 支持的基本数据类型类型介绍...

2019-08-21 18:51:42 1245

原创 Android O 新特性 系统主题

一.系统主题介绍android P都已经出来好久了,今天在使用Android P过程中发现在Dislpay下面有一个主题设置(Device theme)如下所示可以看出一个有3个选项,通过使用后发现,他运行用户设置手机主题,跟app主题不一样,这里的主题设置可以供系统以及所有应用查询.系统主题一共有暗和亮两张状态.上面设置中3个选项代表的意义如下:Automatic (base on ...

2019-08-21 15:30:46 523

原创 SystemUI RecentsActivity 分析

SystemUI RecentsActivity 分析功能描述Android在finish结束应用后,之前占用内存不会立即被释放出来。在内存不足的时候,我们可以recent按钮清理后台的应用。点击recent按钮,界面上会显示所有有界面后台的task的栈顶缩微图(Launch不会显示)预先了解ActivityStack,ActivityRecord,TaskRecord关系Activi...

2019-08-14 18:35:20 664

原创 关闭数据时,为什么有点卡能发送彩信,有的不能?

问题描述:今天有一个项目遇到"有点卡能发送彩信,有的不能"问题,查看MTK FAQ,发现原生android竟然有一个判断,判断运营商是否会对彩信的流量收费,然后决定是否能在关闭数据流量时发送彩信.,可见谷歌针对这个问题还是研究过,但是客户给的APN他们自己的不能保证完全正确,使得谷歌的这个判断经常是错的,于是出现 有的彩信流量免费关闭流量不能发送,反而收费就能发送.于是在不能要到运行商正确的AP...

2019-07-30 17:10:09 296

原创 java1.8 intern方法

请问下面两个输出是什么?答案是:对于s1第一步:s1,首先会在常量池查找hello和word,没有就创建,然后new String,在堆中创建"hello"和"word"字面的对象,然后相加在堆创建"helloword"字面的对象此时堆上有: “hello”,“word”,“helloword"对象,常量池有"hello”,"word"对象第二步,s1.intern(),此时常量池没...

2019-07-10 18:15:34 1295

原创 SystemUI锁屏流程

锁屏UI界面SystemUI启动的时候启动各个SERVICE,这些Service不是四大组件的service,这个SERVICE继承SystemUI,实现了start()和onBootComplete方法.其中StatusBar加载了SystemUI几乎全部的界面,其中包括锁屏界面,其中Bouncer是安全锁屏界面,实现类是KeyguardBouncer锁屏加载锁屏加载KeyguardB...

2019-07-09 11:44:16 948

原创 Android&java基础面试题总结(三)

java基础2 容器类详解容器类继承框架java.util.Collection是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。java.util.Collections是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例...

2019-07-03 19:17:55 83

原创 《SytemUI》利用SystemUI拉起3方应用

简介最近做一个需求需要在Android版本8.1手机上启动一个3方服务.思路客户提供了3应用,没有源码,apk形式,文档上提供的调用方式.步骤很少:检查对应的service是否存在,如果存在就启动服务 public void startGupshupServiceIfNeeded() { Intent implicitIntent = new Intent("xxx...

2019-06-28 18:10:16 172

原创 堆排序

堆排序难度:★★★★☆基本思想二叉堆:叉堆有两种:最大堆和最小堆。最大堆:父结点的键值总是大于或等于任何一个子节点的键值;最小堆:父结点的键值总是小于或等于任何一个子节点的键值。数组表示二叉堆:对于数组按照二叉树从左向右,从上到下依次排列,如图:[0,1,2,3,4,5,6,7,8]堆的根节点(root)为A[0];对这个堆中i节点(从0开始);父节i的左节点,数组对应A[...

2019-06-24 10:55:56 141

原创 《SytemUI》启动流程

简介Android系统中有3个非常重要的应用,分别是SystemUI,launcher,SettingSetting:显示需要用户知道的设置项目,以前让用户配置自己系统的设置launcher:显示所有的应用,展示应用入口SystemUI:显示重要的信息,比如信号,电量,供用户操作的导航栏Android 的 SystemUI 其实就是 Android 的系统界面,它包括了界面上方的状...

2019-06-20 16:28:48 149

原创 理解java Foreach

1,定义容器能够foreach遍历2.分析使用Arraylist foreach遍历时移除数据异常java容器都具有用于遍历数据的foreach功能,如果自己定义一个容器类,如何实现这个语言呢?第一步:实现Iterable接口实现接口就要实现内部的方法(java8 default修饰的方法无需实现)public class ForEachClass<T> implements...

2019-06-18 16:29:39 455

原创 三方应用如何在SystemUI快捷设置中添加快捷开关

功能介绍安装v2rayNg后,android的快捷设置中会有一个快捷开关,以前添加开关都是在SystemUI里面处理的,对于三方应用,SystemUI不能可能事先内置,只可能是SystemUI提供的接口,让开发者能够在SystemUi里面添加这个开关.在android的setting的开发者模式中,有一个Quick setting developer tiles选项,里面有多个调试的开关,打开他...

2019-06-03 15:42:42 1341 3

原创 Android switch控件触发onCheckedChanged引起的bug

问题Switch在调用非手动触发,其他地方setchecked的时候会触发onCheckedChanged,有时候不需要触发这个监听,仅仅是改变check状态;利用buttonView.isPressed()只会在手动的时候才会为true @Override public void onCheckedChanged(CompoundButton buttonView, boolea...

2019-05-30 13:40:35 2728

原创 快速排序

快速排序难度:★★★☆☆基本思想设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据(下面代码中排列第一个元素作为这个数),然后将所有比它小的数都放到它左边,所有比它大的数都放到它右边,这个过程称为一趟快速排序。然后对左边和右边进行相同操作。一趟快速排序的算法是:1)设置两个变量i、j,排序开始的时候:i=0,j=N-1;2)以第一个数组...

2019-05-25 17:45:23 57

原创 展讯FOV配置

最近展讯项目测试verfier fov fail,测试的值78.52,但是显示的是74.52,修改fov驱动.于是咨询驱动同事,了解了解决方法.记录如下.找到对应驱动文件vendor/sprd/modules/libcamera/sensor/sensor_drv/classic/Samsung/s5k4e6sub/sensor_s5k4e6_mipi_raw.h其中有这个结构stat...

2019-05-07 20:06:18 360

原创 CTS:9.0R7:android.graphics.drawable.cts.AdaptiveIconMaskTest#testDeviceConfig_iconMask_useRoundIcon

工具:CTS 9.0_R7patch:2019-04-01CtsGraphicsTestCasesandroid.graphics.drawable.cts.AdaptiveIconMaskTest#testDeviceConfig_iconMask_useRoundIconfail:java.lang.AssertionError: expected: rue but was: fals...

2019-04-22 20:09:26 406

原创 ActivityManagerService框架粗略分析

前言AMS是系统的引导服务,应用进程的启动、切换和调度、四大组件的启动和管理都需要AMS的支持。Android应用各个组件都是通过AMS调度,Android进程也是AMS创建,Android应用程序启动之前先启动进程,然后启动对应的ActivityAMS框架从Launcher开始应用启动可以通过adb启动,可以通过其他应用启动(包括Launcher),也可以通过监听广播启动。一般启动一个A...

2019-04-21 16:03:19 1270

原创 在系统服务里面添加方法解决锁屏失败信息不同步问题

问题:在设置里面解锁多次失败后,系统提示30秒之后才能继续做解锁操作。如果此时到锁屏界面,锁屏界面能够做解锁操作。这是不合理的,应该在上次解锁失败30秒之后才能做解锁操作。问题分析:在Setting和SystemUI中,在解锁失败之后会把解锁失败的时间点保存在LockPatternUtils对象中,然后应用判断当前时间与这个之间差是否小于30秒,小于就冻结锁屏的view使之无法解锁,然后倒计...

2019-04-11 16:36:57 181

原创 Android&java基础面试题总结(二)

更新日期2019-4-8volatile关键字volatile:一个线程修改了volatile修饰的变量,其他线程立即可见(可见),volatile修饰的变量在修改之后强制更新到主存,,并让其他线程的这个变量的缓存无效,使得再次向主存读取值。volatile修饰的变量不能保证原子性操作volatile用于作为状态标志位或单例的双重检查这些常用场景。性能优于Synchronized同步。T...

2019-04-10 22:42:03 174

原创 java Lambda表达式

Lambda表达式只能用来简化仅包含一个public方法的接口的创建只能是接口否则报:Target type of a lambda conversion must be an interface只能有一个public方法否则报:Multiple non-overriding abstract methods found xxxpublic class Go { public...

2019-04-09 16:47:47 15011 1

原创 Android&java基础面试题总结(一)

java 创建对象的几种方式采用new通过反射采用clone通过序列化机制面向对象的三个特征封装,继承,多态成员变量,成员变量也称为实例变量,成员变量存储在堆内存的对象中,所以也叫对象的特有数据。静态变量也称为类变量,静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据局部变量只定义在局部范围内,局部变量存在于栈内存中,作用的范围结束,变量空...

2019-04-07 00:52:55 197

原创 直接插入排序

直接插入排序基本思想:将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。要点:设立哨兵,作为临时存储和判断数组边界之用。如果碰见一个和插入元素相等的,那么插入元素把想插入的元素放在相等元素的后面。所以,相等元素的前后顺序没有改变,从原无序序列出去的顺序就是排好序后的顺序...

2019-03-20 23:26:20 58

原创 java final关键字

java final关键字final关键字的定义java中final关键字一旦被赋值就无法改变。final关键字能修饰类和方法,变量(包括对象)。final Person perso;key = new Person("a");key = new Person("b");【错误】 已经在上一步赋值了,final修饰的key不可以再赋值不能改变是key对应"123"的引用不改变,对象里...

2019-03-17 01:06:10 68

原创 Android 9.1 定制开机向导

简介android开机向导一般是谷歌的应用,是没有源码的.但是谷歌提供了接口供OME自定义.能够简单实现在开机向导中增加自己界面的功能.自定义开机向导要两个部分.第一部分是要添加的用户界面.第二部分谷歌提供的客制化接口.需要注意的是不同android版本,可能定制的方法不一样.这里我记录的是android P版本.编写需要加入的界面加入开机向导的界面有以下要求:对应的Activity能够...

2019-03-11 18:11:42 3591 1

原创 android关机流程后

在用户确认关机后,关机流程会走到ShutdownThread中.ShutdownThread包含过具体关机和关机动画处理.ShutdownThread.java public static void shutdown(final Context context, String reason, boolean confirm) { mReboot = false; ...

2019-02-18 11:27:55 470

原创 Android应用程序消息机制

Android线程为了随时接收消失处理,需要一套消息处理机制。应用程序通过消息驱动应用程序运行。Android应用每一个线程通过创建消息队列,然后在无限循环中等待和获取消息队列传递的信息,然后处理。线程都能创建一个消息队列。等待(阻塞中)队列中的消息获取到消息,处理消息回到2相关类:MessageQueue,Looper,Handler主线程的消息队列在系统创建应用程序的时候就配...

2019-02-01 11:57:07 101

原创 android拨打电话无法跳转到通话界面

最近客户要求我们用谷歌的dialer替换原生的dialer,替换之后发现在拨打电话的时候无法跳转到指定的界面.通过阅读源码发现,telecom固定的了跳转的界面.packages/services/Telecomm/src/com/android/server/telecom/InCallController.java public InCallController(Context co...

2019-02-01 11:56:33 1658

原创 android Fingerprint属性如何定义

fingprint定义需要按照如下格式:属性变量属性值说明$(PRODUCT_BRAND)ro.build.brand客户名TARGET_PRODUCTro.product.name产品名TARGET_DEVICEro.product.device设备名PLATFORM_VERSIONro.build.version.release安卓版本...

2019-01-25 14:51:00 3450

原创 SimpleDateFormat日期格式

名称字段说明年yyyy或YYYY小于等于4个都是一样的,大于的会在前面补0年中的月份MMM例如:Jan,英文月年中的月份MM例如01,数字月,2个M,1-9月前补0年中的周数w略月中的周数W略年中的天数DNumber 189月份中的天数dNumber 10数字星期F周四显示4英语星期E周四显示...

2019-01-24 15:25:58 414

原创 Android 9无法通过反射获取系统属性

Android 9.0之后获取无法通过反射获取系统属性,如果我们需要知道手机某个属性,可以通过以下的方式.注意:这种方式不能获取所有的属性.不然谷歌显示SystemProper的访问就没有意义了.package com.tinno.android.appinfocollector.tools;import android.text.TextUtils;import android.util...

2019-01-19 11:25:54 2710

原创 应用界面覆盖锁屏

要求:启动应用后灭屏.然后power按键亮屏之后显示应用界面不是锁屏界面.方法:屏蔽锁屏界面,这个功能只在滑动锁屏有效,谷歌估计考虑到安全问题,没有放开权限,毕竟3方应用并不可靠.方法1//在oncreate方法加 final Window win = getWindow(); final WindowManager.LayoutParams params...

2019-01-17 18:02:59 1384

原创 Shell脚本:快速push apk到指定文件夹

介绍平时我们编译源码apk的时候,需要adb push应该到指定文件夹下,需要先adb root ,adb remount ,然后push apk,odex,vdex到对应的文件夹下.像这种时候我们可以写个脚本快速完成使用方法:adbpush.sh -s serial_number file_parent_pathadbpush.sh filepath_whthout_apkseria...

2019-01-17 09:45:13 772

原创 9.0 原生setting 默认应用手机助手显示异常

问题点:进入设置应用和通知&amp;amp;gt;默认应用&amp;amp;gt;助手和手机输入助手应用进入助手应用,选择none,退到上一个界面,原来显示&amp;quot;使用屏幕上的文字内容&amp;quot;消失了.然后切换横竖屏,在进入手机助手显示Google助理,退回上一个界面.&amp;quot;使用屏幕上的文字内容&amp;quot;这个设置项没有出现,只有在横竖屏切换一次才会出现.先看修改: private void

2019-01-16 16:13:28 438

原创 CTS:8.1R12 fail:android.security.cts.StagefrightTest#testStagefright_cve_2016_3828

工具:CTS 8.1 R12patch:2018-12-5CtsSecurityTestCasesandroid.security.cts.StagefrightTest#testStagefright_cve_2016_3828 fail:junit.framework.AssertionFailedError: Device IS vulnerable to CVE-2016-3828...

2019-01-15 11:59:05 310 1

keytool-importkeypair-master.zip

用于把android源码中x509.pem,pk8文件,签名生成android stduio能用的keystore文件

2020-02-23

展讯FoV计算工具.zip

自己写的展讯FoV计算工具,使用这个工具之前需要知道相机分辨率和像素大小,这些东西在硬件配置信息表里面有。安装过java环境的window和linux系统可以运行

2019-08-29

AppDataBase.java

这是一个Android Sqlite数据库相关的代码,包括增删改查,已经数据库升级,降级的操作,没有时间真机验证,但在linux终端用sqlite3验证过,有实际的问题请提出

2019-08-21

动态壁纸,现在一般只能在原生的机器上用

之前的动态壁纸apk加源码,原生动态壁纸感觉没有多大用,国内厂商屏蔽了原生此功能,所以不能使用不要怪我

2019-08-21

UniversalImageLoader加Volley.zip

Android-Universal-Image-Loader-master 和volley都放在这个包里面.一般配置build.gradle,这里我备份一下

2019-08-21

Setting属性值查找.apk

这是一个查询设置属性的APK,有bug欢迎指出,不一定会改

2019-08-21

动态壁纸测试.apk

这是一个原生动态壁纸的APK,大多数手机的用不了.因为各大厂商都禁掉此功能,然后自己搞了一套

2019-08-21

查看应用信息.apk

这是一个查询手机应用信息的APK,有bug欢迎指出,不一定会改,直接adb可以查询,之前不知道,请百度adb 查看setting属性值

2019-08-21

一个android反编译的工具

本来是转的人家的东西,积分应该是0的,但是CSDN上要求最低为1分。造成的下载麻烦,不管我事。

2018-07-13

截取RGB工具,截取RGB工具

看见一种颜色,但不知道它的RGB值,此程序可以帮你得到,有点像截图。

2015-12-13

unity人物模型,unity人物模型unity人物模型

这是一个unity的模型。里面包含几个动作,学习unity的童鞋可以用它作为练习。 这是一个unity的模型。里面包含几个动作,学习unity的童鞋可以用它作为练习。 这是一个unity的模型。里面包含几个动作,学习unity的童鞋可以用它作为练习。

2015-05-20

C++文件数组方式读取

在一个只有数字和空格的文本里;把文本以数组的方式读入;不过我弄的是变形的数组p[i*N+j]=a[i][j];相当于p代替a; 在文本中行数就是数组的行,最大列数就是数组的列,初学编程练习练习,

2015-05-16

空空如也

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

TA关注的人 TA的粉丝

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