首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【软件开发规范七】《Android UI设计规范》

使用悬浮按钮要遵循以下规则: 建议只用一个悬浮按钮 悬浮按钮可以贴在纸片边缘或者接缝处,但不要贴在对话框、侧边抽屉和菜单边缘 悬浮按钮不能被其他元素盖住,也不能挡住其他按钮 列表滚动至底部时,悬浮按钮应该隐藏...编辑 ​编辑 ** 提示框(Dialogs) ** ​编辑 Dialogs 用于提示用户作一些决定,或者是完成某个任务时需要一些其它额外信息。...​编辑 环形进度条可以用在悬浮按钮上 ​编辑 加载详细信息时,也可以使用进度条 下拉刷新动画比较特殊,列表不动,出现一张带有环形进度纸片。 ​...除了输入,文本框可以进行其他任务操作,如文本选择(剪切,复制,粘贴)以及数据自动查找功能。 ​...编辑 同时有多个输入框错误时,顶部要有一个全局错误提示 ​编辑 输入框尽量带有自动补全功能。 ​

4.9K20

深入浅出 RxJS 之 合并数据流

,每个上游 Observable 对象都要贡献一个元素,如果某个 Observable 对象没有及时吐出数据,那么 zip 会等,等到它吐出匹配数据,或者等到它完结。...多重继承可能会导致一些很反常识问题,因为一个属性很难说清楚是从哪条关系继承下来,所以在其他编程语言中往往放弃多重继承功能。...,其功能是让一个 Observable 对象在被订阅时候,总是先吐出指定若干个数据。...concat 来实现,但如果使用 concat ,那无论用静态操作符或者实例操作符形式, original$ 都只能放在参数列表里,不能调用 original$ concat 函数,这样一来,也就没有办法形成连续链式调用...# forkJoin forkJoin 只有静态操作符形式,可以接受多个 Observable 对象作为参数, forkJoin 产生 Observable 对象也很有特点,它只会产生一个数据,因为它会等待所有参数

1.5K10
您找到你想要的搜索结果了吗?
是的
没有找到

继续解惑,异步处理 —— RxJS Observable

还心存疑虑,本篇继续解惑~ Observable 称它为可观察对象,它并不是 Angular 东西,而是 ES7 一种用来管理异步数据标准。...有一个形象比喻: 你订了一个银行卡余额变化短信通知服务,那么这个时候,每次只要你转账或者是购买商品在使用这张银行卡消费之后,银行系统就会给你推送一条短信,通知你消费了多少多少钱; 这个场景下,银行卡余额就是...自定义:create 转换 改变数据形态:map, mapTo, pluck 过滤一些:filter, skip, first, last, take 时间轴上操作:delay, timeout,...merge 合并序列 race 预设条件为其中一个数据流完成 forkJoin 预设条件为所有数据流都完成 zip 取各来源数据流最后一个合并为对象 combineLatest 取各来源数据流最后一个合并为数组...Observable 优势在于: 降低了目标与观察者之间耦合关系,两者之间是抽象耦合关系; 符合 依赖倒置原则; 目标与观察者之间建立了一套触发机制; 支持广播通信多播; 依赖倒置原则:依赖倒置原则

1K30

Angular进阶教程2-

