自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

klylove的博客

成年人的世界:万般皆苦,唯有自渡!

  • 博客(57)
  • 资源 (1)
  • 收藏
  • 关注

原创 sourcebuffer.onupdateend 回调中 video.buffered.start 更新原理

因此,在播放器的实现过程中,应该使用这些值来动态地更新进度条和其他用户界面元素,从而及时反映出当前视频的缓冲状态。值发生变化后,视频播放器可以使用这些值来确定可播放的视频段和缓冲区的大小,以优化播放器的表现和用户体验。事件将被触发,并且 buffered.end 的值将更新为缓冲区中所有数据的结束时间。的范围会扩展以包含新添加的视频数据。需要注意的是,由于视频数据被动态地添加到缓冲区中,事件被触发并且新的视频数据被添加到缓冲区中时,的值代表缓冲区的起始时间,而。当新的视频数据被添加到缓冲区时,

2023-06-16 15:13:05 447

原创 android adb卸载软件

1.在计算机上启动终端或命令提示符,并将其连接到设备,确保您已启用Android Developer选项。4.执行上述命令后,您应该会收到一个消息,指示已成功卸载应用程序。

2023-05-17 10:32:20 2401

原创 Android 实现js调用android实现扫码功能

上述代码中,我们创建了一个 WebView,这个 WebView 负责显示网页并执行JS代码。我们添加了一个 JsInterface 类,这个类是用来处理 JS 调用 Android 的逻辑的。在 JsInterface 类中,我们暴露了一个 scanQRCode 方法,这个方法供 JS 调用,以打开扫码界面。在扫码界面中,我们需要获取扫码结果,然后把结果传回给之前的 WebView。这里我们假设扫码界面的代码已经实现完成,这部分代码并不在此示例中。

2023-05-10 11:26:14 738

原创 vue 监听数组

上面的代码中,我们定义了一个列表和一个输入框和添加按钮。当输入框中有内容时,点击添加按钮可以将输入框中的内容添加到列表中。列表中每个元素旁边还有一个删除按钮,点击按钮可以移除对应的元素。属性来指定每个元素的唯一标识。:向数组中添加或移除元素。中,你可以通过监听数组的变化来更新界面。还提供了一个专门用来监听数组变化的方法。:向数组的开头添加一个或多个新元素;属性中实现,当页面中的数据改变时,:移除数组的最后一个元素;:移除数组的第一个元素;:对数组的元素进行排序;来实现对数组的监听。:将数组中的元素倒置。

2023-05-10 11:23:33 2376

原创 js 根据对象数组的某个属性返回对象

方法来根据对象数组的某个属性返回对象。这个方法接收一个函数作为参数,在函数中你可以访问对象数组的每个元素,并通过。在上面的例子中,我们先定义了一个包含对象的数组。语句返回符合条件的对象。来判断当前元素是否符合条件。表示对象数组中的每个元素,通过。变量中保存的就是符合条件的对象。

2023-05-10 11:19:51 1346

原创 响应式基础

reactive()的种种限制归根结底是因为 JavaScript 没有可以作用于所有值类型的 “引用” 机制。为此,Vue 提供了一个 ref()方法来允许我们创建可以使用任何值类型的响应式refimport {ref()将传入参数的值包装为一个带.value和响应式对象的属性类似,ref 的.value属性也是响应式的。同时,当值为对象类型时,会用reactive()自动转换它的.value。count : 0 }) // 这是响应式的替换 objectRef . value = {...

2022-08-30 13:41:26 697

原创 响应式 API:核心

接受一个内部值,返回一个响应式的、可更改的 ref 对象,此对象只有一个指向其内部值的属性.value。ref 对象是可更改的,也就是说你可以为.value赋予新的值。它也是响应式的,即所有对.value的操作都将被追踪,并且写操作会触发与之相关的副作用。如果将一个对象赋值给 ref,那么这个对象将通过转为具有深层次响应式的对象。这也意味着如果对象中包含了嵌套的 ref,它们将被深层地解包。若要避免这种深层次的转换,请使用 shallowRef()来替代。...

2022-08-30 13:40:39 177

原创 TypeScript 与组合式 API

当使用时,这被称之为“运行时声明”,因为传递给的参数会作为运行时的props选项使用。这被称之为“基于类型的声明”。编译器会尽可能地尝试根据类型参数推导出等价的运行时选项。在这种场景下,我们第二个例子中编译出的运行时选项和第一个是完全一致的。基于类型的声明或者运行时声明可以择一使用,但是不能同时使用。...

2022-08-15 11:02:45 1243

