自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (8)
  • 收藏
  • 关注

原创 从0开始写android

前言接上文,测量完View树的每个节点View的宽和高后,开始布局。ViewRootImpl->performLayout(lp, mWidth, mHeight);ViewGroup -> layout(int l, int t, int r, int b)View -> layout(int l, int t, int r, int b)View ->setFrame(l, t, r, b)DecorView-> onLayout(changed, l, t, r, b)FrameLayout->onL

2024-02-01 12:01:04 329

原创 用python写一个抽奖的程序

年会时公司用的一个抽奖的软件出错了, 于是想着自己写一个吧.这类的程序用python来实现是再简单不过了.很简单的一个小应用,希望后面能用得着.

2024-01-22 10:40:28 465

原创 从0开始写android

接上文, android源码在setContentView 后, 即创建DecorView 的树型结构。接着就开始走onResume流程,在onResume 创建了ViewRootImpl 在ViewRootImpl的addView中,调用了performTraversal 函数, 这个函数中实现了 三个主要流程, performMeasure, performLayout, performDraw。本文将着重描述 performMeasure 即测量 DecorView 的整个算法和数据结构。

2023-12-29 22:27:40 396 1

原创 从0开始写android

接上一章节,我们实现了 创建一个应用进程的完整流程,接下来从ActivityThread 的attach开始,我们尝试在linux环境下实现 onCreate的 setContentView 函数 和onResume 函数,接下来我们不会用到binder等跨进程通信机制,接下来我们尽量用简洁的代码复现 setContentView 的将xml文件装成DecorView为根节点的树形结构的过程。本文对 setContentView 函数 将xml 转成DecorView 的过程进行了简化。

2023-12-20 19:35:02 67

原创 从0开始写android

接上篇第三步 分裂出systemserver 进程,在启动完系统的各种服务后。即开始启动launcher。本篇用三个章节,详细讲述了 android启动过程中如何构建应用启动的闭环。

2023-12-19 11:51:09 29

原创 从0开始写android

从ZygoteInit分裂出SystemServer进程提示:以下是本篇文章正文内容,下面案例可供参考本章详述了从ZygoteInit分裂出SystemServer进程的过程。

2023-12-18 21:55:46 58 1

原创 从0开始写android

从init.rc 到jvm

2023-12-18 21:29:46 48 2

原创 Ubuntu搭建基于nginx-http-flv-module流媒体服务

Ubuntu搭建基于nginx-http-flv-module流媒体服务

2022-10-27 16:04:38 1713 1

原创 在QEMU 上运行linux

用QEMU 运行linux

2022-09-14 16:56:18 526

原创 手机缓存B站的视频并转成mp4 文件

手机缓存B站的视频并转成MP4格式

2022-06-14 15:47:31 2238

原创 FreeRTOS入坑指南

开发环境准备:一般平台都有自己的开发环境。 例如nxp 有mcu xpresso 开发工具。 这里我们推荐linux 上的freertos模拟器。 感谢GitHub - crazyskady/FreeRTOS_study: Study for FreeRTOShttps://github.com/crazyskady/FreeRTOS_study 贡献的代码, 我们把代码拉到本地 , 增加一个tmp 目录, 就可以顺利编译通过。下面就可以开启 freertos 之旅了。1.任务管理2..

2021-09-27 17:33:49 4452

原创 从零开始实现android的handler

Android 中handler 机制 概括起来需要三个步骤。Looper的准备工作,Looper.prepare()。 创建handler。 Looper开始运作,Looper.loop()。我们要实现handler 的机制,先从

2021-05-31 10:39:11 239 1

原创 用c语言实现android 的handler

所谓的同步并不是多个线程同时对内存进行访问,而是按照先后顺序依次进行的。线程同步的经典模型是生产者和消费者模型,读者写者问题,哲学家就餐问题。C语言实现的生产者和消费者模型#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <pthread.h>// 链表的节点struct Node{int number;str

2021-05-06 12:31:49 260

原创 Android 4G模块调试总结

4G模块调试总结 最近调试4G模块,在android 9 源码上调通 打电话,上网,发短信等功能。除了要整合驱动,也看了下android 的源码流程。下面这两张图 很详细,作者是花了心思整理的。一、拨号流程时序图:二、来电流程时序图参考 :https://www.jianshu.com/p/cfe9de14ed52...

