发现好内容
检索全部订阅源文章 · 更新于 2026-10-28 18:49
Android源码分析: 应用启动安装ContentProvider分析
ContentProvider是Android应用开发的四大组件之一,并且源码相对于其他几个也是比较简单的。因此我们先来看看它的源码。ContentProvider的使用我们会涉及到外部程序调用应用的ContentProvider来查询数据,也有监听数据的变化,以及ContentProvider的安装。我们先来看安装部分的源码。 ContentProvider根据它的名字就知道,他是一个内容提供者,它提供了整删改查的接口,方便Android应用跨应用跨进程的数据共享,在Android系统中,相册,通讯录等等都是通过ContentProvider来共享数据让其他应用可以使用。看源码,我们需要关注
Android源码分析:ClientTransaction分析
分析Android Activity的启动过程,发现Android 在Android9.0中引入了ClientTransaction这一系列的对象,来简化system_server与App进程中处理Activity启动相关的任务。这里就来分析一下。 在服务端(system_server进程)主要有上面这些类,我们首先需要关注的就是ClientTransaction类,这个类在使用的时候主要是有以下几个成员: 1 2 3 4 private List mActivityCallbacks; private ActivityLifecycleItem mLifecycleStateRequest;
博客主题装修更新记录
现在版本的博客是三年前搭建hugo程序的时候选择的hello-friends主题,用着没啥问题,但是一直想要做点改变,最近就动手干起来了。新主题基于PaperMod,更多更新如下。 首先换了个主题,主要是因为之前的主题用到了yarn编译,每次换电脑都要重新装一下node,npm,主题好久没有修改了,新装npm的时候居然给我报错,索性就直接换一个theme。挑选了一下PaperMod比较符合我的胃口,这个theme比较简洁,没有使用第三方的js,css预编译工具,使用了hugo去做js和css的预编译。 为了与众不同,这次为我这个修改版本的主题起了个名字“Zen“。主题的基础框架来自PaperM
莫干山避暑玩水之旅
最近天气一直比较热,几天之前朋友就约了一起周末去莫干山鱼鳞坝玩水。周末早上便一起驾车前往,开启两天的玩水之旅。 第一天上午驾车前往,大约中午十二点钟到达四合村,猜想鱼鳞坝应该会有很多人,便在这里停下来的,花了十块钱把车停到村民家里。随后便拿出天幕,露营椅,在水边搭好方便遮阳。因为也没有带泳衣,我和小朋友一起都脱的只剩内裤下水游玩,同行的家属则在天幕下歇息。 这里的水深度还可以,有适合小朋友游玩的浅水,也有适合大人游泳的深水区,就是水面上没有树荫比较热,另外水中水草较多,水不太清澈。但是这一切都不能阻挡小朋友们玩水的热情。 在附近想要找到吃饭的店也没有,便在河边的小店花了30多元买了几个山寨可爱
7月小记-可能是破财消灾吧
七月即将结束,就在动笔前,一次爆胎为这个月定了调。这个月梅雨刚走,又来高温,除了上半个月出去玩了一趟,后面基本就在家待着,靠空调续命。 游玩 月初带着老婆小孩到山东玩了一趟,沿着沈海公路北上,经过日照,青岛,威海,烟台,一路上看海玩水,大人小孩都开心,山东半岛的海鲜价格也还比较实惠,吃的也很爽。具体可以看之前的博客文章👈。 回上海之后,就开始一直高温,便一直待在家里。周末去了一次浦东的金海湿地公园,去时阴天,到了却是大晴天,热的全身出汗,待了一会便大道回家了。 车损 这个月可谓是运势不佳,月初去山东玩,在海边倒车撞上了渔船的螺旋桨,因为报案问题,保险又不全赔,4s店给解决了,好奇的可以看之前的
记录再次编译Android系统的坑
之前已经多次编译过Android系统的代码,但是一直没有静下来去阅读Android源代码。最近不太忙,决定开始好好读读系统源码。这篇文章作为开篇,先记录把Android系统编译出来,并且把源码阅读的环境准备好。 首先介绍一下,这次使用的是Ubuntu22.0.4 LTS版本,起初准备使用虚拟机安装,但是映射虚拟硬盘老是出问题,还是直接搞上了Windows & Ubuntu双系统,Ubuntu安装到移动硬盘里面,插上移动硬盘就能用Ubuntu,拔掉还能使用Windows系统。为什么要用移动硬盘,因为官方说了至少要留400G空间给源码和编译所需,不过我最后测下来300G也是够的。 为什么选择Ubu
记第一次事故车险出险
提车接近一年,月初刚刚带着家人一起去山东自驾,路上自己倒车撞到渔船螺旋桨把后挡风玻璃撞碎了,才有了这次出险记录,也是人生第一次车险出险,有损失,也长记性。 平时小擦小碰都当没看到,之前一次自己把底漆都刮掉了,就自己用补漆笔补一补完事。这样做也都是担心第二年保险涨价,车友群里保险涨价的不在少数,新能源车保险价格又比较贵,而我上个月续保也是因为有违章保险未降价。因此撞到后第一时间没有想着去报案,而是联系了当地的维修店。到店了解到需要订货便联系了上海的小鹏服务中心,问了报价之后觉得还是要走保险,但是啥也没做。 在第二天回上海途中,小鹏之前联系的售后告知需要先到保险公司报案,然后就照做了,但是分配的查
想去海边-山东半岛自驾游
小朋友放暑假了,工作也不忙,而梅雨季的上海天天都在下雨,就想要来一次说走就走的旅行,奈何一家三口都病了,直到小朋友挂完三天点滴差不多好了,终于启程了。这一次简单的构思了一下目标就是一路往北跑,沿着海岸线玩水。 Day 1 日照万平口海水浴场 提前一天已经把车子送到了服务中心,把座椅通风异响和空调风道弄了一下。早上从上海的家里启程,在服务区吃个午饭充个电,下午到达日照。往海水浴场去的路上吃了此行的第一顿海鲜大餐,团购的2-3人餐,只要150,应该算是这一程最便宜的一顿了,三个人把一锅的蒸汽海鲜加上鲈鱼吃完,鲅鱼水饺和疙瘩汤就只能尝一尝味道了。随后便驾车前往海水浴场,玩到天黑透,小朋友仍然不愿意回
六月小记
不知不觉,六月已到月底,2024年已经过半。工作上无所事事,又是摸鱼的一个月,博客也没有写一篇,想着还是要记一点东西,不然就这样又苟过一个月,又没有留下任何的记忆。 手术 手术实际上是五月底所做,做的是卵圆孔闭合手术。发现卵圆孔未闭合的原因是一直有头痛的症状,发现了上海六院有一个头痛整合门诊,结果查到了别的都没有问题,唯独卵圆孔未闭合,很有可能就是因此引起的头痛,遂进行了该手术。因为是微创手术,回家一个多星期伤口差不多就回复了,正常生活没啥影响。但是现在是夏天,术后严禁烟酒,不能喝啤酒就太难受了,只好各种法子的气泡水加冰加饮料折腾喝。另外就是不能剧烈运动,这段时间一直在家窝着,也不太敢开车出门
向伟人学习-读《富兰克林自传》
最近Apple Tv上映了《富兰克林》,想到了《富兰克林自传》这本经典书还没看过,遂找到来读。书的内容大体上记述了他少年,青年,中年,以及到50多岁的事情。书的内容很好,很有启发,也有很多他的个人品质值得我们学习,看了一遍恐难以很好的对他有所了解,第二遍读完方才动笔开始写读书笔记。 生平简介 恐怕有人对富兰克林不了解,我这里简单介绍一下。他出生在一个普通人家里,父亲移民到美洲后生下他,他年少就作为一个印刷工,后来自己开办印刷所,同时发行报纸等,在殖民地他积极参与议会并担任职位,后期参与推动了美国独立,他积极投身于公共事业,提议创建了消防队,巡查队,参与创建图书馆,建立宾夕法尼亚大学等等。空闲时
一个Android开发者的Google IO 2024信息汇总
AI和大模型很火,今年的google io上面感觉各个方向都和AI有关,Android平台相关的东西倒是感觉不太多了。我这里整理一下Android相关的信息。Android主要就是Android 15的发布,以及jetpack compose的更新和google play的一些更新。 AI与Android Android 14开始手机会内置Gemini Nano,开发者可以通过AI Core来调用AI的能力,目前是google pixel 8 pro和三星的s24已经内置了。除了端上,开发这还可以使用Firebase新提供的一些能力使用AI模型。 对于开发者来说,除了开发应用提供AI能力给用户
看皖南山水-皖南川藏线及查济桃花潭自驾游
皖南常去,但是很多景点一直没去过,特别是皖南川藏线和查济古镇一直心心念念了好久了,这次趁着五一自驾转了一圈。因为遇到下雨,此次行程耗时三天,很多地方匆匆而过,因为而且还没到玩水季节途中的很多漂流景点也未开放。一路山看山看水,看古镇,整体体验也还不错。 Day1 上海出发从宁国下高速,一路还比较通畅,两个多小时就到啦。给车子充满电,去网友推荐的餐厅吃个饭,就驶向皖南川藏线的东入口了。 第一站去了储家滩,路的一边是山一边是河,风景不错。第二站到达青龙湾观湖驿站,有一个看湖的观景台。山上的惠云禅寺是观青龙湖的好地方,但是考虑到绕一下可能看不到日落就没过去了。 再往后走到了落羽杉观景点,有一个观景台需
记国产手机无法在Chrome使用Passkey问题解决
众所周知,在国产Android系统上面,Google play service是被阉割掉的。部分厂商提供了打开google play service的选项,让我们可以登录google 账号,使用Google play store,以及部分的Google 云服务,但是Google password manager以及Credential Api确是没有的。在Android手机上面,Passkey是依赖于GMS和 Credential Manager API的,因此,国行手机上面也就没法使用passkeykey。不过使用Chrome浏览器的话,还是能够使用Passkey的,这是因为Chrome提供
我的个人密码存储与管理
作为一个网民,使用每个服务都需要注册账号,而注册账号就需要设置用户名和密码。在早期,我会将所有的密码都设置成相同的,这样方便自己记忆,每次输入密码也都很方便。 很久之前的一个同事,他会将自己的所有密码都记在一个小本本上。彼时,一些使用iPhone的朋友已经开始使用1Password来存储自己的密码了。而我,作为一个坚定的Android用户,此时还没有使用过任何的密码管理软件的。 直到某一天,Chrome提醒我我的密码已经泄露不安全了。此时便开始研究适合我的密码管理软件。 最终选择了Keepass作为我的密码管理软件。 经过几年的使用,使用的软件终于稳定下来了,在此分享一下。 目前我需要查看软件