原创 vue3 Pinia使用示例

Pinia是Vue的存储库,它允许您跨组件/页面共享状态。如果您熟悉CompositionAPI,您可能会认为您已经可以通过一个简单的exportconststate=reactive({}).这对于单页应用程序来说是正确的,但如果它是服务器端呈现的,会使您的应用程序暴露于安全漏洞。.........

2022-07-17 00:16:55 1693

原创 Vue大屏页面屏幕自适应

1.在配置文件设置大屏设计的尺寸1920*10802.定义resetScreenSize.js3.使用方式main.js 引入4.组件中样式其中 96为 配置文件中1920/20得来,这样不用在进行各种换算了

2022-07-11 16:30:02 3540 4

原创 vue 定时器使用

场景:根据ws推送人脸画框位置,在canvas上画出来;超过500ms没收到消息,清理画布调用如下:

2022-07-07 15:08:18 554

原创 SOA面向服务的架构

Gartner 公司在 1996 年进一步提出了 SOA 的概念,意为面向服务的架构,本质上是面向服务的思想在企业 IT 架构方面的应用。面向服务的思想,是面向对象思想之后的一种新的思想模式,其核心特征就是以松耦合、粗粒度的服务单元来构建软件。作为一种思想,SOA 不涉及任何具体的实现技术细节,但是思想终归要落地才会带来社会效益。 人们发现,企业服务总线(简称为 ESB)是实现 SOA 的主要技术之一,于是 ESB 也就成为 SOA 的核心技术基础。当然,不用 ESB 也不能说你的系统就不是

2022-06-22 15:38:16 736

原创 springboot常用注解与实例

在SpringBoot框架为我们自动创建的启动类当中,使用了@SpringBootApplication注解标签对启动 类进行修饰。@SpringBootApplication注解标签实际上是一个复合注解标签,包括@EnableAutoConfiguration、@ComponentScan通常用在主类上原生框架整合过程中,如果想要在容器中添加一个自定义对象,我们所需要完成的工作:在框架使用的配置文件的跟标签下,添加如下标签的内容声明:但是在框架当中,允许我们直接通过创建并返回Java对象的方式,直接

2022-06-22 14:57:59 870

原创 java 十进制二进制

1.十进制转二进制原理:给定的数循环除以2,直到商为0或者1为止。将每一步除的结果的余数记录下来,然后反过来就得到相应的二进制了例如 8转二进制,第一次除以2等于4(余数0),第二次除以2等于2(余数0),第三次除以2等于1(余数0),最后余数1,得到的余数依次是0 0 0 1反过来就是1000,计算机内部表示数的字节长度是固定的,比如8位,16位,32位。所以在高位补齐,java中字节码是8位的,所以高位补齐就是00001000.写法位(8)10=(00001000)2;package sour

2021-12-27 11:20:22 279 1

转载 Java内存区域(运行时数据区域)和内存模型(JMM)

https://www.cnblogs.com/czwbig/p/11127124.html

2021-12-20 16:44:08 72

原创 Android LiveData 详解及使用

文章目录一、`LiveData`是什么?二、`LiveData`的优点三、使用 `LiveData` 对象创建 `LiveData`对象观察 `LiveData` 对象更新 `LiveData`对象将 `LiveData` 与 Room 一起使用四、应用架构中的 `LiveData`五、扩展 `LiveData`六、转换 `LiveData`创建新的转换七、合并多个 `LiveData` 源七、合并多个 `LiveData` 源一、LiveData是什么?LiveData 是一种可观察的数据存储器类。

2021-12-20 13:48:58 10619 5

原创 Android ConstraintLayout 详解及示例

前言ConstraintLayout 可让您使用扁平视图层次结构(无嵌套视图组)创建复杂的大型布局。它与 RelativeLayout 相似,其中所有的视图均根据同级视图与父布局之间的关系进行布局,但其灵活性要高于 RelativeLayout,并且更易于与 Android Studio 的布局编辑器配合使用。ConstraintLayout 的所有功能均可直接通过布局编辑器的可视化工具来使用,因为布局 API 和布局编辑器是专为彼此构建的。 因此,您完全可以使用 ConstraintLayout 通过

2021-12-16 11:43:53 11431

原创 Android 布局通用属性gravity和layout_gravity的区别

android通用属性gravity、layout_gravity区别

2021-12-15 16:41:19 1842

原创 JS 深拷贝与浅拷贝详解

