- 博客(234)
- 资源 (2)
- 收藏
- 关注
原创 SpringBoot:web开发
springboot:web开发,技术摘要1. webjars2. Bootstrap3. 模板引擎thymeleaf4. 嵌入式Servlet容器5. 注册web三大组件
2024-02-06 17:24:16 1170
原创 正则表达式提取短信验证码
从短信中提取短信验证码正则表达式public class TestGetDynamicPwd { public static void main(String[] args) { getDynamicSmsVerifyCode(); getDynamicSmsVerifyCode2(); } /** * 从字符串中截取连续6位数字组合 ([0-9])截取六位数字 进行前后断言不能出现数字 用于从短信中获取动态密码 *
2021-06-04 10:32:47 4194 1
原创 Android:使用Gson常见问题(包含解决将Long型转化为科学计数法的问题)
Android:使用Gson常见问题(包含解决将Long型转化为科学计数法的问题)
2024-08-18 17:36:09 528
原创 Android:动态更新app启动图标和应用名
Android app只能替换内置的icon,因此需要提前将logo图标放入App资源文件件里实际项目App更新桌面启动图标由服务器端控制,可以在App启动页里请求全局配置接口,根据接口返回的是否更新启动图标字段值进行处理。
2024-08-18 10:55:50 860
原创 Vue:Vuex-Module
由于使用单一状态树,应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时,store 对象就有可能变得相当臃肿。为了解决以上问题,Vuex 允许我们将 store 分割成模块(module)。每个模块拥有自己的 state、mutation、action、getter、甚至是嵌套子模块——从上至下进行同样方式的分割。
2024-08-15 09:40:07 1011
原创 Vue:Vuex-Action
Action 类似于 mutation,不同在于:Action 提交的是 mutation,而不是直接变更状态。Action 可以包含任意异步操作。
2024-08-15 09:04:15 885
原创 Vue:Vuex-Mutation
更改 Vuex 的 store 中的状态的唯一方法是提交 mutation。Vuex 中的 mutation 非常类似于事件:每个 mutation 都有一个字符串的事件类型 (type)和一个回调函数 (handler)。这个回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数:
2024-08-14 15:19:27 514
原创 Vue:Vuex-Store使用指南
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
2024-08-13 22:03:17 1227
原创 Vue:vue-router使用指南
Vue Router 是 Vue.js 的官方路由。它与 Vue.js 核心深度集成,让用 Vue.js 构建单页应用变得轻而易举
2024-08-03 17:16:15 1007 1
原创 Vue:Vuex概念
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
2024-07-27 20:50:13 1006
原创 Vue:状态(state)管理
store模式组件不允许直接变更属于 store 实例的 state,而应执行 action 来分发 (dispatch) 事件通知 store 去改变
2024-07-27 20:34:52 551
原创 Android:requestLayout、invalidate 和 postInvalidate 的区别
Android:requestLayout、invalidate 和 postInvalidate 的区别
2024-07-20 22:24:44 1411
原创 Vue:自定义事件
一个组件上的 v-model 默认会利用名为 value 的 prop 和名为 input 的事件,但是像单选框、复选框等类型的输入控件可能会将 value attribute 用于不同的目的。model 选项可以用来避免这样的冲突
2024-07-20 18:39:05 767
原创 Android:将自定义视图设为互动式
触摸事件本身并不是特别有用。现代触控界面根据手势定义互动,例如点按、拉、推、快滑和缩放。为了将原始轻触事件转换为手势,Android 提供了 GestureDetector。通过传入实现 GestureDetector.OnGestureListener 的类的实例来构建 GestureDetector。如果您只想处理几个手势,可以扩展 GestureDetector.SimpleOnGestureListener,而不是实现 GestureDetector.OnGestureListener 接口。
2024-07-17 22:06:07 1059
原创 Android:创建自定义绘图
绘制自定义视图最重要的一步是替换 onDraw() 方法。onDraw() 的参数是一个 Canvas 对象,视图可以使用该对象绘制自身。Canvas 类定义了绘制文本、线条、位图和许多其他图形基元的方法。您可以在 onDraw() 中使用这些方法创建自定义界面。
2024-07-17 22:01:24 588
原创 Android:创建自定义View
Android 框架中定义的所有视图类都会扩展 View。您的自定义视图还可以直接扩展 View,或者您可以通过扩展某个现有视图子类(如 Button)来节省时间。如需允许 Android Studio 与视图交互,您必须至少提供一个接受 Context 和 AttributeSet 对象作为参数的构造函数。此构造函数允许布局编辑器创建和编辑视图的实例。
2024-07-15 23:56:49 839
原创 Vue:Prop(传递静态或动态、单项数据流、类型检查、验证)
通常你希望每个 prop 都有指定的值类型。这时,你可以以对象形式列出 prop,这些 property 的名称和值分别是 prop 各自的名称和类型
2024-07-15 21:54:04 820
原创 Android:如何绘制View
Android 框架绘制布局包含两个遍历流程:一个测量遍历和一个布局遍历。该框架会在 measure(int, int) 中执行测量遍历,并执行 View 树的自上而下遍历。在递归过程中,每个 View 都会将维度规范下推到布局树。测量遍历结束时,每个 View 都会存储其测量值。该框架会在 layout(int, int, int, int) 中执行第二次遍历,也是自上而下遍历。在此次遍历中,每个父级负责使用测量遍历中计算的尺寸来定位其所有的子级。
2024-07-08 23:39:21 746
原创 Android:自定义View
自定义View 组件需要了解的内容:1. 使用您自己的类扩展现有的 View 类或子类。2. 替换父类中的某些方法。要替换的父类方法以 on 开头,例如onLayout() 、onMeasure() 、 onDraw() 和 onKeyDown()。3. 使用您的新扩展类。完成后,您可以使用新的扩展类来代替其所基于的视图。
2024-07-08 11:56:16 1097
原创 Vue:组件注册
通过 Vue.component 来创建组件是全局注册;在 components 选项中定义你想要使用的组件是局部注册;对于 components 对象中的每个 property 来说,其 property 名就是自定义元素的名字,其 property 值就是这个组件的选项对象。注意局部注册的组件在其子组件中不可用
2024-06-12 23:10:03 699
原创 Vue:组件基础
组件是可复用的 Vue 实例,且带有一个名字:在这个例子中是 。我们可以在一个通过 new Vue 创建的 Vue 根实例中,把这个组件作为自定义元素来使用: new Vue({ el: '#components-demo' })
2024-06-12 22:36:33 794
原创 Vue:表单输入绑定
v-model 在内部为不同的输入元素使用不同的 property 并抛出不同的事件:text 和 textarea 元素使用 value property 和 input 事件;checkbox 和 radio 使用 checked property 和 change 事件;select 字段将 value 作为 prop 并将 change 作为事件。
2024-06-03 11:24:17 1008
原创 Vue:事件处理
可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码。然而许多事件处理逻辑会更为复杂,所以直接把 JavaScript 代码写在 v-on 指令中是不可行的。因此 v-on 还可以接收一个需要调用的方法名称。
2024-06-03 09:26:25 1115
原创 Vue:列表渲染
我们可以用 v-for 指令基于一个数组来渲染一个列表。v-for 指令需要使用 item in items 形式的特殊语法,其中 items 是源数据数组,而 item 则是被迭代的数组元素的别名。在自定义组件上,你可以像在任何普通元素上一样使用 v-for。提醒: 2.2.0+ 的版本里,当在组件上使用 v-for 时,key 现在是必须的。
2024-06-01 19:06:08 813
原创 Vue:条件渲染
v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。相比之下,v-show 就简单得多——不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好
2024-06-01 15:21:57 962
原创 Vue:Class 与 Style 绑定
操作元素的 class 列表和内联样式是数据绑定的一个常见需求。因为它们都是 attribute,所以我们可以用 v-bind 处理它们:只需要通过表达式计算出字符串结果即可。不过,字符串拼接麻烦且易错。因此,在将 v-bind 用于 class 和 style 时,Vue.js 做了专门的增强。表达式结果的类型除了字符串之外,还可以是对象或数组。
2024-05-31 21:19:43 941
原创 Vue:计算属性和侦听器
计算属性是基于它们的响应式依赖进行缓存的。只在相关响应式依赖发生改变时它们才会重新求值。这就意味着只要 message 还没有发生改变,多次访问 reversedMessage 计算属性会立即返回之前的计算结果,而不必再次执行函数。Vue 通过 watch 选项提供了一个更通用的方法,来响应数据的变化。当需要在数据变化时执行异步或开销较大的操作时,这个方式是最有用的。
2024-05-31 17:44:24 868
viewtobitmap.rar
2019-12-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人