JAVA
文章平均质量分 85
汽车猿
这个作者很懒,什么都没留下…
展开
-
Jetpack学习之Room简单使用
Room 持久性库在 SQLite 的基础上提供了一个抽象层,让用户能够在充分利用 SQLite 的强大功能的同时,获享更强健的数据库访问机制。本文通过一个简单的例子讲解一下Room的基本使用,后期如果用到Room相关可以直接查看,便于快速入手。Room依赖添加dependencies { // <----------------room-------------> def room_version = "2.2.3" implementation "android原创 2021-04-07 14:26:41 · 185 阅读 · 0 评论 -
Android中的ProtoBuf应用-基础篇
项目中经常用到Gson,xml等数据格式,今天接触到一个新的(对我来说是新的)格式,决定尝试一下其在Android中的用法,折腾了半天,终于搞完了,在此总结一下基本用法。ProtoBuf的优势:跨平台,跨语言。你可以在Android,Linux,Windows多个平台使用它并且不受Java,Python还是C++的限制数据量小。由于其独特的序列化方式,使得其比其他数据格式更小,传输效率更高。扩展性好,兼容性好。在更新数据结构后,基于其特有的Builder方式,可以不对原有的代码产生影响。搭建环原创 2021-03-31 20:07:57 · 730 阅读 · 0 评论 -
MVP结合RxJava以及Retrofit详解
最近在研究Android网络请求的相关框架,目前比较主流的就是RxJava结合Retrofit的使用,看了大神Carson_Ho对该框架的剖析,学习的同时也在此同步记录总结,后面用的时候可以直接查阅此文。RxJavaRxJava是一个 基于事件流、实现异步操作的库,包含各种各样的操作符,其基于链式的调用方式可以完成丰富的功能需求,使用方便简单,深受大家的喜欢。在这里,我总结了关于RxJava的多种操作符的使用,通过结合多种操作符即可完成大多数功能需求,这里介绍的类似于API一样的调用方式,每个操作符通原创 2021-03-24 11:20:30 · 271 阅读 · 0 评论 -
Jetpack学习之Navigation
最近项目中用到了很多Jetpack相关的东西,决定把Jetpack从头到尾撸一遍,先撸了一下Navigation,通过一些简单的代码记录一下比较关键的东西。Navigation基本介绍借用Jetpack官方介绍,Navigation是指支持用户导航、进入和退出应用中不同内容片段的交互。Android Jetpack 的Navigation组件可帮助您实现导航,无论是简单的按钮点击,还是应用栏和抽屉式导航栏等更为复杂的模式,该组件均可应对。Navigation组件还通过遵循一套既定原则来确保一致且可预测的原创 2021-03-02 19:48:17 · 298 阅读 · 0 评论 -
java同步机制
最近看了一下java的同步机制,记录一下,防止遗忘。为什么要有同步机制?大家都知道多线程操作,试想这样一个场景:售票上海-北京只剩下一张票,有三个人在同时抢票,抢到之后系统进行一系列操作(比如算钱,占位等),然后对票数总量减一,告诉其他人没票了。看上去没毛病,但一旦用上多线程,毛病就来了三个线程在访问票数总量时,由于系统没计算完或者在占位,导致没能及时将总量减一,所以三个人都抢到票了。最终的结果就是,有两个用户提示抢到票了,但是占位失败了,这是多么糟糕的用户体验。怎么解决?粗暴一点就是同一时间原创 2021-02-08 09:31:28 · 90 阅读 · 0 评论 -
Android事件传递机制
最近想学习一下自定义View,发现其中有个麻烦的滑动冲突处理问题,为了应对滑动冲突,决定先研究一下Android的事件传递机制。首先开局一张图,借鉴一篇神文中的图Android事件分发机制详解:史上最全面、最易懂如果能将上面这张图脱稿画出,基本上事件传递机制也掌握地差不多了。上图中,将事件传递分为三个模块,一般情况下也就主要是这几个模块的组合,无非是Activity-ViewGroup-ViewActivity-ViewGroup-ViewGroup-ViewActivity-ViewGrou原创 2021-02-04 13:45:37 · 279 阅读 · 1 评论 -
Android Surface的跨进程绘制
最近在开发地图项目,项目上要求将地图的service和hmi分成两个APP开发,即地图提供的搜索、算路、导航等服务在一个APP中,map的展示在一个APP中。开发中涉及到了mapview的跨进程绘制方案,即surfaceView的跨进程渲染,在此记录一下。SurfaceView和View的区别SurfaceView作为Android界面的载体,与View是一样的作用,谷歌提供SurfaceView的目的是什么呢。我们都知道,View的刷新机制是监听nativie层的刷新监听,底层每隔16.6ms就会调原创 2021-02-01 16:31:27 · 4124 阅读 · 4 评论 -
SpringMVC学习一
本文是在网易云课堂上学习SpringMVC的课程总结,用以后面搭建SpringMVC框架时参考使用,网易云课堂地址:https://study.163.com/course/courseMain.htm?courseId=1005999006&amp;amp;amp;_trace_c_p_k2_=dc8fa3bae0ba4d678ada8f097c3eb4b1原创 2018-12-04 22:49:33 · 108 阅读 · 0 评论