目前为止 WorkManager 系列已经讨论过: Android Jetpack WorkManager | Android 中文教学视频 在这篇文章中,我们将讨论: 在 Kotlin 中如何使用 WorkManager... Kotlin 编写的并使用了 KTX 库 (Kotlin Extensions)。...Result.retry() } else { Result.failure() } } } } 复制代码 然后您可以在测试中...现在您可以非常容易的对 Worker 类进行测试,并且 WorkManager 在 Kotlin 中的整体使用体验也非常棒。...如果您还没有在项目中使用 CoroutineWorker 以及 workmanager-runtime-ktx 中包含的其他扩展,强烈建议您在项目中使用它们。
中调用上面的toUri方法时 1 StringExtKt.toUri("https://droidyue.com"); 生成的 class 文件名称为 1 ....中调用 1 StringUtil.toUri("https://droidyue.com"); 生成的 class 文件名为 1 ....代码中,可以这样调用 1 2 3 public static void testJvmNameOnMethod() { OnMethodSampleKt.isOK(""); } 但是,我们在Kotlin...编译器将isValid在字节码层面又替换成了isOK。...; OnPropertiesSampleKt.x(); } 在Kotlin中对应的调用 1 2 3 4 fun testJvmNameOnProperty() { x
接触过Kotlin之后,我们会利用其扩展方法特性创建很多便捷的方法来实现更好更快的编码。比如我们对于RxJava进行一些简单的扩展方法实现。...Any> List.toObservable(): Observable> { return Observable.fromArray(this) } 修改后,就可以在Java...中完全使用RxUtil调用了。.../app/build/tmp/kotlin-classes/debug/com/example/jvmannotationsample/RxUtil.class ....内容推荐 如何研究Kotlin JvmName注解 kotlin编译器调校 Kotlin更多文章
关于 Kotlin 开发 使用 Kotlin 开发 Android App 在 Java 工程师群体中变得越来越流行。如果你由于某些原因错过了 Kotlin,我们强烈建议你看一下这篇文章。...对于那些处在技术前沿和喜欢 Kotlin 的开发者来说,本篇文章和他们息息相关。所以,下面就让我们来看一下怎样在 Kotlin 中使用集合吧。 Kotlin中的集合是基于 Java 集合的框架。...在使用Kotlin集合时准确区分这几种两种对象对于避免不必要的错误和 bug 都非常有用。 Kotlin允许像 Java 类似的写法创建 Kotlin 的集合实例。...我们可以看到,我们在 Kotlin 中几乎可以使用 Java CollectionsKT 类中的所有方法.当然,也需要导入 java.util.* 。...让我们来看一下我们在 Java 代码中怎么调用 Kotlin 集合: java.util.List<Integer list = kotlin.collections.CollectionsKt.listOf
市面上介绍使用Kotlin进行后端开发的图书和文章也比较少,袁康在大量实践的基础上,萌生了写一本书的想法,希望和更多的Java开发人员分享Kotlin在后端开发中的实践经验。...本文选自书中“Kotlin在常用中间件中的应用”一章,这一章主要介绍Kotlin在常用中间件中的应用,通过示例程序,将展示Kotlin集成Spring Boot、Redis、JPA、QueryDSL、MongoDB...读者可以掌握使用Kotlin操作常用中间件的技巧。 下面我们一起来学习了解下本章中“Kotlin集成Spring Boot”部分。...和用Java开发Spring Boot项目类似,Kotlin在main函数中启动应用,用GetMapping定义一个get接口,使用@RestController后就不用为每个方法添加@ResponseBody...本书专注于Kotlin在Spring Boot微服务开发中的实践,介绍了函数式编程思想、Kotlin的语法、Kotlin在常用中间件中的应用,以及其在微服务注册中心、微服务配置中心、微服务网关、Spring
然后用showMessage()方法在状态栏上显示一些信息。 菜单栏 菜单栏是GUI应用的常规组成部分。是位于各种菜单中的一组命令操作(Mac OS 对待菜单栏有些不同。...我们创建了有一个菜单项的菜单栏。...在上面的三行中,我们创建了一个有指定图标和文本为'Exit'的标签。另外,还为这个动作定义了一个快捷键。第三行创建一个当我们鼠标浮于菜单项之上就会显示的一个状态提示。...,我们有两个菜单项; 一个位于“文件”菜单中,另一个位于“文件”的“导入”子菜单中。...例如,在Opera网页浏览器中,当我们右键单击网页时,我们会得到一个上下文菜单。在这里,我们可以重新加载页面,返回或查看页面源。如果我们右键单击工具栏,我们将获得另一个用于管理工具栏的上下文菜单。
FBDD 方法的优势 在医药领域,探索先导化合物发现方法与新药研发具有同等重要的地位。...基于片段化合物的药物开发 (Fragment-based drug design, FBDD) 已经有 20 多年的历史,在这 20 多年的实践及优化中,FBDD 已经成为新药开发的主流方法。...2、筛选和识别与靶蛋白弱结合的活性片段 片段库建立之后,最关键的步骤就是筛选和识别与靶蛋白弱结合的活性片段。...3、对命中片段进行优化和连接 筛选出具有活性的片段化合物之后,就要对片段化合物进行结构延伸得到高活性先导化合物,目前最主要的片段延伸方式包括: ◑片段连接 (Fragment-linking),即与受体结合的相邻的两个片段经链接成活性较强的较大分子...◑片段生长 (Fragment-growing),即以受体结合的第一个片段为核心,经理性设计,在邻近处逐渐生长成活性比较强的较大分子。
Kotlin的一个协程可以理解为是运行在线程上的一个执行任务并且该任务可以在不同的线程间切换,一个线程可以同时运行多个协程。...IO 调度器中启动一个协程,但它们之间有一些区别: GlobalScope.launch(Dispatchers.IO){} 是在全局范围内启动一个协程,不受外部作用域的限制。...CoroutineScope(Dispatchers.IO).launch {} 是在指定的 CoroutineScope 中启动一个协程,通常情况下应该手动创建 CoroutineScope 对象,并确保在合适的时机取消该...比如:网络请求,数据库操作,文件操作等 Main:UI调度器,只有在UI编程平台上有意义,用于更新UI,例如Android中的主线程 Unconfined:非受限调度器,无所谓调度器,当前协程可以运行在任意线程上...最常见的,网络请求在IO线程,而页面更新在主线程。 Kotlin给我们提供了一个顶层函数withContext用于改变协程的上下文并执行一段代码。
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍ToolBar工具栏组件以及与之类似的...快捷键: 每个菜单项可以关联一个快捷键,用户可以通过键盘快捷键来触发相应的操作。分组和分割线: 菜单栏支持在菜单项之间添加分组和分割线,用于更好地区分不同的功能模块。...动作关联: 菜单项通常与具体的动作(QAction)关联,点击菜单项时触发相应的动作。上下文菜单: QMenuBar 也可以用作上下文菜单(右键菜单),在特定区域点击右键时显示相应的菜单项。...1.3 使用菜单组件通常情况下ToolBar与MenuBar两者会配合使用,在5.14.2版本中,窗体创建后会默认包含一个MenuBar组件,对于老版本的Qt则会自带一个ToolBar组件,ToolBar...该信号在用户请求上下文菜单时触发,例如通过右键单击某个小部件(如窗口、按钮、表格等)时。
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍ToolBar工具栏组件以及与之类似的...快捷键: 每个菜单项可以关联一个快捷键,用户可以通过键盘快捷键来触发相应的操作。 分组和分割线: 菜单栏支持在菜单项之间添加分组和分割线,用于更好地区分不同的功能模块。...动作关联: 菜单项通常与具体的动作(QAction)关联,点击菜单项时触发相应的动作。 上下文菜单: QMenuBar 也可以用作上下文菜单(右键菜单),在特定区域点击右键时显示相应的菜单项。...1.3 使用菜单组件 通常情况下ToolBar与MenuBar两者会配合使用,在5.14.2版本中,窗体创建后会默认包含一个MenuBar组件,对于老版本的Qt则会自带一个ToolBar组件,ToolBar...该信号在用户请求上下文菜单时触发,例如通过右键单击某个小部件(如窗口、按钮、表格等)时。
在新建全局代码片段和当前工作区的代码片段的时候,是需要自己指定名称的。...那么现在按下 F1 打开快捷命令输入框进入 Insert Snippet 命令,输入 toc 可以看到我们刚刚加入的代码片段: 或者,在带有智能感知提示的文件中,可以直接通过智能感知提示插入:...在插入的代码片段中,${1:walterlv 的目录} 会成为我们的第一个占位符,而且默认文字就是 walterlv 的目录。...在 Visual Studio Code 中,你有这些变量可以使用: -TM_SELECTED_TEXT - 在插入代码片段的时刻选中的文本 -TM_CURRENT_LINE - 在插入代码片段的时刻光标所在的行...这个时间我之前也在输入法中调过:常用输入法快速输入自定义格式的时间和日期(搜狗/QQ/微软拼音)。
同样地,子菜单也可以通过add()方法为自身添加菜单项。 add()方法的四个参数中: 第一个参数是groupId,可以用来控制各个菜单项是否在同一组。...如果菜单项被单击后需要有自己的实现,则必须重写onOptionsItemSelected()方法,该方法会传入已经创建完毕的menuItem项。...xml文件的根节点必须是menu; 其中每个item标签定义一个菜单项,并可以通过在<item 中再定义<menu 的方式创建子菜单。 <?...也可以说,其中的菜单项,可以在ActionBar中作为按钮显示出来(通过设置showAsAction的值来实现)。 如下图,两个图标代表的是按钮,三个竖点代表的是溢出菜单: ?...collapseActionView则属于与toolbar(相当于ActionBar的升级版,在各方面都更灵活)相关的设置,与本文主题偏离,不再赘述。
其中showAsAction可选参数为: always:使菜单项一直显示在ToolBar上 ifRoom:如果有足够的空间,菜单项显示在ToolBar上,否则显示在更多中 never:菜单项永远不显示在...ToolBar上,只显示在更多中 withText:图标和文字一起显示 2、在布局中使用ToolBar ?...3、在Activity中 在setContentView方法之前,设置界面没有标题栏: 如果Activity继承Activity,设置: ?...附:隐藏导航栏有两种方法: 如上在代码中设置 在清单文件中给对应Activity设置主题,主题为Theme.AppCompat.Light.NoActionBar 4、将ToolBar作为导航栏 ?...5、可以对ToolBar进行其他设置 ? 6、添加菜单项 ? 此步骤就是将创建的menu文件设置给ToolBar 7、对菜单项添加点击事件 ?
Python 图形化界面基础篇:响应菜单和工具栏事件 在 Python 图形用户界面( GUI )应用程序中,响应菜单和工具栏事件是至关重要的,它们允许用户与应用程序交互并执行各种操作。...向文件菜单中添加了三个菜单项:“打开”、“保存"和"退出”。我们使用 command 参数将这些菜单项与相应的函数关联,以便在菜单项被点击时执行相应的操作。...# 创建工具栏对象 toolbar = ttk.Toolbar(root) toolbar.pack(side="top", fill="x") 在上述示例中,我们创建了一个工具栏对象 toolbar...要与菜单项关联这些函数,我们在创建菜单项时使用 command 参数。要与工具按钮关联这些函数,我们在创建工具按钮时使用 command 参数。...向文件菜单中添加了三个菜单项:“打开”、“保存"和"退出”。我们使用 command 参数将这些菜单项与相应的函数关联,以便在菜单项被点击时执行相应的操作。
主窗口由区域组成,如下图所示,用数字标签标记: Main menu and toolbar ——包含影响整个项目或部分项目的命令,例如打开、创建项目、重构代码、运行和调试应用程序、将文件保持在版本控制之下等等...使用“View”菜单中带有复选框的菜单项来显示或隐藏PyCharm窗口的主要元素。例如,如果要显示主工具栏,请选择View | Toolbar。...菜单和工具栏按钮中的操作说明显示在状态栏的左侧。 如果您知道要执行哪个操作,但不知道在哪里找到它,请按Ctrl+Shift+A,键入操作名称,然后从建议列表中选择它。...在PyCharm for Linux中,您可以使用Macintosh风格的菜单 – 一个连接到屏幕顶部的水平菜单栏。...在“Java Virtual Machine options”选项旁边,单击“Edit”。
有关创建自动完成器的信息, 可以查阅: UI Components - Autocompleter. addButton() 注册一个新的工具栏按钮,该按钮在通过键盘导航控件单击或激活时执行命令。...与上下文菜单项类似,上下文表单是在匹配内容谓词时出现输入表单元素的项。上下文表单的一个示例是使用配置 { link_context_toolbar: true } 时的链接插件。...该菜单项在通过键盘导航控件单击或激活时执行命令。...可以在配置中设置切换按钮状态。...,其作用类似于切换按钮,在菜单项中显示一个勾号以表示状态。
System.currentTimeMillis(); } } 运行结果: 本计算机的核数:12 655269092 单线程计算耗时:3350 ms 655269092 多线程计算耗时:425 ms 2.Kotlin...parallel().reduce { t: Int, u: Int -> t + u }.get() } 运行结果: 655149583 parallelSum Time:2911ms 看起来,Kotlin...使用Java 8 的 parallel Stream API,似乎没有明显的性能提升(猜测:中间有Java-Kotlin互转带来的性能损耗?)。...3.直接使用Kotlin的 List的API: package i import java.util.* /** * @author: Jack * 2020-05-06 16:03 */...numbers.stream().parallel().reduce { t: Int, u: Int -> t + u }.get() } 运行结果: 655344706 listSum Time:3235ms 4.使用Kotlin
io.reactivex.rxjava2:rxandroid:2.0.2' implementation 'io.reactivex.rxjava2:rxjava:2.1.10' Github地址 使用 延迟执行 Kotlin...TimeUnit.MILLISECONDS) .observeOn(AndroidSchedulers.mainThread()) .subscribe { } 多线程 常用的方式是分线程中处理数据...,主线程中使用数据生成页面 Kotlin Observable .create> { source -> var treeList
DrawerLayout 控件用处:实现滑动菜单 1.1 首先它是一个布局,在布局中允许放入两个直接子控件, 第一个子控件是主屏幕中显示的内容;...2.2.1 menu是用来在NavigationView中显示具体的菜单项的; 为Menu resource file;...2.2.2 headerLayout则是用来在NavigationView中显示头部布局的。...menu是用来在NavigationView中显示具体的菜单项的; headerLayout则是用来在NavigationView中显示头部布局的。...表示组中的所有菜单项只能单选; 那么下面我们来看一下这些菜单项吧。
领取专属 10元无门槛券
手把手带您无忧上云