Java
文章平均质量分 85
绵绵思远道~
职业人
展开
-
乐观锁和悲观锁
总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号机制和CAS算法实现。乐观锁适用于多读的应用类型,这样可以提高吞吐量,像数据库提供的类似于write_condition机制,其实都是提供的乐观锁。在Java中`java.util.concurrent.atomic`包下面的原子变量类就是使用了乐观锁的一种实现方式CAS实现的。原创 2023-02-10 18:52:26 · 199 阅读 · 0 评论 -
动态SQL做增删改查操作
动态SQL的使用原创 2023-02-08 16:11:55 · 553 阅读 · 0 评论 -
Android MVVM架构
MVVM是Model-View-ViewModel的简写,是M-V-VM三部分组成。它本质上就是MVC 的改进 版。MVVM 就是将其中的View 的状态和行为抽象化,其中ViewModel将视图 UI 和业务逻辑分 开,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。2.MVVM采用双向数据绑定,view中数据变化将自动反映到viewmodel上,反之,model中数据变化 也将会自动展示在页面上。把Model和View关联起来的就是ViewModel。...原创 2022-08-16 19:28:16 · 10494 阅读 · 4 评论 -
RxJAVA
在介绍RxJava前,我们先聊聊响应式编程。那么什么是响应式编程呢?响应式编程是一种基于异步数据 流概念的编程模式。数据流就像一条河:它可以被观测,被过滤,被操作,或者为新的消费者与另外一 条流合并为一条新的流。响应式编程的一个关键概念是事件。事件可以被等待,可以触发过程,也可以触发其它事件。事件是唯 一的以合适的方式将我们的现实世界映射到我们的软件中:如果屋里太热了我们就打开一扇窗户。同样 的,当我们的天气app从服务端获取到新的天气数据后,我们需要更新app上展示天气信息的UI;...原创 2022-08-12 20:25:02 · 899 阅读 · 0 评论 -
Retrofit
我们项目当中的每个app都需要用到网络和服务器进行交互,在Android项目开发中使用HTTP协议完成 通信的话,基本上都要用到OkHttp或者Retrofit。原创 2022-08-11 23:13:16 · 473 阅读 · 0 评论 -
OKHttp
1. 同步需要开启线程,异步不需要开启线程2. 同步和异步都需要跳转到UI线程修改UI。原创 2022-08-10 19:02:54 · 579 阅读 · 0 评论 -
用Android描述一次完整的网络请求过程
从我们在浏览器的地址栏输入http://blog.csdn.net/seu_calvin后回车,到我们看到该博客的主页,这中间经历了什么呢?简单地回答这个问题,大概是经历了域名解析、TCP的三次握手、建立TCP连接后发起 HTTP请求、服务器响应HTTP请求、浏览器解析html代码,同时请求html代码中的资源(如js、css、图 片等)、最后浏览器对页面进行渲染并呈现给用户。下面分别介绍一下每个过程。以Chrome浏览器为例,Chrome会解析域名对应的IP地址。(1)Chrome浏览器会首先搜索浏览器自原创 2022-08-08 20:16:30 · 1199 阅读 · 0 评论 -
Android中的自定义View以及绘图工具
自定义View的实现方式有以下几种:组合控件,继承控件,自绘控件自定义组合控件,继承系统View控件,继承系统ViewGroup,自绘View控件,自绘 ViewGroup控件组合控件就是将多个控件组合成一个新的控件,可以重复使用。应用场景:在项目中经常会遇到一些比较复杂的UI块需要用在多处使用,那么我们就可以通过五大布局 和基本控件组合成一个新的布局View,这样就可以方便的将该UI用在项目的不同页面中,比如一个标题 栏。...原创 2022-08-05 20:29:58 · 673 阅读 · 0 评论 -
Material Design
还记得我们每次打开的程序的标题栏吗?Toolbar 不仅有 Actionbar 的所有功能,而且还更加灵活. 在项目运行在虚拟机上时,都可以看见屏幕上方有一个栏目(下图红框圈出的部分),此为系统默认的 DarkActionBar ,可在 themes.xml 中查看。Toast提示是不是有点拉,可以用Snackbar提示,但是Toast并非是不如Snackbar,他们有不同的应用场景。Snackbar允许在提示中加入一个可交互按钮,当用户点击按钮的时候,就可以执行一些额外的逻辑 操作。如何将它给替换掉呢?.原创 2022-08-05 19:28:10 · 120 阅读 · 0 评论 -
Android中的CardView和Fragment
1.Fragment的简介 Fragment译为“碎片”,是Android 3.0(API 11)提出的,最开始是为了适配大屏的平板。2.Fragment看起来和Activity一样,是一个用户界面。可以结合多个Fragments到一个activity中来构 建一个有多方面功能的UI,还可以重用同一个Fragment在多个activities中。Fragment可以当成是 activity的一个组件,每个Fragment有单独的生命周期,可以在activity运行时进行添加和移除 Fragment。...原创 2022-08-03 21:49:08 · 370 阅读 · 0 评论 -
Android中的RecycleView使用
从Android5.0开始,谷歌公司推出了一个用于大量数据展示的新控件RecylerView,可以用来代替传统的ListView,更加强大和灵活。RecyclerView是一个强大的滑动组件,与经典的ListView相比,同样拥有item回收复用的功能,这一点从它的名字Recyclerview即回收view也可以看出。RecyclerView支持线性布局、网格布局、瀑布流布局三种,而且同时还能够控制横向还是纵向滚动。/设置Transformer//添加边距Transformer。...原创 2022-08-01 20:37:40 · 3048 阅读 · 2 评论 -
AIDL应用
AIDL(Android 接口定义语言),可以使用它定义客户端与服务端进程间通信(IPC)的编程接口。在 Android系统中,每个进程都运行在一块独立的内存中,在其中完成自己的各项活动,与其他进程都分 隔开来。可是有时候我们又有应用间进行互动的需求,比较传递数据或者任务委托等,AIDL就是为了满 足这种需求而诞生的。通过AIDL,可以在一个进程中获取另一个进程的数据和调用其暴露出来的方法, 从而满足进程间通信的需求。 AIDL是用于定义服务端和客户端通信接口的一种描述语言,可以拿来生产IPC代码,从某种意原创 2022-08-01 17:58:33 · 122 阅读 · 0 评论 -
Android中的属性动画
接下来我们学习Android动画中的第三种动画——属性动画(PropertyAnimation)Animation一般动画就是我们前面学的帧动画和补间动画!Animator则是本节要讲的属性动画!原创 2022-07-28 22:06:27 · 7810 阅读 · 0 评论 -
Android中的动画
帧动画非常容易理解,其实就是简单的由N张静态图片收集起来,然后我们通过控制依次显示这些图片,因为人眼"视觉残留"的原因,会让我们造成动画的"错觉",跟放电影的原理一样!而Android中实现帧动画,一般我们会用到前面讲解到的一个DrawableAnimationDrawable先编写好Drawable,然后代码中调用start()以及stop()开始或停止播放动画。...原创 2022-07-27 12:50:24 · 451 阅读 · 0 评论 -
线程、Handler
在AndroidManifest.xml中注册,注册时发现报错,报错的原因是没有无参的构造方法,解决办法:创建无参的构造方法原创 2022-07-25 22:15:21 · 104 阅读 · 0 评论 -
Android的四大组件——BroadCast(广播)
安卓四大组件原创 2022-07-23 19:40:07 · 1602 阅读 · 0 评论 -
SharedPreferences、SQLite
SharePreferences原创 2022-07-23 19:18:47 · 352 阅读 · 0 评论 -
四大组件中的Activity、Service
四大组件原创 2022-07-20 21:50:43 · 152 阅读 · 0 评论 -
Android高级控件
Android高级控件原创 2022-07-18 22:35:20 · 846 阅读 · 0 评论 -
Android中的一些控件
Android基础原创 2022-07-15 22:38:12 · 488 阅读 · 0 评论 -
Android入门介绍
Android 第一课原创 2022-07-12 20:18:55 · 681 阅读 · 0 评论