- 博客(258)
- 资源 (25)
- 收藏
- 关注
原创 解决 java.lang.IllegalStateException:.... has already been added to the window manager. 错误问题
解决方式:视图不在窗口管理器中. 有没有办法检查windowmanager之前是否已经添加过视图推荐答案您可以检查视图的窗口标记是否为空:if(view.getWindowToken() != null){ WindowManager.removeView(view);}您也可以捕获异常:try{ WindowManager.removeView(view);}catch(IllegalArgumentException e){ Log.e(de...
2022-04-20 21:34:55 4656
原创 HTML中的行级、块级、行内块标签及各种标签之间的转换
HTML中的行级、块级、行内块标签及各种标签之间的转换@[TOC](HTML中的行级、块级、行内块标签及各种标签之间的转换)块级标签行级标签行内块标签总结一、标签之间的转换二、标签之间的区别三、标签间的嵌套规则块级标签独占一行,不和其他元素在同一行能设置宽高常见的块级标签:div,p,h1-h6,ul,li,dl,dt,dd行级标签能和其他元素在同一行不能设置宽高常见的行级标签:a ,span,strong,u,em行内块标签能和其他元素待在一行能设置宽高常见的行内块标签
2022-04-20 14:52:57 2149
原创 html+css+js基础内容(八)
1.尺寸相关 1)获取和设置元素的尺寸 $(dom).width()/height() 获取元素的宽度/高度 $(dom).innerWidth()/innerHeight() 获取包括padding的宽度/高度 $(dom).outerWidth()/outerHeight() 获取包括padding和border的宽度/高度 $(dom).outerWidt...
2022-04-20 10:51:20 97
原创 html+css+js基础内容(七)
1.JSON JSON(JavaScript Object Natation:JS对象表示法)是一种轻量级的数据交换格式。用独立的编程语言的文本格式来存储和表示数据。 1)优点 易于阅读和编写,同时也易于浏览器解析和生成,并有效地提升网络传输效率。 2)与XML比较 JSON书写或解析时是一个对象,更容易解析;而XML是由用户自定义标签来存储数据的,对于前端来说,不容易书写且解析起来比较困难。 3)JSON文件内容 它可以是一个...
2022-04-20 10:49:52 122
原创 html+css+js基础内容(六)
1.函数 函数就是将具有一定功能的一段JS代码的封装,可以在程序的多个地方被反复调用。 1)定义函数 格式一: function 函数名([形参列表]){ 函数体; [return [<表达式>];] } 格式二: var 变量名 = function([形参列表]){ 函数体;...
2022-04-20 10:47:33 140
原创 html+css+js基础内容(五)
1.JS是运行在客户端的一种解释型编程语言,它是一种弱类型的语言。2.JS的作用: 用来完成前后端交互、增加用户体验的一些逻辑实现。3.一个网页是三部分组成:结构(HTML/HTML5)、表现(CSS/CSS3)和形为(JavaScript)。4.前端开发的核心是:JavaScript。5.JavaScript的组成: 1)ECMAScript(标准:ECMA-262):基础语言部分(基础、面向对象等) 2)DOM(标准:W3C):节点操作 3)BOM(无标准):浏览...
2022-04-20 10:44:25 211
原创 html+css+js基础内容(四)
1.变形(transform) translate(x,y) 定义 2D 转换,沿着 X 和 Y 轴移动元素。 位移效果 translateX(n) 定义 2D 转换,沿着 X 轴移动元素。 translateY(n) 定义 2D 转换,沿着 Y 轴移动元素。 scale(x,y) 定义 2D 缩放转换,改变元素的宽度和高度。 缩放效果 scaleX(n) 定义 2D 缩放转换,改变元素的宽度。 scaleY(n) 定义 2D 缩放转换,改变元素的高度。...
2022-04-20 10:40:39 395
原创 html+css+js基础内容(三)
1.HTML5由W3C和WHAT组织机构共同研发出来的,于2014年正式发布。2.HTML5成为了新一代网页开发标准。3.HTML5新特性(面试) 1)增加了audio和video音频播放,抛弃了Flash 2)新增了canvas画布(绘画,制作动画(如小游戏开发等)) 3)地理定位 4)增加了离线缓存 5)硬件加速 6)Web Socket(全双工通信) 7)增加了本地存储 8)新增了一些语义化标签4.网页布局标签 header...
2022-04-20 10:30:26 164
原创 html+css+js基础内容(二)
1.什么是浮动? 浮动就是让块级标签不独占一行。目的(使用场景):把块级标签元素可以排在一行上。2.浮动的原理 就是让元素脱离文档流,不占用标准流。3.float的属性值: left:左浮动 right:右浮动 none:默认值,不浮动4.浮动后,后面的元素不管是块级还是行级元素,不会显示在下一行。5.清除浮动 目的:让后面的元素自动掉到下一行。 方法: 1)添加空标签,并设置样式:clear:both; ...
2022-04-20 10:26:41 159
原创 html+css+js基础内容(一)
1.标签由标签名、标签属性和文本内容三部分组成(注意:单标签没有文本内容)。2.标签属性是对标签的一种描述方式。3.标签属性分通用属性、自有属性和自定义属性。4.通用属性:所有标签都具有的属性(除<br />标签外)。 通用属性有: id:用来给标签取一个唯一的名称。id名称在一个网页必须是唯一的。 class:用来给标签取一个类名。 style:用来设置该标签的行内样式。 title:当鼠标移到该标签,所显示的提示内...
2022-04-20 10:22:08 234
原创 IDEA中出现Kotlin: Cannot access built-in declaration ‘kotlin.Array‘. Ensure that you have a dependency
IDEA中出现错误提示:Kotlin: Cannot access built-in declaration 'kotlin.Array'. Ensure that you have a dependency on the Kotlin standard library且Project Structure中 Libraries Gradle出现红色解决办法:
2022-03-22 02:21:58 8738
原创 使用阿里云服务器在Ubuntu系统上部署SVN代码仓库方法,自己实测可用。
在控制台里面添加开放端口: 网络和安全组 -> 安全组配置->配置规则手动添加端口:36901.卸载svn利用以下命令查看自己的系统是否已经安装了svn:svn上面显示为未安装,如果显示一下信息说明已安装,可以使用以下命令进行卸载:sudo apt-get remove --purge subversion(–purge 选项表示彻底删除改软件和相关文件)2.安装svn安装前建议更新一下,再进行安装:sudo apt-get updatesu.
2022-03-05 18:34:41 594
原创 Android Jetpack中Paging3 转换数据流
Android Jetpack中Paging3 转换数据流转换数据流执行基本转换转换数据过滤数据添加列表分隔符转换界面模型转换数据流处理界面中的分隔符避免重复工作转换数据流使用分页数据时,您通常需要在加载数据流时对其进行转换。例如,您可能需要过滤一系列数据项,或者将数据项转换为其他类型,才能在界面中呈现它们。数据流转换的另一个常见用例是添加列表分隔符。概括来说,直接对数据流进行转换可让您将存储库构造和界面构造分开。执行基本转换由于 PagingData 封装在响应式数据流中,因此您可以在加载数据
2022-03-02 18:17:26 2568
原创 Android Jetpack中Paging3 从网络和数据库加载页面
Android Jetpack中Paging3 从网络和数据库加载页面从网络和数据库加载页面协调数据加载Paging 生命周期基本用法创建 Room 实体实现 RemoteMediator定义 initialize 方法创建 Pager处理竞态条件管理远程键项键页面键添加远程键表使用远程键加载就地刷新从网络和数据库加载页面确保您的应用在网络连接不稳定或用户离线时也可以正常使用,从而提供更好的用户体验。一种方式是同时从网络和本地数据库加载页面。这样,您的应用就会从本地数据库缓存驱动界面,并且仅在数据库中
2022-03-02 17:58:23 1291
原创 Android Jetpack中Paging3 加载并显示分页数据
Android Jetpack中Paging3加载并显示分页数据加载并显示分页数据定义数据源选择键和值类型定义 PagingSource处理错误设置 PagingData 流在界面中显示分页数据加载并显示分页数据Paging 库提供了强大的功能,用于从较大的数据集加载和显示分页数据。本指南将演示如何使用 Paging 库设置来自网络数据源的分页数据流并将其显示在 RecyclerView 中。定义数据源第一步是定义用于标识数据源的 PagingSource 实现。PagingSource API
2022-03-02 17:20:32 3251
原创 Android Jetpack中Paging 库概览
Android Jetpack中Paging 库概览Paging 库概览库的架构代码库层ViewModel 层界面层Paging 库概览Android Jetpack 的一部分。Paging 库可帮助您加载和显示来自本地存储或网络中更大的数据集中的数据页面。此方法可让您的应用更高效地利用网络带宽和系统资源。Paging 库的组件旨在契合推荐的 Android 应用架构,流畅集成其他 Jetpack 组件,并提供一流的 Kotlin 支持。使用 Paging 库的优势Paging 库包含以下功能:
2022-03-02 17:01:52 2312
原创 Android Jetpack中LiveData 概览
Android Jetpack中LiveData 概览LiveData 概览使用 LiveData 的优势确保界面符合数据状态不会发生内存泄漏不会因 Activity 停止而导致崩溃不再需要手动处理生命周期数据始终保持最新状态适当的配置更改共享资源使用 LiveData 对象创建 LiveData 对象观察 LiveData 对象更新 LiveData 对象将 LiveData 与 Room 一起使用将协程与 LiveData 一起使用应用架构中的 LiveData扩展 LiveData转换 LiveDat
2022-02-28 18:53:06 177
原创 AS: Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
报错:Android Studio Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:解决方法File – Project Structure – Project修改为最新的Gradle版本即可
2022-02-27 21:59:19 1755 4
原创 Unable to make field private final java.lang.String java.io.File.path accessible: module java.base d
问题:Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not “opens java.io” to unnamed module @4f3bc4f原因:JDK版本过高导致的。修改为正常的1.8即可
2022-02-27 21:56:04 22347 3
原创 Android Jetpack中Lifecycle使用生命周期感知型组件处理生命周期
Android Jetpack中Lifecycle使用生命周期感知型组件处理生命周期使用生命周期感知型组件处理生命周期Lifecycle事件状态LifecycleOwner实现自定义 LifecycleOwner生命周期感知型组件的最佳做法生命周期感知型组件的用例处理 ON_STOP 事件使用生命周期感知型组件处理生命周期生命周期感知型组件可执行操作来响应另一个组件(如 Activity 和 Fragment)的生命周期状态的变化。这些组件有助于您编写出更有条理且往往更精简的代码,此类代码更易于维护。
2022-02-27 19:43:39 471
原创 Android Jetpack中DataBinding双向数据绑定(八)
Android Jetpack中DataBinding双向数据绑定(八)双向数据绑定使用自定义特性的双向数据绑定转换器使用双向数据绑定的无限循环双向特性双向数据绑定使用单向数据绑定时,您可以为特性设置值,并设置对该特性的变化作出反应的监听器: <CheckBox android:id="@+id/rememberMeCheckBox" android:checked="@{viewmodel.rememberMe}" android:onC
2022-02-26 18:38:02 773
原创 Android Jetpack中DataBinding将布局视图绑定到架构组件(七)
Android Jetpack中DataBinding将布局视图绑定到架构组件(七)将布局视图绑定到架构组件使用 LiveData 将数据变化通知给界面使用 ViewModel 管理界面相关数据使用 Observable ViewModel 更好地控制绑定适配器将布局视图绑定到架构组件AndroidX 库包含架构组件 (Architecture Components),可用于设计可靠、可测试且可维护的应用。数据绑定库 (Data Binding Library) 可与架构组件无缝协作,进一步简化界面的
2022-02-26 18:08:19 2091
原创 Android Jetpack中DataBinding数据绑定-绑定适配器(六)
Android Jetpack中DataBinding数据绑定-绑定适配器(六)绑定适配器设置特性值自动选择方法指定自定义方法名称提供自定义逻辑对象转换自动转换对象自定义转换绑定适配器绑定适配器负责发出相应的框架调用来设置值。例如,设置属性值就像调用 setText() 方法一样。再比如,设置事件监听器就像调用 setOnClickListener() 方法。数据绑定库允许您通过使用适配器指定为设置值而调用的方法、提供您自己的绑定逻辑,以及指定返回对象的类型。设置特性值只要绑定值发生更改,生成的
2022-02-26 16:59:06 1245
原创 Android Jetpack中DataBinding数据绑定生成的绑定类(五)
Android Jetpack中DataBinding数据绑定生成的绑定类(五)生成的绑定类创建绑定对象带 ID 的视图变量ViewStubs即时绑定高级绑定动态变量后台线程自定义绑定类名称生成的绑定类数据绑定库可以生成用于访问布局的变量和视图的绑定类。本页介绍了如何创建和自定义生成的绑定类。生成的绑定类将布局变量与布局中的视图关联起来。绑定类的名称和包可以自定义。所有生成的绑定类都是从 ViewDataBinding 类继承而来的。系统会为每个布局文件生成一个绑定类。默认情况下,类名称基于布局文
2022-02-26 15:50:00 1010
原创 Android Jetpack中DataBinding数据绑定使用可观察的数据对象(四)
Android Jetpack中DataBinding数据绑定使用可观察的数据对象(四)使用可观察的数据对象可观察字段可观察集合可观察对象使用可观察的数据对象可观察性是指一个对象将其数据变化告知其他对象的能力。通过数据绑定库,您可以让对象、字段或集合变为可观察。任何 plain-old 对象都可用于数据绑定,但修改对象不会自动使界面更新。通过数据绑定,数据对象可在其数据发生更改时通知其他对象,即监听器。可观察类有三种不同类型:对象、字段和集合。当其中一个可观察数据对象绑定到界面并且该数据对象的属性
2022-02-26 15:41:15 644
原创 Android Jetpack中DataBinding数据绑定布局和绑定表达式(三)
Android Jetpack中DataBinding数据绑定布局和绑定表达式(三)布局和绑定表达式数据对象绑定数据表达式语言缺少的运算Null 合并运算符属性引用避免出现 Null 指针异常视图引用集合字符串字面量资源事件处理方法引用避免使用复杂的监听器导入、变量和包含导入类型别名导入其他类变量包含布局和绑定表达式借助表达式语言,您可以编写表达式来处理视图分派的事件。数据绑定库会自动生成将布局中的视图与您的数据对象绑定所需的类。数据绑定布局文件略有不同,以根标记 layout 开头,后跟 data
2022-02-25 19:24:54 284
原创 Android Jetpack中DataBinding数据绑定使用入门(二)
Android Jetpack中DataBinding数据绑定使用入门(二)DataBinding数据绑定使用入门编译环境Android Studio 对数据绑定的支持DataBinding数据绑定使用入门了解如何准备开发环境以使用数据绑定库,包括支持 Android Studio 中的数据绑定代码。数据绑定库不但灵活,而且兼容性广,它是一个支持库,因此您可以在运行 Android 4.0(API 级别 14)或更高级别的设备上使用它。建议您在项目中使用最新的 Android Plugin for
2022-02-25 18:48:43 459
原创 Android studio ContextCompat.checkSelfPermission中Manifest.permission unresolved reference错误解决方式
代码中自动检测权限的代码报错:Manifes中的permission,报unresolved reference:permisson错误正确代码如下:if(ContextCompat.checkSelfPermission(this,android.Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){ ActivityCompat.requestPermissions(this,a
2022-02-25 17:24:51 1629
原创 Android Jetpack中DataBinding数据绑定库概览(一)
Android Jetpack中DataBinding数据绑定库概览(一)数据绑定库使用数据绑定库使用可观察的数据对象生成的绑定类绑定适配器将布局视图绑定到架构组件双向数据绑定数据绑定库数据绑定库是一种支持库,借助该库,您可以使用声明性格式(而非程序化地)将布局中的界面组件绑定到应用中的数据源。布局通常是使用调用界面框架方法的代码在 Activity 中定义的。例如,以下代码调用 findViewById() 来查找 TextView 微件并将其绑定到 viewModel 变量的 userName
2022-02-25 17:13:28 542
原创 Android Jetpack中ViewBinding视图绑定的理解与使用
Android Jetpack中ViewBinding视图绑定的理解与使用视图绑定设置说明用法在 Activity 中使用视图绑定在 Fragment 中使用视图绑定与 findViewById 的区别与数据绑定的对比视图绑定通过视图绑定功能,您可以更轻松地编写可与视图交互的代码。在模块中启用视图绑定之后,系统会为该模块中的每个 XML 布局文件生成一个绑定类。绑定类的实例包含对在相应布局中具有 ID 的所有视图的直接引用。在大多数情况下,视图绑定会替代 findViewById。设置说明注意:
2022-02-25 16:55:19 333
原创 Android Jetpack中DataStore的理解与使用
Android Jetpack中DataStore的理解与使用DataStorePreferences DataStore 和 Proto DataStore设置使用 Preferences DataStore 存储键值对定义架构创建 Proto DataStore从 Proto DataStore 读取内容在同步代码中使用 DataStoreDataStoreJetpack DataStore 是一种数据存储解决方案,允许您使用协议缓冲区存储键值对或类型化对象。DataStore 使用 Kotlin
2022-02-25 16:36:26 1706
原创 Kotlin中协程的Channel通道(二)
Kotlin中协程的Channel通道(二)channel中select多路复用复用多个await复用多个ChannelSelectClause使用Flow实现多路复用channel的并发安全协程的并发工具避免访问外部可变状态channel中select多路复用数据通信系统或计算机网络系统中,传输媒体的带宽或容量往往会大于传输单一信号的需求,为了有效地利用通信线路, 希望一个信道同时传输多路信号,这就是所谓的多路复用技术(Multiplexing)。复用多个await两个API分别从网络和
2022-02-18 03:37:43 743
原创 Kotlin中协程的Channel通道(一)
Kotlin中协程的Channel通道(一)Channel-通道Channel的容量迭代Channelproduce与actorChannel的关闭BroadcastChannelChannel-通道Channel实际上是一个并发安全的队列,它可以用来连接协程,实现不同协程的通信。 @Test fun `test know channel`() = runBlocking<Unit> { val channel = Channel<Int>()
2022-02-18 03:32:56 947
原创 Kotlin中协程的Flow异步流(二)
Kotlin中协程的Flow异步流(二)flow的背压flow的操作符过渡流操作符末端流操作符组合多个流展平流流的异常处理流的完成flow的背压buffer(),并发运行流中发射元素的代码。conflate(), 合并发射项,不对每个值进行处理。collectLatest(),取消并重新发射最后一个值。当必须更改CoroutineDispatcher时,flowOn操作符使用了相同的缓冲机制,但是buffer函数显式地请求缓冲而不改变执行上下文。 fun simpleFlow8() = f
2022-02-18 00:54:28 1111
原创 Kotlin中协程的Flow异步流(一)
Kotlin中协程的Flow异步流(一)如何表示多个值?Flow与其他方式的区别Flow应用Flow的冷流Flow的连续性Flow的构建器Flow的上下文启动流Flow的取消Flow的取消检测如何表示多个值?挂起函数可以异步的返回单个值,但是该如何异步返回多个计算好的值呢?//返回了多个值,但是不是异步的 fun simpleList(): List<Int> = listOf(1, 2, 3) fun simpleSequence(): Sequence<In
2022-02-18 00:50:25 733
原创 Kotlin中协程的异常处理
文章目录异常处理的必要性异常的传播非根协程异常异常的传播特性SupervisorJobsupervisorScope异常的捕获Android中全局异常处理取消与异常异常聚合异常处理的必要性当应用出现一些意外情况时,给用户提供合适的体验非常重要,一方面,目睹应用崩溃是一个很糟糕的体验, 另一方面,在用户操作失败时,也必须要能给出正确的提示信息。异常的传播协程构建器有两种形式:自动传播异常(launch与actor),向用户暴露异常(async与produce)当这些构建器用于创建一个根协程时(
2022-02-14 20:51:29 614
原创 Kotlin中协程的上下文CoroutineContext
文章目录协程的上下文CoroutineContext是一组用于定义协程行为的元素。它由如下几项构成:组合上下文中的元素协程上下文的继承协程上下文的继承协程的上下文 = 默认值 + 继承的CoroutineContext +参数协程的上下文CoroutineContext是一组用于定义协程行为的元素。它由如下几项构成:1.Job:控制协程的生命周期。2.CoroutineDispatcher:向合适的线程分发任务。3.CoroutineName:协程的名称,调试的时候很有用。4.Corouti
2022-02-14 20:43:56 514
原创 Kotlin中协程的取消与取消的副作用以及超时任务
Kotlin中协程的取消与取消的副作用以及超时任务协程取消CPU密集型任务取消协程取消的副作用不能取消的任务超时任务协程取消取消作用域会取消它的子协程。被取消的子协程并不会影响其余兄弟协程。协程通过抛出一个特殊的异常CancellationException来处理取消操作。所有kotlinx.coroutines中的挂起函数(withContext、delay等)都是可以取消的。@Test fun `test scope cancel`() = runBlocking<Uni
2022-02-14 16:30:47 840
原创 Kotlin中协程的Job对象
Kotlin中协程的Job对象Job对象Job的生命周期 Job对象对于每一个创建的协程(通过launch或者async),会返回一个Job实例,该实例是协程的唯一标识,并且负责管理协程的生命周期。一个任务可以包含一系列状态:新创建(New)、活跃(Active)、完成中(Completing)、已完成(Completed)、取消(Cancelling)和已取消(Cancelled)。虽然我们无法直接访问这些状态,但是我们可以访问Job的属性:isActive、isCancelled和isCom
2022-02-14 16:23:50 579
原创 Kotlin中协程的启动模式与作用域构建器
Kotlin中协程的启动模式与作用域构建器协程的启动模式协程的作用域构建器coroutineScope与runBlockingcoroutineScope与supervisorScope 协程的启动模式1.DEFAULT: 协程创建后,立即开始调度,在调度前如果协程被取消,其将直接进入取消响应的状态。2.ATOMIC: 协程创建后,立即开始调度,协程执行到第一个挂起点之前不响应取消3.LAZY: 只有协程被需要时,包括主动调用协程的start、join或者await等函数时才会开始调度,如果调度前
2022-02-14 01:35:04 439
基于zip4j开源框架实现android解压带有密码的zip文件(进度条显示)
2016-12-09
Android-异步HttpClient框架
2015-08-17
Android-SD卡文件夹创建和删除实现
2015-08-11
Android-扩展BaseAdapter实现progressBar下载
2015-08-09
Android-Activity之间数据传递的多种方式
2015-08-06
Android底层开发技术实战详解——内核、移植和驱动pdf完整版
2015-07-25
lamp 环境配置及discuz,phpwind,phpbb,wordpress网站的搭建/优秀论文
2015-07-07
lamp(Linux+Apache+Mysql+Perl/PHP/Python)论文
2015-06-24
Linux课程设计文档
2015-06-24
LAMP(linux,apache,mysql,php)架构
2015-06-24
javaweb-tomcat浏览器聊天室毕业设计
2015-01-30
Java多用户聊天室程序(毕业设计)
2015-01-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人