_http.post(url, body); } 复制代码 错误处理 在调用接口时候,当遇到接口请求失败或者报错时候,前端需要做一些错误提示信息展示,具体操作如下: this....Subject是观察者\color{#0abb3c}{观察者}观察者: 它有next(v),error(e),和complete()方法,如果我们需要给subject提供新,只要调用next(v),它会将多播给已注册监听该...所以: Subject既是Observable,也是观察者(可以多个) Subject与Observable区别: Subject是多播\color{#0abb3c}{多播}多播【他可以将多播给多个观察者...Subject在Angular中常见作用: 可以在Angular通过service来实现不同组件,或者不同模块之间 // 定义公共用于数据存储service,文件名是(eg:xampleStore.service.ts...常见运算符包含 map, filter, concat, flatmap, switchmap, forkjoin 在这里我们只调挑出forkJoin和switchMap来讲解一下,其他操作符可以自己去查阅

4.1K30

WKWebView

网页视图后退列表,即之前访问过web页面的列表。 canGoBack。布尔,指示后退列表中是否有可被导航到后退项。 canGoForward。布尔,指示后退列表中是否有可被导航到前进项。...布尔,用于确定是否按下连接可以显示链接目标的预览。 - goBack。导航到后退列表后腿项中。 - goForward。导航到后退列表前进项中。...布尔,指示HTML5视频是否内嵌播放,使用native全屏控制器。 allowsAirPlayForMediaPlayback。是否允许AirPlay。...显示加载进度条 我们可以通过监听WKWebViewestimatedProgress属性来实现一个加载进度条,而UIWebView只能是通过timer事件做一个假加载进度条。...凡是在WKWebView属性描述中带有“is key-value observing (KVO) compliant for this property”字样属性,都是可以通过KVO来观察到其变化

5.9K20

forkjoin框架及其性能分析

于是,先做完任务工作线程会从其他未完成任务线程尾部依次获取任务去执行。这样就可以充分利用CPU资源。...这个非常好理解,就比如有个妹子程序员做任务比较慢,那么其他猿就可以帮她分担一些任务,这简直是双赢局面啊,妹子开心了,你也开心了。...forkjoin这个框架针对是大任务执行,效率才会明显看出来有提升,于是我把总数调大到20亿。 另外还有个关键点,通过设置不同临界点,会有不同结果。逐渐加大临界点,效率会进一步提升。...当然,逐步再加大总数到100亿或者更大,然后调整合适临界,这种对比会更加明显。...(当然,也有可能是forkjoin还有更牛逼功能待我去发掘。)

64520

深入浅出vue_深入浅出pandas

filter()中介操作,会试着平行化处理,然后最终forEachOrdered()会以原数据顺序处理,因此,使用forEachOrdered()这类有序处理,可能会(完全失去)失去平行化一些优势...但是有的线程会先把自己队列里任务干完,而其他线程对应队列里还有任务等待处理。干完活线程与其等着,不如去帮其他线程干活,于是它就去其他线程队列里窃取一个任务来执行。...对于ForkJoinPool通用线程池线程数量,通常使用默认就可以了,即运行时计算机处理器数量。...,forEach方法用了一些小把戏。...或者说,例如你在这个功能里是用来快速返回调用第三方api,而在其他功能里是用于一些简单数据并行计算,但是假如你先调用了这个功能,同一时间之后调用计算函数,那么这里forkjionPool实现会让你计算函数大打折扣

42410

深入探索 Paging 3.0: 分页加载来自网络和数据库数据 | MAD Skills

对我们来说十分方便是 Paging 库在 Room 库一些小小帮助下已经可以应对这种场景。下面就让我们开始吧!点击这里 查看 Paging: 显示数据及其加载状态视频,了解更多详情。...我们可以观察到,该扩展函数名字中包含了一个类型: LoadState。让我们进一步了解这一类型。...在分页操作中,Pager 加载状态是通过 CombinedLoadStates 类型表示。 顾名思义,这个类型是其他表示加载信息类型组合。...我们之所以使用 refresh 字段,是因为我们只希望在第一次启动应用、或者明确触发了刷新时才展示大进度条。我们还可以检查是否有加载状态出错并通知用户。... LoadStateFlow 更新带有进度 UI。

98320

经典软件架构模式(二)

从界面上就可以看到,这个网站可以下发不同歌曲铃声,各种手机格式图片,还有一些特别的文字短信,这些称之为“点播”服务。 网站上搜集了大量铃声、图片、文字来提供此功能。...WEB网站最常见方案,就是用PHP或者其他类CGI程序,连接一个数据库,然后把页面展现给用户。...在分布式系统中,我们会希望不要让一个过滤器负担过重,影响服务器负载均衡;在其他系统中,我们希望每个过滤器编程接口尽量简单,而不是要面临大堆复杂状态。...这个系统有播放按钮、进度条、播放状态、播放列表、歌词等部分,这些部分都要结合到一起来适应正在播放一首歌。 ?...感谢大家阅读,如觉得此文对你有那么一丁点作用,麻烦动动手指转发分享至朋友圈。

84660

深入理解Java中ForkJoin框架原理

线程池中每个线程都有一个自己任务队列,当一个线程完成了它任务后,它会尝试从其他线程任务队列中“窃取”任务来执行(称为工作窃取(Work-Stealing)算法)。...需要注意是,虽然工作窃取算法可以提高并行计算效率,但它也可能带来一些负面影响。...主ForkJoinTask被明确提交到ForkJoinPool后开始执行,或者没有参与ForkJoin计算,开始于ForkJoinPool.commonPool()。...RecursiveAction用于执行没有返回任务,而RecursiveTask用于执行有返回任务。这两个子类都需要实现一个compute()方法来定义任务逻辑。...如果数据集很小,或者每个元素处理时间非常短,那么并行流可能会引入额外开销,导致性能下降。因此,在使用并行流之前,最好先进行一些性能测试,以确定是否真正需要并行处理。

11910

python之for循环详解_python循环5次

补充(统计文件行数) 五. python中zip()方法 六. 列表推导式 七. 迭代器(for 语句会在容器对象上调用 iter()) ---- 一....()方法 zip函数原型为:zip([iterable, …]) 参数iterable为可迭代对象,并且可以有多个参数。...列表推导式 列表推导式提供了一个更简单创建列表方法。常见用法是把某种操作应用于序列或可迭代对象每个元素上,然后使用其结果来创建列表或者通过满足某些特定条件元素来创建子序列。...squares = [x**2 for x in range(10)] 列表推导式结构是由一对方括号所包含以下内容:一个表达式,后面跟一个 for 子句,然后是零个多个 for if 子句。...定义一个 __iter__() 方法来返回一个带有 __next__() 方法对象。

1.6K20

优雅整洁 Java 代码命名技巧,风之极·净化

不要设计大而全或者函数,我们需要将他们拆分成更细粒度功能更加单一类。 它不会隐藏设计者意图,干净利落抽象和直截了当控制语句。 我们应该让每个函数每行代码简单、逻辑清晰。...downLoadFiles 功能是创建将 files 打包成 zip 文件,而 fileDownload则是把指定文件输出给浏览器下载。...可搜索是便于利用 IED 自动补全和搜索功能,能根据我们命名规范快速定位想要找或者方法等。 可读 名称读不出来,在讨论时候就好像是一个沙雕。...接口名除了用名词和名词短语以外,还可以使用形容词形容词短语,如 Cloneable,Callable 等,表示实现该接口类有某种功能或能力。...error抛出异常或是返回 forceCreate, forceStop 用来检查方法 单词 意义 例 ensure 检查是否为期待状态,不是则抛出异常返回error code ensureCapacity

58640

Java8并行http请求加快访问速度 原

filter()中介操作,会试着平行化处理,然后最终forEachOrdered()会以原数据顺序处理,因此,使用forEachOrdered()这类有序处理,可能会(完全失去)失去平行化一些优势...但是有的线程会先把自己队列里任务干完,而其他线程对应队列里还有任务等待处理。干完活线程与其等着,不如去帮其他线程干活,于是它就去其他线程队列里窃取一个任务来执行。...对于ForkJoinPool通用线程池线程数量,通常使用默认就可以了,即运行时计算机处理器数量。...=N (N为线程数量),来调整ForkJoinPool线程数量,可以尝试调整成不同参数来观察每次输出结果。...或者说,例如你在这个功能里是用来快速返回调用第三方api,而在其他功能里是用于一些简单数据并行计算,但是假如你先调用了这个功能,同一时间之后调用计算函数,那么这里forkjionPool实现会让你计算函数大打折扣

2.6K20

Java8并行http请求加快访问速度

filter()中介操作,会试着平行化处理,然后最终forEachOrdered()会以原数据顺序处理,因此,使用forEachOrdered()这类有序处理,可能会(完全失去)失去平行化一些优势...但是有的线程会先把自己队列里任务干完,而其他线程对应队列里还有任务等待处理。干完活线程与其等着,不如去帮其他线程干活,于是它就去其他线程队列里窃取一个任务来执行。...对于ForkJoinPool通用线程池线程数量,通常使用默认就可以了,即运行时计算机处理器数量。...=N (N为线程数量),来调整ForkJoinPool线程数量,可以尝试调整成不同参数来观察每次输出结果。...或者说,例如你在这个功能里是用来快速返回调用第三方api,而在其他功能里是用于一些简单数据并行计算,但是假如你先调用了这个功能,同一时间之后调用计算函数,那么这里forkjionPool实现会让你计算函数大打折扣

98210

java线程池(四):ForkJoinPool使用及基本原理

2.2 带返回计算 通过实现RecursiveTask来进行带有返回计算。如我们需要计算1-1000000累加结果。...3.2 关于原理注释 在代码中也存在大段注释,大意为: 3.2.1 ForkJoinPool实现概述 此类及其内部嵌套类为一组工作线程提供了主要功能和控制,来自非ForkJoin线程提交进入提交队列...其他WorkQueue字段(例如currentSteal)也具有类似的约定和原理,这些字段仅由所有者写入但被其他观察到。...),以便由于通过其他一些不相关调用来设置状态以中断用户代码,因此Park不会立即返回。...此外本文也介绍了ForkJoinPool一些实现原理,这将在后续源码介绍中,逐步详细说明。ForkJoin不仅在java8之后stream中广泛使用。