2020-08-22 10:06:29 3004

原创 Android系统RTC调试从驱动到应用(二)

软件开发平台:android P 源码。硬件开发平台:nxp imx8m mini开发板,RTC 型号8025T。本文记录在nxp 8m mini 硬件平台, android P 源码的软件平台上调试RTC8025T驱动,RTC的framework 层android 已经写好了即 AlarmManagerService , APP 应用层通过((AlarmManager)mContext.getSystemService(Context.ALARM_SERVICE)) 提供的接口来读取和设置 RTC 。

2020-05-16 18:31:03 605

原创 Android系统RTC调试从驱动到应用(一)

Android系统RTC调试从驱动到应用软件开发平台:android P 源码。硬件开发平台:nxp imx8m mini开发板,RTC 型号8025T。本文记录在nxp 8m mini 硬件平台, android P 源码的软件平台上调试RTC8025T驱动,RTC的framework 层android 已经写好了即 AlarmManagerService , APP 应用层通过((AlarmManager)mContext.getSystemService(Context.ALARM_SERVI

2020-05-16 18:23:17 1941

原创 Android系统韦根调试从驱动到应用(三)

Android系统韦根调试从驱动到应用软件开发平台:android P 源码。硬件开发平台:nxp imx8m mini开发板。本文记录在nxp 8m mini 硬件平台, androidP 源码的软件平台上调试韦根驱动,增加韦根的framework 层,并能在APP 应用层 获取韦根数据的流程。三.韦根应用层调试Framework层发出广播后,应用层要做的事情就简单了。在APP 增加一个BroadcastReceiver。<receiver android:name=".Wieg

2020-05-14 12:14:39 816

原创 Android系统韦根调试从驱动到应用(二)

Android系统韦根调试从驱动到应用软件开发平台:android P 源码。硬件开发平台:nxp imx8m mini开发板。本文记录在nxp 8m mini 硬件平台, androidP 源码的软件平台上调试韦根驱动,增加韦根的framework 层,并能在APP 应用层 获取韦根数据的流程。二.韦根Framework 层调试作为APP开发者是不需要知道驱动是如何工作的,只需要在读卡器贴卡时能得到卡号就可以了。上面我们完成了驱动的开发,那怎么上报给APP开发者呢, 就需要framework 这

2020-05-14 12:11:12 1118

原创 Android系统韦根调试从驱动到应用(一)

Android系统韦根调试从驱动到应用软件开发平台:android P 源码。硬件开发平台:nxp imx8m mini开发板。本文记录在nxp 8m mini 硬件平台, androidP 源码的软件平台上调试韦根驱动,增加韦根的framework 层,并能在APP 应用层 获取韦根数据的流程。一.韦根驱动调试硬件设计可以将Wiegand接口的Data0和Data1两个输出接到MCU的两个IO脚上,采用查询的方式接收数据,但这样接收并不可靠。比较好的方法是将Data0和Data1接到MCU的两

2020-05-14 12:01:33 2461

原创 QT 仿android launcher

QT 在嵌入式设备的图形界面开发上用的比较多,现在的嵌入式设备主流用的是android,QT的桌面又没有android那么好用,最近在做QT 的一些项目,于是想先用QT仿一个android 的luancher。整体思路分两步来实现,一是布局,二是事件响应。一.布局1. 参考android launcher setContentView(launcher.xml)的设置流程,先创建...

2018-07-23 19:33:18 1721 1

原创 About Me

About Me

2015-09-19 12:55:03 470

设计模式之禅完整版

设计模式之禅完整版 一线工程师心血之作,架构师进阶必读。

2018-04-27

android内核剖析

android 内核剖析完整版 柯元旦著 基于android2.3 深入剖析android 内核

2016-01-13

gnu makefile

makefile中文版详细讲述makefile编写方法

2013-08-17

AChartEngine1.1.0版本 好用的安卓报表制作库

android下最好用的报表制作工具,包含库,实例源代码,开发文档。

2013-08-16

ARM体系结构与编程

ARM体系结构与编程 杜春雷 . pdf

2013-03-15

硬件的使用与驱动开发入门

硬件的使用与驱动开发入门,详细解释驱动工作原理

2012-10-06

经典的MMI富贵教材

经典的mtk文档,MTK著名编写者倾心力作

2010-09-02

空空如也

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

TA关注的人

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