深拷贝及浅拷贝深拷贝浅拷贝实例深拷贝增加一个指针并产生一个新内存,使这个新增的指针指向新的内存采用深拷贝,释放内存时就不会出现在浅拷贝时重复释放同一个内存的错误。let str = JSON.stringify(form) // form对象被拷贝为一个字符串let newform12 = JSON.parse(str ); // str 字符串转为一个新的对象浅拷贝在指针的情况下,浅拷贝只是增加一个指针,指向已经存在的内存,并没有产生新的内存只拷贝了第一层的对象,深层对象没有拷贝(

2021-05-08 16:12:40 115

原创 Android CountDownTimer 倒计时的使用

1.声明变量/** * 第一个参数:从调用start()开始,到计时结束的时间,也就是倒计时的总时间,单位为毫秒; * 第二个参数:倒计时间的隔时间,单位为毫秒; */private CountDownTimer cdTimer = new CountDownTimer(10*1000, 1000) { @Override public void onTick(long ...

2019-12-05 21:02:03 861

原创 android沉浸式页面实现

1.依赖dependencies { //沉浸式状态栏 // After AndroidX implementation ('com.github.niorgai:StatusBarCompat:2.3.3', { exclude group: 'androidx.appcompat:appcompat' exclude group: 'com.google....

2019-12-02 15:00:37 502

原创 一次性倒计时

1. 代码工具类public class BaseTimerTask extends TimerTask { private ITimerListener mITimerListener=null; public BaseTimerTask(ITimerListener iTimerListener) { this.mITimerListener = iTim...

2019-11-28 20:25:59 102

原创 使用Bundle在Activity之间传递数据(Activity之间数据传递)

当一个`Activity`启动另一个`Activity`时,常常会有一些数据需要传过去。对于`Activity`而言,进行数据交换很简单,只需要使用`Intent`,将我们需要传递的数据放入`Intent`中即可。

2019-11-20 11:56:23 1770 1

原创 okhttp3请求详解

1.同步get请求下载文件,打印其标题,并将其响应正文打印为字符串。响应体上的string()方法对于小型文档非常方便和有效。但如果响应体很大(大于1 mib),请避免string(),因为它会将整个文档加载到内存中。在这种情况下,更愿意将主体作为流处理。 private final OkHttpClient client = new OkHttpClient(); public ...

2019-10-30 19:29:06 747

原创 Android服务基础

服务概述 服务是一个应用程序组件,它可以在后台执行长时间运行的操作,并且不提供用户界面。另一个应用程序组件可以启动一个服务,即使用户切换到另一个应用程序,它也会在后台继续运行。此外,组件可以绑定到服务来与之交互,甚至可以执行进程间通信(IPC)。例如,服务可以在后台处理网络事务、播放音乐、执行文件I/O或与内容提供者交互。以下是三种不同类型的服务:...

2019-09-17 10:18:21 145

原创 html、css、js、jquery之间的关系

1.简单的理解一:1)HTML 定义了网页的内容2)CSS 描述了网页的布局3)JavaScript 网页的行为4)jQuery 是一个 JavaScript 库。jQuery 极大地简化了 JavaScript 编程。2.从实质上理解二:1)HTML(超文本标记语言, 标记标签)   我们可以把它说成是静态代码。2)CSS(层叠样式表)  使用CSS制作网页时,可以有效地对页...

2019-08-05 16:23:17 431

原创 Android textView 动态设置代码字号大小,支持单位选项 dp,sp or px

Android textView: setTextSize(TypedValue.COMPLEX_UNIT_PX,22); //22像素 setTextSize(TypedValue.COMPLEX_UNIT_SP,22); //22SP setTextSize(TypedValue.COMPLEX_UNIT_DIP,22);//22DIP通常我们使用字体大小使用的...

2019-02-12 10:21:47 1444

原创 java的System.arraycopy()实例