12.9K24

《101 Windows Phone 7 Apps》读书笔记-Weight Tracker

图表可以对其横轴和纵轴进行合理缩放,甚至在有需要时可以将其轴标签错开(如图29.1所示)。它可以自动把不同颜色应用到数据当中,还有其他一些功能这里没有显示。...在添加新记录或者删除旧记录时,它自动对记录按照时间倒序进行排列,计算相应Delta(用来显示向上/向下箭头)。...注意:轴类型是DateTimeAxis,它具有显示DateTime制定功能。任何.NET格式字符串可以用来给StringFormat赋值。    ...本应用程序管理着两个可观察集合:一个用于体重列表、另一个用于目标体重列表。它们在Settings.cs文件中给出了定义,同时,该文件还给出了主页面表格中所选择起始日期记录设置。...图29.5 与主页面中使用控件相同,设置页面提供了对目标体重列表编辑功能

1.4K80

越早知道越好五个Python特性

即使您是一个从其他语言(如CMATLAB)转换过来程序员,用更高抽象级别的Python编写代码绝对是另一种体验。我希望早些时候就知道一些Python特性,并重点介绍了其中五个最重要特性。...虽然我认为它们是我们应该注意功能,但我发现它们大多数时候不是特别有用,因为它们缺乏灵活性。 Lambda是在一行中编写一个一次性使用函数方法。如果函数被多次调用,性能会受到影响。...列表理解是一种简洁而灵活方法,它可以用灵活表达式和条件从其他列表创建列表。它是由一个方括号构造,其中表达式函数仅在元素满足某种条件时才应用于列表每个元素。...我们还可以通过调用aList[::-1]来反转列表,我发现这种技术非常优雅。 ? 列表也可以解压成单独元素,或者使用星号将元素和子列表混合。...换句话说,它们动态地生成,并且不将以前存储在内存中,因此我们只能对它们进行一次迭代。 它们通常用于读取大文件使用关键字yield生成无限序列。我经常发现它在我大多数数据科学项目中很有用。

