- 博客(27)
- 资源 (12)
- 收藏
- 关注
原创 Android系统启动流程
Android启动流程本文将结合源码介绍开机到系统完成启动的整个过程,源码基于Android9.0http://androidxref.com,文中若有表述不当或则错误的地方,希望大家帮忙指正,第一阶段Bootloader系统加电或复位后,CPU会从一个固定的地址开始执行,比如从从地址0x00000000取第一条指令,则需要将开发板的ROM或则flash映射到这个地址,并且将Bootloader程序存储在相应的Flash位置,这样CPU上电后就会首先执行它,说的通俗点就是,当按下电源键的时候,引导芯
2022-04-01 15:39:06
1036
原创 Activity 启动流程分析
Activity 启动流程分析前言差不多两年多没发博客了,这期间一直在从事Android系统的开发,所以没有太多时间来写文章,同时也因为自己的知识积累不够,深入底层开发之后,才发现自己的知识太匮乏了,所以期间一直沉淀自己。两年学习了不少系统框架层的知识,无论是横向知识面还是纵向深度也都得到了提升,最近将会抽时间把这期间我所了解的知识和模块跟着源码分析一遍,一方面通过分析加深自己的的印象,同时也让同学们少走弯路,源码分析的过程很枯燥,但也是基本功的体现,我也会尽量写的通俗易懂一些,同时若文中存在错误
2022-03-31 09:53:37
983
1
原创 简单的自定义View,圆环统计
效果图最近项目中需要用到一个圆环统计,如下图所示,于是手撸了一个超级简单的分享给大家。就当做给萌新自定义View的入门了,有需要的也可以直接拷贝过去就能用,先看效果图日常分析一波先构思一波,这个东西应该怎么实现,因为本身没有能直接画出圆环的api,所以我们需要换一个角度来,可以用扇形来表示圆,中间加个小圆形覆盖在上面,这样就成了我们看到的圆环了。有了思路再一看这个,就很简单了。剩下的...
2019-06-25 16:27:00
327
原创 Kotlin + 协程 + Retrofit + MVVM优雅的实现网络请求
前言最近一直闭关修炼Kotlin,说实话真香真好用,刚好公司准备交给我一个新项目,于是打算直接用Kotlin来构建项目。刚好整体架构搭建完毕了,于是把网络请求这一部分先分享给大家。这次使用到的是 协程+ retrofit +mvvm的模式,我这儿直接用一个简单的demo来看一下具体的实现方式吧。文章只是描述实现思路,需要demo的直接跳到文末项目配置首先先引入所需要的依赖 i...
2019-06-14 16:45:35
2486
2
原创 Android Camera TextureView 获取预览帧
前文上次写了用surfaceView实现相机画面预览,并取出了相机的预览帧,看起来没什么大问题了,但是实际运用中,很少有将nv21数据直接供算法使用,很多时候至少在我开发过程中没有遇到,一般都是将NV21数据转成BGR再使用,同时有可能还要进行旋转缩放,镜像等一系列操作,难不难受,本来算法就很慢,前面还搞这么多,这不得急死人,于是乎,就有了这篇文章的出现,接下来就能见识到TextureView的...
2019-05-21 18:01:23
12110
2
原创 Kotlin RecyclerView 万能 adapter
说在前面上次写了一个通用adapter,用的过程中,发现还是没那么方便,每次数据绑定的时候都要强转一次,bindView时也不够简洁,通过进一步学习kotlin,进行了优化,性能的话,单看二者没有多大区别,主要是在写法的简洁度上做出了改善,先放出代码/** * actor 晴天 create 2019/5/17 * 封装一个kotlin下的通用adapter */class Kot...
2019-05-17 15:28:43
1519
原创 Kotlin 打造一个RecycleView 的通用Adapter
移步掘金https://juejin.im/post/5cc2d5ee6fb9a03239689119
2019-04-26 18:07:45
280
原创 Android Studio中开发java工程
很多人不知道其实Android Studio也可以开发java工程,而且创建起来也很简单,下面是详细步骤。1.创建项目 首先还是得新建一个android 项目,在项目中选择File - New -New Module 在选择Java Library就可以了创建完成后会发现多了一个目录,这就是java开发的工作区了2.添加main函数然后我们再MyClass中添加...
2019-03-13 17:57:54
3154
原创 Android Camera YUV420SP 操作
1.缩放 分辨率太高会导致算法耗时增加,同时一些变换耗时也会增加很多,因为分辨率越大,byte[]也就越大,所以很多时候我们都需要进行缩放操作,具体代码如下,我也是网上找到,出处已经不知道了,某些地方做过一些小优化,当然能找到原作更好,因为对于C++我懂的也很少。void nv12_nearest_scale(uint8_t *__restrict src, uint8_t *_...
2019-03-01 17:15:04
1051
1
原创 Android Camera NDK的使用
1.简介 上一篇讲了Android Camera获取预览数据流的过程,既然拿到了,总不能就这样算了吧,本来打算直接讲数据格式转换的,但是我们知道java的效率还是很低的,很多转换的操作也都是将c++的代码直接用java写一遍,这样可想而知,算法耗时在视频操作中是很敏感的,所以这章讲述一下怎么在Android项目中,使用C++的代码,也就是标题写的NDK,当然也有人喜欢叫JNI,...
2019-03-01 16:44:23
4539
原创 Android Camera SurfaceView 获取预览数据
简介 Android 调用相机拍照,相信大家已经很熟悉了,通过Intent指定Action和Category,再通过startActivityForResult()获取到拍照的回调,这样获取的是系统相机,我们只能得到它拍摄的图片,再进行后续处理。有些功能,比如视频直播,美颜相机,需要对相机预览的图像进行处理,这时候我们就需要通过Android的相机Camera来进行操作。文章主要...
2019-03-01 15:28:45
5954
1
原创 Android 设置Button的点击样式
前言 今天有个需求是嫌按钮点击效果不明显,想修改一下点击之后的颜色。本来是一个很小的需求,我当时想的是,直接用个selector,然后设置到背景不就行了吗,然后就开搞。然后坑就来了.......坑1 这样设置是没什么问题,但是设置完之后我的button变成了这样 ...
2018-10-17 11:44:21
5422
原创 Bitmap 转 BGR
java方法 private native void argb2bgr(byte[] rgbSrc,byte[] bgrDesc); public byte[] getPixelsBGR(Bitmap image) { // calculate how many bytes our image consists of int bytes = imag...
2018-08-22 11:48:23
1589
原创 关于system/bin/mediaserver占用CPU高的 解决方法
啰嗦一堆最近接触到相机功能,需要拿到相机的预览数据做后续处理,刚开始使用没发现什么大问题,后来才发现midiaserver居然占了我25%的CPU,这还得了,于是赶紧百度。。。卧槽,,,,没有,谷歌呢。。。。还是没有,基本上都是拿源码来说一大堆,表示我这个水平的人还没有达到那种高度,没办法只能自己调了,,,经过我的测试发现,该服务的占用率主要由两个地方引起:1.分辨率 ...
2018-07-23 21:02:13
4423
原创 Android 开发记录
Bitmap转byte[]ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos); byte[] datas = baos.toByteArray(); 方法二 bitmap转byte[]public b...
2018-07-17 18:15:35
131
原创 BGR转Bitmap
/* * byte[] data保存的是纯RGB的数据,而非完整的图片文件数据 */ static public Bitmap createMyBitmap(byte[] data, int width, int height){ int []colors = convertByteToColor(data); if (colors =...
2018-07-16 15:40:37
1941
原创 自定义文件读写utils类
/** * rl 2018/07/14 * 自定义文件类 * 处理文件操作 */public class FileUtils { private static String TAG = "FileUtils"; /** * 读取文件操作 * * @param filepath 文件路径 : 例: /sdcard/download/001....
2018-07-14 13:29:09
467
原创 日志打印自定义类,可复用的一类
/** * rl 2018/07/14 * 自定义一个LogUtils类,用来输出日志信息 */public class LogUtils { private static boolean isDeBug = true; private static final String TAG="LogUtils"; //Info public static void...
2018-07-14 11:28:13
232
原创 关于Android的DialogFragment
背景: 今天实现一个身份证识别功能,需要在识别后弹出身份证的相关信息,我采用了DialogFragment的方式实现,中间采用定时器,触发循环监听。当然,关于身份识别的SDK,以及硬件不能拿出来显摆。所以这儿我就写一个简单的Demo来简单介绍吧,主要实现的功能就是一个连续弹出Dialog。什么是Dialog? 哎呀这个问题问的,不...
2018-07-13 09:59:57
311
原创 Error:Execution failed for task ':app:compileDebugJavaWithJavac'解决方法
今天在使用databing的时候删除了一个文件突然报了这个错误,撤销删除之后也一直这样,这就让我很尴尬了,项目马上就要检查了怎么能出这种问题呢。后来就感觉是androd studio是不是出问题了,重启之后发现也不行。最后删除了.gradle解决了此问题。解决方法:删除.gradle文件。...
2018-05-12 12:51:26
2585
原创 Android或取签名指纹证书SHA1和SHA256
很多时候我们需要集成一些第三方的应用,例如推送,地图等,这是候会让我们提供指纹证书,那么指纹证书怎么获得呢?Debug包我们知道测试的时候一般都是用debug包测试,所以先用debug来获取。打开CMD,快捷键win+R然后输入cd .android,这儿是debug签名文件所在的位置。接下来输入keytool -list -v -keystore debug.keystore便获取到了自己的S...
2018-04-28 15:55:39
3892
原创 Android开发笔记
Java中的 == 与 equals 的区别==,如果是对比的基本数据类型(int,long等),比较存储的值是否相等, 如果对比的是引用型的变量,比较的是所指向的对象地址是否相等equals,不能用于比较基本数据类型,如果没对equals()方法进行 重写,比较的是指向的对象地址,如果想要比较对象内容,需要自行重写 方法,做相应的判断!!!!String调equals是可以判断内容是否一样,...
2018-03-28 10:07:13
158
原创 Android集成获取短信验证码功能
前言很多时候我们都会用到短信验证登陆注册等一些列功能,于是最近花时间研究了一下,因为很多都是需要收取一定费用,所以我选择了Mob开发平台,网上也有很多相关教程,我选择了最新的 SMS For Android Eclipse v3.1.1 在线gradle集成方式,并将自己的心得与方法分享给大家。准备我们需要在Mob开发者平台 http://www.mob...
2018-03-27 17:29:39
480
原创 关于Bitmap 缩放,以及多张图片合成等操作
这儿直接贴代码合并,如果是多个合并,可以先合并两个之后再与合并之后的再次合并/** * 合并三个bitmap * * @param b1 * @param b2 * @return */public Bitmap mBitmapMerge(Bitmap b1, Bitmap b2) { int width1 = b1.getWidth(); int height1 =...
2018-03-27 15:23:44
1330
原创 Retrofit 实现图文上传功能
前言 最近开始着手毕业设计,其中需要用到图片上传功能,查阅了很多资料后,文件上传解决了,但是如何将文件和参数一起上传坑了我很长一段时间,这两天经过一番梳理,终于解决了问题。本人大学生,刚开始实习,发这篇文章只是想把自己的学习过程做个记录,给同样困惑的同学们分享自己的经验,有错误的地方也希望大佬们多提建议。服务器接口设计 服务器使用PHP语言,框架为ThinkPHP,环境...
2018-03-07 10:26:14
603
转载 AndroidStudio编译过程:Error:There were multiple failures while executing work items
解决:在Module的build.gradle中的defaultConfig下添加: vectorDrawables.useSupportLibrary = true
2018-02-22 09:23:51
5109
Bytecode-Viewer
2020-08-20
MVVMDemo2.rar
2019-06-14
Android Camera预览
2019-03-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人