登录社区云,与社区用户共同成长
邀请您加入社区
鸿蒙网络层收敛实战:http 模块与 RCP 选型对比、单例 Session 加拦截器统一 token 与错误模型、连接/传输超时分开预算与幂等才自动重试的弱网策略,附 fd 泄漏、明文 HTTP 默认不通、证书校验三条踩坑。
鸿蒙权限体系实战:system_grant 与 user_grant 分级、场景化申请时机与 reason 话术、拒绝后再问/引导设置/功能降级的三岔路处理,附声明与申请两头配平、审核话术驳回、ACL 门槛权限三条踩坑。
Windows环境下使用svn对AndroidStudio更新代码时,总会在源文件中出现一堆乱码,尤其是xml文件中的乱码,不仅找起来费劲,改起来更费劲。最近从svn更新代码之后,编译时出现了下面这个提示,而且AS中没有错误提示,这可真是捉急了。databindingerror:Execution failed for task ':app:dataBindingProcessLayou...
长列表性能优化全记录:Profiler 定量定位超时帧在列表项创建瞬间、LazyForEach 按需创建与稳定键值/cachedCount 细节、@Reusable 组件复用的脏数据对照测试,附短列表不值得优化与列表项本身要轻两条边界,收束系列第一阶段。
数据持久化选型实践:数据按形状分三类(键值配置/结构化业务/文件)各归其位、Preferences 的 flush 脾气与三条纪律、RelationalStore 建 DAO 层的异步优先与升级路径两条规矩,附结果集泄漏、事务批量写、卸载即清三条踩坑。
一多适配实战:按窗口宽度而非设备型号建断点心智、GridRow/GridCol 栅格让列表自然分栏、尺寸/组件/结构三类形态差异处理(悬停态属渐进增强),附硬编码宽度、断点切换状态丢失、假一多判断标准三条踩坑。
本文详解HarmonyOS应用签名配置的四个文件(.cer、.csr、.p12、.p7b)作用及生成逻辑,揭示构建仅引用三者而忽略.csr的原因。强调配置中密码为加密串不可手动修改,需通过重新生成更换。指出配签前必须连接设备以创建Profile,且新建工程时需勾选目标设备类型(如平板、车机)。提醒签名文件存于用户目录,换机需重配,禁止提交.ohos目录至仓库。核心建议:先连设备、再配签,确保设备类
桌面卡片从零到上屏的完整实录:从把卡片当小窗口白板翻车,到建立快照/四角色/formId 存删三组心智模型,定时与主动两条刷新路的配额现实,postCardAction 三种交互选型,2×2 与 2×4 双规格设计,附白板排障流程图与上线自查清单,全程八图复盘。
UIAbility 生命周期实战:onCreate/onNewWant 的冷热启动参数分界、launchType 三档与单例二次拉起行为、router 与 Navigation 路由栈选型对比与传参写法,附路由表未注册白屏、后台被杀状态丢失等三条踩坑。
食材百科不只是把几十条文案放进卡片。用户真正的路径通常是:先判断“大虾属于哪一类”,再搜索名称或营养关键词,最后进入详情核对选购和储存方法。如果分类、检索与路由各自维护一套数据,功能一多就会出现索引错位、重复 key、详情参数失效和空态含义不清等问题。 本文基于“健康菜谱助手”1.0.5 的真实 HarmonyOS ArkTS 工程展开。 IngredientWikiPage.ets 当前内置蔬菜
营养页很容易做成四条彩色进度条:热量、蛋白质、脂肪、碳水各算一个平均值,再把结果除以固定目标。这样的界面看起来完整,但只要追问三个问题,数据口径就可能站不住:页面里的“本周”从哪一天开始?同一道菜做了两次是否应该算两餐?600 kcal 与 25 g 蛋白质究竟是健康建议、产品参考线,还是某个用户的个性化目标? 本文基于“健康菜谱助手”1.0.5 的真实 HarmonyOS ArkTS 工程展开。
烹饪计时器看起来只是每秒减一,但它比普通数字动画更接近一个时间系统。用户会同时煮鸡蛋、炖排骨和蒸鱼;计时期间可能锁屏、切到菜谱步骤页、暂停某一个任务,或者在应用后台时到期。只依赖页面中的 setInterval ,界面在前台短时间演示通常正常,一旦经历调度延迟和页面生命周期,剩余时间就可能漂移、冻结或丢失。 本文基于“健康菜谱助手”1.0.5 的真实 HarmonyOS ArkTS 工程展开。 C
购物清单是菜谱应用中最容易被低估的功能。界面通常只有名称、用量、勾选和删除,看起来比菜谱详情简单得多;但一旦同一种食材来自多道菜、用户又能手动添加,系统就必须回答:鸡蛋和“土鸡蛋”是否相同、500 克与 2 斤如何合并、删除最后一项后是否保持空清单、勾选失败是否还能提示成功、从菜谱批量加入时如何保留来源。 本文基于“健康菜谱助手”1.0.5 的真实 HarmonyOS ArkTS 工程展开。 Sh
一周膳食计划看起来是一排星期标签和几张餐食卡片,真正难点却是“时间”和“引用”。周一究竟对应哪一天?切到下周后数据是否隔离?一顿午餐关联的是菜谱 ID,还是一段不可追踪的名称?替换菜品后热量概览是否同步?本地写入失败时,页面能否准确告诉用户? 本文基于“健康菜谱助手”1.0.5 的真实 HarmonyOS ArkTS 工程展开。 MealPlanPage.ets 已提供 7 天默认计划、工作日三餐
“冰箱里有鸡蛋和土豆,今天能做什么?”这是菜谱应用中非常实用的一类入口。它不要求用户先知道菜名,而是从已有食材反推候选菜谱。看起来只要把食材关键词和菜谱文本做一次匹配即可,真正落地时却会遇到数据覆盖、别名归一、主辅料权重、缺失食材解释、排序稳定性和空结果等问题。 本文基于“健康菜谱助手”1.0.5 的真实 HarmonyOS ArkTS 工程展开。 FridgeRecipePage.ets 已经提
菜谱详情页解决的是“做什么”,烹饪步骤页解决的则是“现在做到哪里、下一步是什么、退出后还能不能接着做”。对用户来说,切菜时锁屏、接电话后返回、误触上一页、切到步骤总览再回来都是正常行为;对工程来说,这些行为会同时触发路由、页面生命周期、状态恢复和语音资源管理。一旦只用一个 currentStep 临时变量支撑全部流程,页面看上去能翻页,却很难称为可靠的做饭模式。 本文基于“健康菜谱助手”1.0.5
菜谱详情页看起来只是“头图 + 标题 + 食材 + 做法”的长页面,实际却是健康菜谱应用中数据密度最高、状态交叉最多的页面。它需要同时回答:路由传入的是哪道菜、食材是否与菜谱一致、营养值按什么口径展示、收藏按钮是否与全局列表同步、进入做饭模式后何时记为“已做”、购物清单写盘失败时用户会看到什么。 本文基于“健康菜谱助手”1.0.5 的真实 ArkTS 工程展开。项目的 RECIPE LIST 有
HarmonyOS 应用进入 AppGallery Connect 后,最危险的状态不是页面上出现一个明显报错,而是每个页面看起来都填了内容,实际却引用了不同版本的证据。源码里已经是 1.0.5 ,版本页面仍选着旧包;主模块声明了平板与 2in1,应用信息里只保留手机;包内没有网络权限,隐私材料却沿用了另一个项目;开发者上传了新 APP,却没有在版本页面重新选中它。这些问题往往到预审或人工审核阶段
一个 HarmonyOS 工程里出现 src/test 、 ohosTest 和 Hypium 依赖,不代表核心功能已经受到测试保护。真正有效的回归用例必须能在需求变更后回答:冷启动是否恢复本地数据,空列表是否给出可理解反馈,未选择答案能否提交,连续点击会不会重复记分,参数运行期间是否还能被修改,收藏按钮是否误触整行导航。 本文基于 化学实验室 1.0.5 的真实 ArkTS 源码展开。工程已经依
权限与隐私检查最容易陷入两个误区:看到 module.json5 没有权限声明,就认为项目一定不存在隐私问题;或者写了一页很长的隐私政策,就认为代码行为已经被完整覆盖。真正可靠的结论必须同时核对能力声明、源码调用、本地数据、用户控制、应用内说明和发布材料。 本文基于 化学实验室 1.0.5 的真实 HarmonyOS ArkTS 工程。当前 entry/src/main/module.json5
在前一篇文章中,我们介绍了如何在Ubuntu上为Android系统编写Linux内核驱动程序。在这个名为hello的Linux内核驱动程序中,创建三个不同的文件节点来供用户空间访问,分别是传统的设备文件/dev/hello、proc系统文件/proc/hello和devfs系统属性文件/sys/class/hello/hello/val。进一步,还通过cat命令来直接访问/proc/h...
这里,我们不会为真实的硬件设备编写内核驱动程序。为了方便描述为Android系统编写内核驱动程序的过程,我们使用一个虚拟的硬件设备,这个设备只有一个4字节的寄存器,它可读可写。想起我们第一次学习程序语言时,都喜欢用“Hello, World”作为例子,这里,我们就把这个虚拟的设备命名为“hello”,而这个内核驱动程序也命名为hello驱动程序。其实,Android内核驱...
如下书本参考:嵌入式Linux应用开发和Linux设备驱动程序.在智能手机时代,每个品牌的手机都有自己的个性特点。正是依靠这种与众不同的个性来吸引用户,营造品牌凝聚力和用户忠城度,典型的代表非iphone莫属了。据统计,截止2011年5月,AppStore的应用软件数量达381062个,位居第一,而Android Market的应用软件数量达294738,紧随AppStore后...
[root@xiaolyu linux-4.7.2]# diff .config .config_bak 3c3< # Linux/x86_64 3.10.0-327.el7.x86_64 Kernel Configuration---> # Linux/x86 4.7.2 Kernel Configuration13d12< CONFIG_HAVE_LATENCYT...
每当学习到一定阶段自己觉得还行时,就会搜一些别人的文章。这篇文章是原作者14年3月写的。转过来与自己共勉。学习累了就换着学也挺好原文:现在回首看看,接触Linux已经很长时间了。 在大三的时候开始学习Java, 但是一直学Java的话, 感觉有点腻, 就尝试找点其他东西来学习。 所以当时就选择学习了Linux。 至于为什么要学习Linux, 有以下三个原因。一是我...
平台:Wind7_64 + Ubuntu12_04_64 + VMware这里以Android5.0为例:Android5.0 可以到这里下载:115网盘礼包码:5lbd7crtk1wzhttp://115.com/lb/5lbd7crtk1wzLinux_source_goldfish 可以到这里下载: 115网盘礼包码:5lbd76rru5orhtt...
现在做IT这一行最有前景的莫过于干互联网的,这行不论是在国外还是在我朝都是热门。其中移动互联网更被各大公司看做是未来互联网最有希望的领域。移动互联网催生了很多新兴的产业,使得相关的技术工程师炙手可热啊。读书的时候在一家外企实习有幸参加到一个机遇android平台的室内定位技术小组,项目主要是做一些基础的算法对传感器数据做数据融合后实现室内定位。由于算法比较基础,需要了解google在传感器数据..
本篇文章基于itop4412开发板5.3.2.1源码目录Linux 内核源码在光盘“06_源码_uboot 和 kernel”目录下,如下图所示。5.3.2.2 编译器内核的编译器和 uboot 的编译器一样,参考“5.3.1.2 编译器”。5.3.2.3 参数配置内核的编译是组合式配置文件,基本的配置文件名是“config_for_a...
1、内核版本由linux内核社区统一编码和发布,格式如下图:major.minor.patch-build.desc主版本号。次版本号。对次版本号的修订次数-编译次数。当前版本的特殊信息次版本号有奇数和偶数之分,奇数表示开发版,偶数表示稳定版desc:常见参数EL(Red Hat企业版Enterprise Linux)、pp(Red Hat测试版)、fc(Red Hat中...
昨天的某一个sensor的驱动,需要实现这样一个功能,就是在workqueue里面采集到五次数据之后再传给ioctl平均之后再传给上 层。所以在workqueue里面未采集到五次时,如果有app调用到ioctl对应的读数据的接口,那么只能阻塞一会儿等到workqueue那边采集 到五次之后平均再给ioctl这边,然后ioctl才能继续往下走平均之后再给上层。 那么这里刚好可以用...
原文网址:http://www.apkbus.com/android-98520-1-1.html前面几节都是将Linux驱动编译成模块,然后动态装载进行测试。动态装载驱动模块不会随着Android系统的启动而自动装载,因此Android系统每次启动都必须使用insmod或modprobe命令装载Linux驱动模块。 对于嵌入式系统(包括嵌入式Android、嵌入式Linux等)一般都采用将..
/********************************************************************************* @author暴走的小哥哥* @versionV1.0.0* @date2016-02-23@versionV1.0.1*@data2016-02-25...
说明:这里先给出一个比较的结果,作为记录,后续会给出内核配置差异的详细解释。[root@xiaolyu linux-4.7.2]# diff .config .config_bak 3c3< # Linux/x86_64 3.10.0-327.el7.x86_64 Kernel Configuration---> # Linux/x86 4.7.2 Kernel Configur...
1,系统调用的概念:是用户空间访问内核的唯一手段,系统调用依靠软件中断实现,每个系统调用被赋予一个系统调用号,用来指明要执行哪个系统调用。2,系统调用的实现:系统调用是通过软中端(SWI)实现的,SWI指令SWI指令的格式为:SWI{条件} 24位的立即数SWI指令用于产生软件中断,以便用户程序能调用操作系统的系统例程。操作系统在SWI的异常处理程序中提供相应的系统服务,指令中24位的立即数指..
想了解Linux内核的行为,需要一定的偷窥经验,大致可以分为以下几个: 1.使用printk 直接在内核代码或者模块代码的你想偷窥的地方printk一些信息。这种方式需要你会编译内核代码以及编译内核模块,以及将其正确安装进内核并启动之。虽然需要这么多知识,然而这种方式是比较土的。除非万不得已,一定有比这更加简单的方法。 2.查看dmesg 这种方式取决于内核会输出哪些信...
ARM体系架构与编程 优酷上的视频http://v.youku.com/v_playlist/f4148307o1p0.htmlLinux驱动学习方法和关键技术http://v.youku.com/v_show/id_XMTg1NzkxMDQw.htmlLinux内核 的视频http://v.youku.com/v_playlist/f3303826o1p0.html利用开发板学习Linux设备驱
点击打开链接一:wakeup_source简介: linux 3.4内核PM使用了wakeup_source来保持唤醒状态,也就是keep awake。之前android一直是基于Linux加入了wake_lock机制来阻止系统休眠,后来Linux 3.4内核加入了wakeup_source来管理,安卓4.4跟着升级内核也就摒弃了自己的臃肿的wake_lock机制,在对上层接口并不改变,...
一、相关历史1. Unix内核的特点简洁:仅提供系统调用并有一个非常明确的设计目的抽象:几乎所有东西都被当做文件可移植性:使用C语言编写,使得其在各种硬件体系架构面前都具备令人惊异的移植能力进程:创建迅速,一次执行保质保量地完成一个任务;独特的fork系统调用清晰的层次化结构:策略和机制分离的理念,简单的进程间通信元语把单一目的的程序方便地组合在一起2. 关于Linux内核...
在Android硬件抽象层(HAL)概要介绍和学习计划一文中,我们简要介绍了在Android系统为为硬件编写驱动程序的方法。简单来说,硬件驱动程序一方面分布在Linux内核中,另一方面分布在用户空间的硬件抽象层中。接着,在Ubuntu上为Android系统编写Linux内核驱动程序一 文中举例子说明了如何在Linux内核编写驱动程序。在这一篇文章中,我们将继续介绍Android系统硬件...
移动开发
——移动开发
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net