一、System.arraycopy()方法如下它可以实现将一个数组的指定个数元素复制到另一个数组中:public static void arraycopy(Object src, int srcPos, Object dest, ...

2018-08-16 09:28:50 383

原创 Android通过原生APi获取所在位置的经纬度

本文介绍了Android通过原生APi获取所在位置的经纬度。 场景:新增一个功能,用户app主页后,将用户的经纬度通过一个接口返回给服务端,从而让服务器可以准确定位。步骤分析:权限问题 : Android 6.0之后新增动态权限,而获取获取经纬度坐标的权限如果你的app的(TargetVersion>=23)就需要动态获取了(当然也得在清单文件中设置)代码实现(具体请看下...

2018-08-02 13:41:41 1932

原创 LitePal数据库从依赖到操作

导入库编辑build.gradle文件并添加以下依赖说明:dependencies { compile 'org.litepal.android:core:1.3.0'}配置litepal.xml在工程里的assets文件夹里新建一个litepal.xml文件,将以下代码拷贝进去。<?xml version="1.0&quot

2018-07-12 10:39:14 2878

原创 Linux基础命令

Linux基础命令(笔记)创建挂载点:mount卸载挂载点:umount权限设置:chmod是ROOT用户的提示符$,是普通用户的提示符 可以通过修改环境变量PROMPT_COMMAND来修改该值。1、Linux启动等级【 linit n 】² 0—系统停机状态² 1—单用户工作状态² 2—多用户状态(没有NFS)² 3—多用户状态(有NFS)...

2018-05-25 16:40:13 150

原创 Android菜单——Menu

Menu:菜单在Android系统中,菜单的种类可以分为: 1. OptionsMenu:选项菜单 / 系统菜单 2. ContextMenu:上下文菜单OptionsMenu:选项菜单 / 系统菜单OptionsMenu是点击设备上的Menu键弹出的菜单。 在Activity中,通过重写onCreateOptionsMenu()实现创建OptionsMenu;1.【创建菜单-1:XML】

2016-11-24 10:20:04 537

原创 Android登录用户名记住密码——偏好设置(SharedPreferences)

SharedPreferences:偏好设置偏好设置指的是“个性化设置”,即同一个软件,不同的使用者,设置的结果是不一样的,例如某音乐播放器中的“是否在WIFI情况下下载歌词”、某游戏中的“是否打开背景音乐”、“是否打开间效”,某新闻APP中的“默认字体大小”……一.使用偏好设置的数据的特征是:数据量小存在可描述的K-V关系数据在应用程序中私有,不需要共享给其它应用随时可能需要保存或读取二

2016-11-23 19:52:13 1268 1

原创 SQLite数据库

SQLite数据库使用SQLite便于存储有规则的数据,并且,便于实现对数据的管理,包括增加数据、修改数据、删除数据、查询数据。数据库(Database):表示为一个文件,是多张数据表的容器数据表(Table):具体存储数据的表格一.创建数据库调用Context定义openOrCreateDatabase(String name, int mode, CursorFactory factory)方法

2016-11-23 19:28:19 342

原创 使用Adapter更新列表

调用Adapter的notifyDataSetChanged()方法可以通知数据集合发生变化,则AdapterView会更新列表显示!在创建Adapter对象时,会使用到数据源(通常是List集合),则Adapter对象中会记录数据源对象的内存地址,假设是007,当需要列新列表时,需要先更新数据源,然后再调用notifyDataSetChanged()方法,但是,切记不可以对数据源的变量重新赋值!!

2016-11-23 19:04:09 450

原创 Java之IO操作

ioio Input / Output 输入 / 输出java.io 包File RandomAccessFileInputStream / OutputStream 字节流的抽象父类 FileInputStream / FileOutputStream 插文件,直接读写文件数据 BufferedInputStre

2016-11-21 19:30:51 270

原创 自定义SeekBar的外观

1.在res\drawable文件夹,新建XML文件以配置SeekBar的外观,该文件的根节点需要选择为layer-list;2.在XML文件中,添加2个<item>子节点,且分别配置android:id属性值为@android:id/background和@android:id/progress,例如: <layer-list xmlns:android="http://schemas.andro

2016-11-17 20:43:11 831

原创 Static——静态

static静态静态成员属于类,而不属于对象调用静态成员,一般使用类名调用 s1 = new Soldier() s2 = new Soldier() s1.count = 1;//容易误解成对象的属性 s2.count = 2; print(s1.count) --------------- Soldier.co

2016-11-17 20:25:31 329

原创 使用Intent传值

Intent的简单用法一、传值——>取值1.传值Intent intent=new Intent();intent.putExtra("extra", "这是页面一传来的值!");intent.setClass(Test_for_intentActivity.this, actpage2.class);startActivity(intent);2.取值:Intent intent=getIn

2016-11-17 00:18:52 241

原创 Android四大组件——BroadcastReceiver广播接受者

BroadcastReceiver:广播接收者BroadcastReceiver是Android系统的核心组件之一!广播是一种通信方式,可以有1个发送方,和若干个(0~N个)接收方。广播这种通信方式在Android设备中,用于实现全设备间的通信!基础:发送广播与接收广播调用sendBroadcast(Intent)方法即可发送广播,在发送前,需要在Intent对象中封装Action属性,以表示广播的

2016-11-16 19:26:54 350

ConstraintLayout 构建自适应界面.pdf

ConstraintLayout 构建自适应界面,android端开发

2021-12-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除