- 博客(56)
- 资源 (1)
- 收藏
- 关注
原创 【鸿蒙开发基础学习】创建列表(List)
设置内容间距在初始化列表时,如需在列表项之间添加间距,可以使用space参数。例如,在每个列表项之间沿主轴方向添加 10vp 的间距://...添加分隔线分隔线用来将界面元素隔开,使单个元素更加容易识别。List提供了divider属性用于给列表项之间添加分隔线。在设置divider属性时,可以通过和color属性设置分隔线的粗细和颜色。和endMargin属性分别用于设置分隔线距离列表侧边起始端的距离和距离列表侧边结束端的距离。
2024-08-16 14:49:13
845
2
原创 【鸿蒙开发基础学习】动态import
应用开发的有些场景中,如果希望根据条件导入模块或者按需导入模块,可以使用动态导入代替静态导入。当静态导入的模块很明显的降低了代码的加载速度且被使用的可能性很低,或者并不需要马上使用它。当静态导入的模块很明显的占用了大量的系统内存且被使用的可能性很低。当被导入的模块,在加载时并不存在,需要异步获取。当被导入的模块说明符,需要动态构建。(静态导入只能使用静态说明符)当被导入的模块有副作用(这里的副作用,可以理解为模块中会直接运行的代码),这些副作用只有在触发了某些条件才被需要时。
2024-08-10 15:01:59
1203
原创 【鸿蒙开发基础学习】TS到ArkTS适配指导
ArkTS提供了语言运行时相关能力ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,保持了TS的基本风格,同时通过规范定义强化开发期静态检查和分析,提升程序执行稳定性和性能。特别注意:尤其是学过鸿蒙4.0的,Next版本极大增强了TS语言中动态类型的限制,几乎不再支持动态类型从API version 10开始,ArkTS进一步通过规范强化静态检查和分析,对比标准TS的差异可以参考。
2024-08-10 14:46:53
1366
原创 【鸿蒙开发基础学习】TaskPool 和 Worker 的对比
由于 TaskPool 的工作线程会绑定系统的调度优先级,并且支持负载均衡(自动扩缩容),而 Worker 需要开发者自行创建,存在创建耗时以及不支持设置调度优先级,故在性能方面使用 TaskPool 会优于 Worker,因此大多数场景推荐使用 TaskPool。可以有效地避免这些任务阻塞主线程,从而最大化系统的利用率,降低整体资源消耗,并提高系统的整体性能。TaskPool 偏向独立任务维度,该任务在线程中执行,无需关注线程的生命周期,超长任务(大于 3 分钟且非长时任务)会被系统自动回收;
2024-08-09 20:45:25
549
原创 【鸿蒙开发基础学习】组件导航 (Navigation)
Navigation 通过 customNavContentTransition 事件提供自定义转场动画的能力,通过如下三步可以定义一个自定义的转场动画。
2024-08-09 20:29:42
1896
原创 【鸿蒙开发基础学习】UIAbility 组件与 UI 的数据同步
基于当前的应用模型,可以通过以下几种方式来实现 UIAbility 组件与 UI 之间的数据同步。
2024-08-08 21:11:52
486
原创 【鸿蒙开发基础学习】UIAbility 组件生命周期
当用户打开、切换和返回到对应应用时,应用中的 UIAbility 实例会在其生命周期的不同状态之间转换。UIAbility 类提供了一系列回调,通过这些回调可以知道当前 UIAbility 实例的某个状态发生改变,会经过 UIAbility 实例的创建和销毁,或者 UIAbility 实例发生了前后台的状态切换。UIAbility 的生命周期包括 Create、Foreground、Background、Destroy 四个状态,如下图所示。
2024-08-07 21:21:30
1065
原创 【鸿蒙开发基础学习】HSP-应用程序包开发与使用
HSP(Harmony Shared Package)是动态共享包,可以包含代码、C++库、资源和配置文件,通过HSP可以实现代码和资源的共享。HSP不支持独立发布,而是跟随其宿主应用的APP包一起发布,与宿主应用同进程,具有相同的包名和生命周期。
2024-08-07 16:32:48
2123
原创 【鸿蒙开发基础学习】HAR-应用程序包开发与使用
如果在 AppScope/HAP 模块/HAR 模块的国际化目录中配置了资源,在相同的国际化限定词下,合并的优先级也遵循上述规则。如:在 AppScope 的 base 中配置了资源字段,在 HAR 模块的 en_US 中配置了同样的资源字段,则在 en_US 的使用场景中,会更优先使用 HAR 模块中配置的资源字段。介绍如何导出 HAR 的 ArkUI 组件、接口、资源,供其他应用或当前应用的其他模块引用。:引用 HAR 前,需要先配置对 HAR 的依赖,详见引用 HAR 文件和资源。
2024-08-06 21:18:16
1083
原创 【鸿蒙开发基础学习】Stage模型应用程序包结构
在DevEco Studio上创建一个项目工程,并尝试创建多个不同类型的Module。根据实际工程中的目录对照本文章进行学习,可以有助于理解开发态的应用程序结构。
2024-08-06 11:09:11
1023
原创 HarmonyOS应用开发知识地图
基于开发者任务旅程的知识地图,聚合开发指南、Codelabs、示例代码、API参考、常见问题、视频教程等官方套件,帮助开发者一站式便捷获取信息。
2024-08-05 15:54:56
2375
原创 HarmonyOS鸿蒙开发学习:鸿蒙基础-基础环境-ArkTS-组件-样式
下载对应的版本API12 的编辑器API12的模拟器(mac英特尔安装API11)解压编辑器版本将左侧内容拖入点击打开新建一个路径 HarmonyOS-SDK将资源下载包中的sdk的内容进行解压,放入到刚刚新建的目录将设置中的安装路径改变成新建的目录,最终点击确认,sdk就安装好了打开原有项目发现一个配置文件的依赖,线上没有提供云下载地址,只能采用离线的版本 。hvigor下载资源包中,还有提供一个dependencies, 这就是我们需要替换的版本internal-plugin-S
2024-08-05 10:49:53
1675
原创 安卓BLE开发介绍
跟经典蓝牙(BR/EDR)对比,BLE可以实现功更低耗、但带宽更小;例如未建立连接时,BLE 会处于睡眠模式。蓝牙芯片分单模和双模,其中双模是指同时支持BR/EDR和BLE(一般是共享一个天线、芯片在运行时切换模式)。安卓设备上,蓝牙是作为标配功能(OS 4.3及以上是双模芯片),因此潜在用户市场很大。
2022-11-03 09:56:56
1546
原创 小程序-蓝牙API Mock文档
为了让开发者更方便地开发小程序,开发者工具提供了 API Mock 的能力,可以模拟部分 API 的调用结果。Mock 的入口在工具调试面板顶部的 Tab,点 + 新建规则。(超过此版本,Mock不生效)小程序调试基础库要设置为。
2022-10-31 17:18:04
597
原创 AlarmManager-闹钟服务
AlarmManager-闹钟服务AlarmManager简介在特定的时刻为我们广播一个指定的Intent,简单来说就是我们自己定一个时间,然后到时间时, AlarmManager会为我们广播一个我们设定好的Intent,比如指向某个Activity或者Service。获得AlarmManager实例AlarmManager alarmManager = (AlarmManager) contex
2017-10-21 11:46:47
529
原创 Java中日期与时间相关类用法解析
Java中日期与时间相关类用法解析Date类Date类主要用来获取当前的日期与时间//当前的日期和时间Date date = new Date();//从1970年1月1日算起过了6000秒的日期和时间Date date2 = new Date(60000);//获取当前的时间戳(自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数)long currentTimeMi
2017-10-21 11:45:34
571
原创 Android App 开发技能图谱
Android App 开发技能图谱操作系统Windows/MacOSX/Linux编程语言JavaHTML/JS (Hybrid/Web App)C/C++ (NDK)SQL (DB)Kotlin开发工具IDEAndroid StudioEclipse调试工具网络调试CharlesWiresharkFiddlertcpdumpPaw/Postman内存分析monit
2017-08-14 15:13:28
1133
转载 Git 分支管理最佳实践
Git 是目前最流行的源代码管理工具。大量的软件项目由 GitHub、Bitbucket 和 GitLab 这样的云服务平台或是私有的 Git 仓库来管理。在使用 Git 时通常会遇到的一个问题是采用何种分支管理实践,即如何管理仓库中作用不同的各类分支。和软件开发中的其他实践一样,Git 分支管理并没有普遍适用的最佳做法,而只有对每个团队和项目而言最适合的做法。简单来说,在项目开发中使用多个分支会
2017-08-03 19:25:33
453
转载 在大公司工作3年以上的人,如何摆脱螺丝钉的现实?
在大公司工作时间长了,有人慢慢觉得自己就像螺丝钉,饿也饿不死,总感觉在慢慢废弃。因为在大公司,一切都需要协作,所以分工会越来越细,每个人都干一小块领域,这种运作模式对于公司的价值是最大化的,因为理论上每个人聚焦自己最擅长的地方,这样能够发挥的价值是最大的。大公司是目标驱动,小公司是单兵作战,目标驱动就是会很多人来做这么一件事情。不同的人负责不同领域,每个人通过自己的能力和经验,将自己所负责的岗位实现
2017-06-14 10:21:03
2126
转载 Android卡顿检测方案
应用的流畅度最直接的影响了App的用户体验,轻微的卡顿有时导致用户的界面操作需要等待一两秒钟才能生效,严重的卡顿则导致系统直接弹出ANR的提示窗口,让用户选择要继续等待还是关闭应用。 所以,如果想要提升用户体验,就需要尽量避免卡顿的产生,否则用户经历几次类似场景之后,只会动动手指卸载应用,再顺手到应用商店给个差评。关于卡顿的分析方案,已经有以下两种:分析trace文件。通过分析系统的/dat
2017-06-05 11:24:27
439
原创 MAT使用
MAT使用下载:http://eclipse.org/mat/downloads.phpMAT工具全称为Memory Analyzer Tool,一款详细分析Java堆内存的工具,该工具非常强大,为了使用该工具,我们需要hprof文件。但是该文件不能直接被MAT使用,需要进行一步转化,可以使用hprof-conv命令来转化,但是Android Studio可以直接转化,转化方法如下:1.选择一个hp
2017-05-25 16:45:05
412
原创 TraceView工具(Device Monitor)介绍
TraceView工具能做什么?从代码层面分析性能问题,针对每个方法来分析,比如当我们发现我们的应用出现卡顿的时候,我们可以来分析出现卡顿时在方法的调用上有没有很耗时的操作,关注以下两个问题:调用次数不多,但是每一次执行都很耗时方法耗时不大,但是调用次数太多简单一点来说就是我们能找到频繁被调用的方法,也能找到执行非常耗时的方法,前者可能会造成Cpu频繁调用,手机发烫的问题,后者就是卡顿的问题。
2017-05-17 14:38:54
554
原创 Android蓝牙开发的各种坑
一、对蓝牙设备的操作不能并行,只能串行,即每次都要在收到上一个操作的回调后才能继续下一个操作。但是断开连接例外,断开连接要马上closeGatt,不用等任务队列中的其他操作了。而且要给所有正在执行或者准备执行的任务都cancel。二、有时候蓝牙协议栈出现异常可能收不到回调,所以我们要对每个操作做超时检查,否则后面的所有操作都被阻塞了。三、对于超时的任务,最好closeGatt,下次重新连接的时候重开
2017-04-06 21:21:59
14196
5
原创 Android布局优化
安卓布局优化 在进行Android应用的界面编写时,如果创建的布局层次结构比较复杂,View树嵌套的层次比较深,那么将会使得界面展现的时间比较长,导致应用运行起来越来越慢。Android布局的优化是实现应用响应灵敏的基础。遵循一些通用的编码准则有利于实现这个目标。include 标签共享布局 在使用XML文件编写Android应用的界面时,经常会遇到在不同的页面中需要实现相同的布局
2017-03-30 17:19:55
484
原创 布局优化
布局优化 在进行Android应用的界面编写时,如果创建的布局层次结构比较复杂,View树嵌套的层次比较深,那么将会使得界面展现的时间比较长,导致应用运行起来越来越慢。Android布局的优化是实现应用响应灵敏的基础。遵循一些通用的编码准则有利于实现这个目标。include 标签共享布局 在使用XML文件编写Android应用的界面时,经常会遇到在不同的页面中需要实现相同的布局,这
2017-03-04 16:59:02
516
原创 在Mac上搭建React Native开发环境(iOS && Android)
一、配置iOS开发环境①基本环境需求1.先安装Homebrew:用于安装NodeJS和其他工具必须的$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 如上图,出现“Press RETURN to continue or any other key
2016-05-16 11:48:08
10992
转载 iOS开源库和完整应用
youtube下载神器:https://github.com/rg3/youtube-dl我擦咧vim插件:https://github.com/Valloric/YouCompleteMevim插件配置:https://github.com/spf13/spf13-vim----------------Mac完整项目----------电台:https://githu
2015-10-08 17:35:18
1562
转载 iOS 9: UIStackView入门
同iOS以往每个迭代一样,iOS 9带来了很多新特性。UIKit框架每个版本都在改变,而在iOS 9比较特别的是UIStackView,它将从根本上改变开发者在iOS上创建用户界面的方式。本文将带你学习怎样使用UIStackView创建用户界面。本文假定你已经熟悉Auto Layout基础。不熟悉的可以先看看Auto Layout教程。要理解Stack View为何如此有用
2015-10-08 17:33:12
404
转载 升级Xcode7后所要更改的配置
此文转载自:http://www.tekuba.net/program/364/,文章内容竟然不让复制,好辛苦. iOS9 一发布便升级,隔天调试程序时已经不能使用Xcode 6.4,果断升级,升级之后先报了一个错,bitcode,以为要升级所用sdk,但是还是2个月前的版本,搜到这篇文章,给需要的小伙伴们, 之所以不喜欢用转载,万一有天原博主删除文章,我便也找不到原文,还请谅解;正文如下
2015-09-24 14:37:27
848
原创 iOS中UIMenuController的使用
不知你有没有发现,在你的微信朋友中,长按一段文字(正文或者评论),会弹出这样子的玩意: 这玩意很眼熟是吧?没错,你经常见到它,在很多iOS系统应用中,你想复制一段文字到另一处粘贴,你只要长按一下,这玩意就出来了。既然iOS自家的app中都有这个,那么它一定有封装的控件吧,以前我不知道他到底叫什么,后来公司的项目中要用到这玩意了,当时打算自己实现,还叫设计MM切了图,囧,但是在百度上
2015-03-25 14:57:10
1021
原创 学会使用Block编程
1.Block是什么?Block是一个C级别的语法以及运行时的一个特性,和标准C中的函数(函数指针)类似,可以看成一个语句块或者更多时候看成一个匿名函数。
2015-02-27 12:01:09
1660
原创 Xcode Debug之添加断点
1.添加全局断点(Add Exception Breakpoint)通过添加全局断点,可以快速定位导致程序奔溃所在的代码行。 在Xcode 中找到Breakpoint navigator(也可以通过快捷键command + 7跳转),在最下面点击加号,第一个就是:
2015-02-26 14:46:56
2164
转载 最新版SDWebImage的使用
我之前写过一篇博客,介绍缓存处理的三种方式,其中最难,最麻烦,最占内存资源的还是图片缓存,最近做的项目有大量的图片处理,还是采用了SDWebImage来处理,但是发现之前封装好的代码报错了。研究发现,是我用了新版的SDWebImage,好多方法都变了。现在把代码贴出来,供大家参考。尤其是新手,看完这篇博客,图片缓存so easy。最后有demo供大家下载,先学习。第一步,下载SDW
2014-12-12 15:33:18
861
原创 使用Auto Layout中的VFL(Visual format language)--Swift实现
class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() var aView = UIView() aView.backgroundColor = UIColor.redColor()
2014-12-10 15:04:17
2572
转载 使用Auto Layout中的VFL(Visual format language)--代码实现自动布局
本文将通过简单的UI来说明如何用VFL来实现自动布局。在自动布局的时候避免不了使用代码来加以优化以及根据内容来实现不同的UI。一:API介绍NSLayoutConstraint API1234NSLayoutConstraint+ (NSArray *)constraintsWithVi
2014-12-09 14:21:01
640
原创 json是什么?
JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度,那么,JSON到底是什么?JSON就是一串字符串 只不过元素会使用特定的符号标注。{} 双括号表示对象[] 中括号表示数组"" 双引号内是属性或值: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)所以 {"na
2014-11-27 11:41:29
668
Java面试题及答案整理(2022最新版) 持续更新
2023-01-14
java mysql仓库管理系统源码+论文+课程报告
2023-01-13
Python爬虫入门教程:超级简单的Python爬虫教程
2023-01-13
计算机课程设计题目PPT
2022-12-16
元旦倒计时代码(HTML)
2022-12-09
DirectX修复工具V4.2标准版
2022-11-30
DirectX修复工具V4.2增强版
2022-11-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人