- 博客(48)
- 资源 (3)
- 收藏
- 关注
原创 中级5 给应用添加通知和提醒 习题答案 <HarmonyOS第一课>
1. 发布普通文本类型通知,需要设置ContentType类型为ContentType.NOTIFICATION_CONTENT_NORMAL_TEXT。A. 发布进度类型通知,需要设置ContentType类型为ContentType.NOTIFICATION_CONTENT_PICTURE。B. 调用notificationManager.cancelall()取消所有已发布的通知。D. 调用notificationManager.cancel需要传入通知ID。A. 系统是否支持通知模板。
2024-11-07 12:51:09
488
原创 中级4 Web组件和WebView 习题答案 <HarmonyOS第一课>
A. fileAccess设置是否开启应用中文件系统的访问。$rawfile(filepath/filename)中rawfile路径的文件不受该属性影响而限制访问。1. Web组件提供具有网页显示能力,@ohos.web.webview提供web控制能力。B. @ohos.web.webview提供web控制能力,web组件提供网页显示的能力。2. 同一页面的多个Web组件,必须绑定不同的WebviewController。1. 下列关于Web组件的属性,描述错误的是?
2024-11-07 12:40:57
762
1
原创 跨平台Flutter 、ReactNative 开发原理
在build方法中,我们创建了一个MaterialApp,它是一个预制的应用程序widget,它提供了一个应用程序所需的标准结构,例如Scaffold(包括顶部的appBar和中心的body)。组件化开发:React Native 鼓励组件化开发,开发者可以将复杂的 UI 拆分为多个独立的组件,每个组件管理自己的状态,并通过组合这些组件来构建复杂的应用。当应用运行时,虚拟DOM会被转换为相应的平台编码,例如Android或iOS的本地控件,从而实现跨平台的效果2。JavaScript代码运行在。
2024-11-05 19:57:13
1101
原创 静态库、动态库、framework、xcframework、use_frameworks!的作用、关联核心SDK工程和测试(主)工程、设备CPU架构
告诉CocoaPods不要生成静态库(.a文件),而是生成框架(.framework),Swift项目就能更容易地导入和使用这些库。这样做的好处之一是它允许你的Swift项目利用Swift的包管理特性,如更简单的依赖项导入和更好的模块兼容性。动态库被完全载入内存,是在代码里使用它的时候。运行调试闭源库 制作之后运行看效果和调试bug,总不可能每次都接入到要用SDK的工程吧,此时就需要专门的测试工程,可通过以下方式关联SDK和测试工程,Products文件夹下是编译后生成的SDK。
2024-11-05 13:53:43
1499
原创 高级5 应用DFX能力介绍 习题答案 < HarmonyOS第一课 >
C. HiTrace Meter跟踪,提供追踪进程轨迹,进行程序性能分析。D. HiTrace Chain调用链,提供业务流程调用链跟踪的维测接口。B. HiAppEvent应用事件,事件埋点接口,提供事件的埋点写入。C. 日志输出级别必须符合实际情况,禁止胡乱使用日志级别。A. HiLog日志,基础流水日志打印。A. 日志中禁止打印设备关键器件信息。B. 日志中可以打印用户个人隐私信息。正确(True)错误(False)正确(True)错误(False)错误(False) 回答正确。
2024-11-04 16:26:26
404
原创 中级3 合理使用动画和转场<HarmonyOS第一课>
1. 高级模板将属性动画和出现消失动画封装,开发者只需调用接口,可以轻松完成页面转场。A. 全屏模态转场 B. 半模态转场 C. 菜单弹出效果 D. 警告弹窗E. 气泡弹窗效果。A. 属性动画 B. 显式动画 C. 转场动画 D. 路径动画 E. 粒子动画。A. 只能基础组件B. 只能容器组件C. 基础组件和容器组件D. 以上都不对。A. 导航转场 B. 组件转场 C. 模态转场 D. 共享元素转场。2. HarmonyOS提供了哪些系统动画能力?正确(True) 错误(False)
2024-10-29 10:28:56
397
原创 中级2 ArkUI进阶 习题答案<HarmonyOS第一课>
C. 组件复用:提供可复用组件对象的缓存资源池,通过重复使用已经创建过并缓存的组件对象,降低相同组件短时间内频繁创建和销毁的开销,提升组件渲染效率。B. 缓存列表项:提供屏幕可视区域外列表项长度的自定义调节能力,配合懒加载设置可缓存列表项参数,通过预加载数据提升列表滑动体验。B. 当列表滑动新的ListItem将要被显示,List组件树上需要新建节点时,将会从复用缓存中查找可复用的组件节点。A. 标记为@Reusable的组件从组件树上被移除时,组件和其对应的JSView对象都会被放入复用缓存中。
2024-10-29 10:16:00
569
原创 中级1 应用程序框架进阶<HarmonyOS第一课>
B. 可以在创建的Want中设置想要启动的UIAbility组件的能力字段,如“entities”。C. 使用Want 启动UIAbility组件有显示Want启动和隐式Want启动两种形式。C. 想要在启动浏览器类型应用内时默认打开网页,可以在创建的Want中设置“uri”字段。D. 在module.json5配置文件中,“skills”表示应用组件支持的能力。A. 系统每次启动UIAbility组件,都会创建一个新的该类型实例。2. UIAbility组件多实例启动模式是默认的启动模式。
2024-10-28 16:02:46
667
原创 初级8 保存应用数据 习题答案<HarmonyOS第一课>
A. 使用getPreferencesSync()获取用户首选项实例,然后使用putSync()方法保存数据到缓存的Preferences实例中,再使用flush()持久化数据。C. 使用getSync()获取用户首选项实例,然后使用getPreferencesSync()方法保存数据到缓存的Preferences实例中,再使用flush()持久化数据。1. 应用存入数据到Preferences实例后,可以使用flush()方法实现数据持久化,用户首选项的数据持久化后是放在哪里?
2024-10-28 15:54:54
751
原创 Mac touchbar 触控条不显示、触控条不能点击交互,先别急着送修,试试这样操作~
在终端中输入命令:sudo pkill TouchBarServer,回车,会提示输入电脑密码,输入密码后回车。如果还是不行,关机重启的过程中按住Command-Option-P-R(二、MacBook touchbar 显示但不能触摸交互。一、MacBook touchbar 触控条不显示。找到名为 TouchBarServer 的进程,但是此时,触控条虽然显示,但是不能点击交互。此时观察触控条,它应该会恢复。此时观察触控条,它应该会恢复。)直到听到第二次电脑启动声为止。然后选择退出或强制退出。
2024-10-26 11:19:54
3474
原创 初级6 构建更加丰富的页面 习题答案<HarmonyOS第一课>
A. 设置BarPosition参数为BarPosition.End,vertical属性保持默认设置或设置为falseB. 设置BarPosition参数为BarPosition.Start,vertical属性保持默认设置或设置为falseC. 设置BarPosition参数为BarPosition.End,同时设置vertical属性为trueD. 设置BarPosition参数为BarPosition.Start,同时设置vertical属性为true。
2024-10-25 13:49:28
914
原创 初级5 从简单的页面开始<HarmonyOS第一课>
2. 对于包含文本元素的组件,如:Text、Span、Button、TextInput等,使用fontFamily设置字体时,参数类型只能是string,当使用多个字体时,用“,”进行分割,按顺序生效。3. 在Column容器中的子组件默认是按照从上到下的垂直方向布局的,其主轴的方向是垂直方向,在Row容器中的组件默认是按照从左到右的水平方向布局的,其主轴的方向是水平方向。它适用于呈现同类数据类型或数据类型集。B. itemGenerator为子组件生成函数,为数组中的每个元素创建对应的组件。
2024-10-24 18:32:34
927
原创 初级4 应用程序框架基础 习题答案<HarmonyOS第一课>
1. 在基于Stage模型开发的应用项目中都存在一个app.json5配置文件、以及一个或多个module.json5配置文件。正确(True) 错误(False)2. 一个应用只可以包含一个UIAbility组件。正确(True) 错误(False)3. Background状态在UIAbility实例销毁时触发。可以在onDestroy()回调中进行系统资源的释放、数据的保存等操作。正确(True) 错误(False)
2024-10-24 16:51:05
448
原创 初级3 ArkTS语法介绍 习题答案 <HarmonyOS第一课>
1. ArkTS中使用const声明常量。正确(True)错误(False)2. 允许在容器组件内使用if/else条件渲染语句构建不同的子组件。正确(True)错误(False)3. @Entry装饰的自定义组件将作为UI页面的入口。在单个UI页面中可以使用多个@Entry装饰不同自定义组件。正确(True)错误(False)1. 下面属于ArkTS中正确使用变量声明的语句是?
2024-10-23 18:52:42
777
原创 初级2 DevEco Studio的使用 习题答案<HarmonyOS第一课>
A. build-profile.json5用于存放应用级配置信息,包括签名、产品配置等B. oh-package.json5用于配置三方包声明文件的入口及包名C. module.json5包含HAP的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息D. app.json5用于编写应用级编译构建任务本。B. 在预览器界面,可以在预览器中操作应用/服务的界面交互动作,如单击、跳转、滑动等,与应用/服务运行在真机设备上的界面交互体验一致。D. 页面预览通过在工程的ets文件头部添加注解@Entry。
2024-10-23 13:26:47
839
原创 初级1 HarmonyOS介绍 第一课习题答案
1. “一次开发,多端部署”指的是一个工程,一次开发上架,多端按需部署。为了实现这一目的,HarmonyOS提供了多端开发环境,多端开发能力以及多端分发机制。正确(True)错误(False)正确(True)回答正确2. 《鸿蒙生态应用开发白皮书》全面阐释了鸿蒙生态下应用开发核心理念、关键能力以及创新体验,旨在帮助开发者快速、准确、全面的了解鸿蒙开发套件给开发者提供的能力全景和未来的愿景。正确(True)错误(False)
2024-10-23 09:42:58
1217
原创 Android基础Adapter适配器详解
一定要以数据库作为数据源的时候,才能使用SimpleCursorAdapter,且特别需要注意:必须在AndroidManifest.xml文件中加入权限(注意项目里AndroidManifest.xml文件名可能不是这个,可能是attrs_manifest.xml但是)在显示列表上加按钮:写一个有按钮的xml,首先会想到定义一个适配器,然后将数据映射到布局文件上。c.数据 具体的将被映射的字符串,图片,或者基本组件。
2024-02-20 18:26:16
672
原创 1.29 SwiftUI学习笔记
1.FormA container for grouping controls used for data entry, such as in settings or inspectors.对用于数据输入的控件(如设置或检查器)进行分组的容器用法:var body: some View { Form { Section(header: Text("Notifications")) { Picker("Notify Me
2022-01-29 18:12:09
2008
原创 2022.1.4 Android导入compose的 Maven 组遇到的问题
1)Unresolved reference: compose 提示Add ‘jcip.annocations.jar’ to path按提示add后会import net.jcip.annotations.Immutable 这时@Immutable不报错了 但是import androidx.compose.runtime.Immutable依然报错2)Google搜索import androidx.compose.runtime会指向官方提示库导入文档 https://developer.an
2022-01-04 18:27:56
3889
原创 12.16 Android常见标签 UI控件
1.android:supportsRtl="true”指支持从右向左布局support right-to-left (RTL) layouts 是API17即Android4.2以后才有,之前是不支持该属性。当设置-开发人员选项-强制使用从右到左的布局方向就能看到效果。2.xmlns是xml namespace的缩写,C++中的namespace和Java中的packagename,是为了解决(如类名、接口名等)命名冲突。因为xml中标签不是预定义,所以会遇到命名冲突问题,而HTML中是预定义
2021-12-17 18:12:46
2795
原创 12.15 写Android UI组件遇到问题
1.imeOptions :android键盘中的enter键图标是可以用EditText的android:imeOptions标签变更android:ems = "10" : 设置TextView或者Edittext编辑的字符串长度为10,超出部分不显示,该属性只有android:layout_width=“wrap_content”时才显示,是march_parent时不会有变化android:layout_alignParentBottom="true"2.遇到问题:1)androi.
2021-12-15 19:39:37
5443
原创 12.14 Layout Inspector、颜色设置、xml不同文件类型区别、drawable不同文件名含义区别、常见UI控件
1.Tools > Layout Inspector1.1. 左Component Tree:布局中视图的层次结构。1.2 中 Layout Display:按照应用布局在设备或模拟器上的显示效果呈现布局,并显示每个视图的布局边界。1.3. 中上 布局检查器工具栏:布局检查器的工具。1.4. 右 Attributes:所选视图的布局属性。 1.5.选择视图: 在Component Tree或Layout Display中点击则选中视图,所选视图的所有布局属性都会显示在...
2021-12-14 19:11:39
1883
原创 12.7Android的Debug
12.71.Run模式和Debug模式是区分开的; Run、Debug、Run……with coverage1)选择Debug模式下,代码左边断点 红色小圆点2)在左下角的Debugger 调试 step over / step into单步调试或F8 / force step into 所有方法看完整/ step out/ drop frame / run to cursor3)当前程序运行位置的值 单步执行到哪一步,右边黄色代码会显示出来4)logcat是EventLog吗?...
2021-12-14 09:31:39
672
原创 12.13 XML布局 和 LiveData
1.xml布局Java代码调用方法控制UI 缺点:繁琐不易解耦;xml布局便捷但有失灵活xml文件编译时,都需要通过main函数中onCreate来调用,用法如下项目里 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) ……}博客里@Override protected void onCreate(Bundle savedInsta...
2021-12-14 09:29:19
1211
原创 building for iOS Simulator, but linking in object file built for iOS, file for architecture arm64
一、问题app在真机能运行,在模拟器不能正常编译,出现报错二、原因字面看是模拟器状态下找不到对应的arm64架构文件,实质是M1芯片的兼容性问题PS:用M1芯片电脑 很多时候会遇到兼容性问题,当常规方案解决不了问题,试着搜索的时候带上关键字M1或许能更快找到答案三、过程网上搜索了很多无非就是需要该配置文件,但是亲测实际只需要2步四、解决方案具体如下2步:4.1 、podfile文件末尾添加以下脚本:然后执行pod install 命令。post_install do |
2021-09-26 23:20:34
6067
2
原创 iOS15新特性、iOS15适配
一、iOS15新特性1.1、iOS15兼容的设备iPhone6S以上,包括SE第一/二代,iPod touch第七代具体6s、6sPlus、7、7Plus、8、8plus、X、XR、XsMax、Xs、11、11Pro、11ProMax、12、12Pro、12ProMax、12mini、13、13Pro、13ProMax、13mini1.2、iOS15新特性专注模式,就是确保用户在一个时间段里屏蔽各种骚扰、非必要的内容不看不听,来提升做其他事情的效率。苹果做了各种细致分类,能进行量身定制。
2021-09-26 16:35:47
3829
1
原创 iOS设置非系统自定义字体- 原生app自定义字体和H5自定义字体
一、App更改自定义字体按照常规方法更改即可(1).将字体文件放入工程(2).在info.plist中增加Fonts provided by application 数组类型,并将添加的字体文件添加(3).找到字体文件对应的具体的我们要用的字体名字let fontFamilies = UIFont.familyNamesfor fontFamily in fontFamilies { let fontNames = UIFont.fontNames(forFamilyName: fo..
2021-05-16 22:27:35
1383
原创 H5与iOS混编 之WKWebView与UIWebView用法区别
一、WebViewView比UIWebView的优点1.WK是iOS8以上推出,目前都是建议用WK2.WK将UIWebViewDelegate和UIWebView封装成了14个类和3个协议3.支持更多的H5特性4.高达60FPS的滚动刷帧率和内置手势5.性能、稳定性、功能都更好,加载网页占内存更少(比如模拟器加载百度占内存23M,只有UIWebView的1/4左右)6.允许JS的Nitro加载并使用二、UIWebView实现交互的方法和原理UIWebView实现H5与iOS混
2021-04-19 09:39:45
455
原创 Flutter执行flutter pub get过程中遇到的问题
一、执行命令路径有问题提示错误:找不到pubspec.yaml文件应该在Flutter项目的根目录下 而不是git clone或Flutter的解决方案:cd flutter项目目录 再执行命令二、电脑配置的Flutter SDK 版本过低提示问题:当前电脑配置的版本是1.7.8+hotfix.4.而项目需要的是大于等于1.12.0小于2.0.0解决方案:flutter upgrade三、Upgrading Flutter卡住不动问题:执行flutter upgrad
2021-03-28 21:10:16
4023
1
原创 H5与iOS混编 之 JavaScriptCore 详解
一、浏览器历史浏览器器对于现代社会人来说再普通不过,可对它的历史了解的人却不多。 1990年 Berners-Lee 发明了 WorldWideWeb 浏览器,后改名 Nexus,在1991年公布了源码。 1993年 Marc Andreessen 的团队开发了 Mosaic,1994年推出我们熟悉的 Netscape Navigator 网景浏览器,同时成立了网景公司。 1995年微软推出了 Internet Explorer 浏览器,简称 IE,通过免费绑定进 Window
2021-03-22 13:45:31
539
原创 RunLoop底层原理
一、RunLoop介绍1.1概念:(关键字:运循 内维事循对事/消 管 对象)运行循环,程序运行过程中循环做一些事情。通过内部维护的事件循环对事件/消息进行管理的一个对象。1.1.2RunLoop休眠实现原理(关键字: 等消息 无线休 有唤醒 用户态->内核态 )等待消息,没有消息就让线程休眠,用户态到内核态切换;有消息就唤醒线程,处理事件,内核态到用户态切换。1.1.3main函数作为启动入口,顺着执行体代码以此执行,最后main函数退出,程序退出。main为什么能保持不退出
2021-03-03 13:57:15
869
原创 OC语言特性
一、分类1.1做了那些事?(关键词:明私、分解、私公开化)声明私有方法,分类头文件放到数组文件.m中,不对外暴露分解体积庞大的类文件 功能复杂的按功能分类framework私有方法公开化1.2特点 (关键词:运决议 系统类加)运行时决议 分类定义好后不立即加到宿主类,而是runtime将分类中内容加到对应宿主类(分类与扩展最大区别)能为系统类添加分类 如坐标获取,UI文件1.3可添加的内容?(关键字:实 类 协 属非实变)实例方法 类方法 协议 属性非实例变量 通过关联对
2021-02-23 22:52:43
290
原创 Mac 屏幕录制 权限 没有可勾选或添加的App选项 产生原因和解决办法
遇到问题:安装软件需要获取截屏和屏幕录制的功能权限,但是发现打开系统设置->安全性与隐私-屏幕录制,右边竟然没有可勾选或可添加的App选项产生原因:经过网络搜索关键字,发现是因为系统升级到10.5,MacCataLina过程中位于/Library/Application Support/com.apple.TCC目录下的TCC.db文件损坏了。期间遇到的错误提示(Error: table access has 7 columns but 12 values were supplied)...
2021-02-22 11:36:10
46337
19
原创 Block 本质、实现原理、内存管理、循环引用、__block等
一、Block介绍1.1概念:将函数及其执行上下文封装起来的对象 底层用struct实现1.2block实现原理:a .新建项目 代码放入file.m中 b.打开终端cd到项目目录下 c.敲clang -rewrite-objc file.m查看编译后的文件内容 本质是将OC重写为C后目录下多了个file.cpp文件1)Block实际上是OC对于闭包(闭包是一个函数或指向函数的指针,再加上该函数执行的外部的上下文变量。)的实现。OC是对C语言的扩展,block的实现是基于函数和指向函数的
2021-02-21 11:42:45
1747
原创 UIView相关总结
CALayer内部创建backingstore(CGContextRef) 一般在drawRect方法中可以通过上下文堆栈取出栈顶的Context,拿到当前视图或控件的上下文,然后该layer会判断是否有delegate,若无则调用[CALyer drawInContext:],若有调用[layer.delegate drawLayer:inContext:]做当前视图的绘制工作,这步发生在系统内部,在合适时机给予一个回调方法[UIView drawRect:],开这个口子允许做一些其他绘制工作;
2021-02-04 07:49:12
379
1
原创 设计模式、架构、框架
一、设计模式1.1概念:一套被反复使用、易理解、保证代码可靠性的代码设计经验的总结;与编程语言无关的成熟的编程思想。1.2六大设计原则:单一职责、开闭、接口隔离、依赖倒置、里氏替换、迪米特1.2.1单一职责原则:一个类只负责一件事。如UIView事件传递、响应;CALayer动画视图显示。1.2.2开闭原则:对修改关闭,对扩展开放。对类的成员变量定义避免反复改;对类的数据结构定义好后提供接口(包括子类继承)1.2.3接口隔离原则:用多个专门协议且协议中方法尽量少,避免一个臃肿庞大的协议。
2021-01-31 22:40:01
289
原创 HTML5写网站遇到问题总结与思考2
1.在body内输入缩写按下tab键,属性用[],文本用{}. # *个数 $依次代表1,2,3,4,5div.类名和div#类名 效果<divclass="abc"></div>,ul>li{名字}*3效果ul里面3个lidiv>a[href='#']{小花}*3效果<div><ahref="#">小花</a>select>option{$}*5效果<select name="" id=""><op
2021-01-30 16:17:47
196
原创 HTML5写网站遇到问题总结与思考1
、遇到问题:文字颜色在li中已经设置但却是蓝色原因:1.li中文字颜色默认是蓝色2.li里面的文字颜色大小等属性需要在li>a里面设置才会生效二、操作过程中的快捷键Ctrl+Shift+/注释Cmd+D 在某一行操作,会复制与本行同样的内容到下一行三、疑问:margin-left与padding-left的区别?margin边界 padding填充四、 优化.header_nav_left和right里的文字变换逻辑一样,优化时粗心导致问题:本应该在黑色区域内显示的内容却超出父级的高度
2021-01-25 17:33:58
346
原创 Typora用法
1.##代表二级标题,###代表三级标题,依此类推,但是最多只能到六级标题#这是一级标题typora默认回车换行,中间会空一行##这是二级标题###这是三级标题2.快捷键组合为Ctrl+数字1-6,分别对应标题级别1-63.typora默认回车换行,中间会空一行,若希望紧凑一些,按住Shift+Enter换行就不会有空行4.选择字号习惯 Typora->偏好设置->外观里可以设置字号...
2021-01-15 18:11:17
1451
原创 网络概念与常见问题全解析(网络面试题 学会这篇 基本都能答上来)
Http协议Https与网络安全TCP/UDPDNS解析Session/Cookie
2021-01-15 16:21:53
486
J2ME手机开发入门源代码
2010-12-31
Java2宝典(Java2 Bible)[美]Aaron Walsh Justin Couch Daniel H.Steinberg著
2010-10-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人