62220

测试工具Fiddler(三)—— 常见功能介绍

5、log : 使用fiddler日志; 6、filters:过滤功能,可以很好帮助只显示我们关心请求或者隐藏掉我们不关心请求。...过滤监控会话,筛选和标记会话,进行一些轻量级修改;fiddler默认会检查http头中设置host,标记隐藏部分会话,选择隐藏时候,fiddler仍然会代理通信主机,只是将对应会话隐藏在监控面板...所谓请求无非就是需要调用到一些资源(包括JS、CSS和图片等),所谓重定向就是将页面原本需要调用资源指向其他资源(你能够控制资源或者可以引用到资源)。 2、为什么要用这个功能?...AutoResponder类似于CharlesMapLocal功能,但是更强大,因为可以用正则去匹配; 平时我们可能需要观察某个请求返回特定响应数据,但是该请求可能每次都会带有唯一请求参数(如:时间戳...六、timeline网站性能分析 选中多个请求,进行网站性能分析 Y轴:发送请求列表 进度条为多线条型,则为缓冲模式;进度条为平滑柱状,则为流模式 绿色圆圈:连接被重用;红色圆圈:新创建连接 顶部圆圈

1.7K10

年轻人第0条爬虫 | 如何最快理解工具思维_以八爪鱼为例

引用自深圳大学《数据抓取与清洗》课程课件 标签之间是包含/被包含和并列关系,因此可以逐级展开;标签有不同类型,带有属性。 我们需要抓取数据就隐藏在具有某些特征标签中。...,比如翻页、划动之类操作可能应用位置不对或者过多/过少了,这就需要我们在运行时候观察浏览器是怎么动。...观察结构找同异 需要爬取数据标签大多有相似的结构,以下介绍几种可行判断标准,总的来说都会是某种列表中。有可能是传统有序无序列表中,也有可能是依次排列块级元素中。...• …… 还有很多其他种类标签,这里只是列举了几种一般会用来作为列表收纳数据标签标签,具体可自行查阅。...4.总结 以上是我自己对于“理解工具,快速上手”一些思考,有疑问处欢迎后台留言私信。本周代码抄不完了 下次有空再写一些工具使用技巧。

87510
领券