自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 Windows电脑初始化git仓库并上传代码

今天拿到公司配置的新电脑,2万多块钱的开发笔记本,竟然是Windows系统,配置了一下代码提交环境,记录一下。1.不像Linux系统有Terminal窗口直接敲打指令,Windows首先需要下载git Bash,通过git bash来完成git指令的输入。2.在需要下载代码的目录下新建code文件夹。3.进入到code文件夹,设置身份的名字和邮箱:git config --global user.name “yourname”git config --global user.email “you

2021-04-23 11:27:34 370

原创 Jetpack学习之Room简单使用

Room 持久性库在 SQLite 的基础上提供了一个抽象层,让用户能够在充分利用 SQLite 的强大功能的同时,获享更强健的数据库访问机制。本文通过一个简单的例子讲解一下Room的基本使用,后期如果用到Room相关可以直接查看,便于快速入手。Room依赖添加dependencies { // <----------------room-------------> def room_version = "2.2.3" implementation "android

2021-04-07 14:26:41 173

原创 Android中的ProtoBuf应用-基础篇

项目中经常用到Gson,xml等数据格式,今天接触到一个新的(对我来说是新的)格式,决定尝试一下其在Android中的用法,折腾了半天,终于搞完了,在此总结一下基本用法。ProtoBuf的优势:跨平台,跨语言。你可以在Android,Linux,Windows多个平台使用它并且不受Java,Python还是C++的限制数据量小。由于其独特的序列化方式,使得其比其他数据格式更小,传输效率更高。扩展性好,兼容性好。在更新数据结构后,基于其特有的Builder方式,可以不对原有的代码产生影响。搭建环

2021-03-31 20:07:57 702

原创 MVP结合RxJava以及Retrofit详解

最近在研究Android网络请求的相关框架,目前比较主流的就是RxJava结合Retrofit的使用,看了大神Carson_Ho对该框架的剖析,学习的同时也在此同步记录总结,后面用的时候可以直接查阅此文。RxJavaRxJava是一个 基于事件流、实现异步操作的库,包含各种各样的操作符,其基于链式的调用方式可以完成丰富的功能需求,使用方便简单,深受大家的喜欢。在这里,我总结了关于RxJava的多种操作符的使用,通过结合多种操作符即可完成大多数功能需求,这里介绍的类似于API一样的调用方式,每个操作符通

2021-03-24 11:20:30 261

原创 Jetpack学习之Navigation

最近项目中用到了很多Jetpack相关的东西,决定把Jetpack从头到尾撸一遍,先撸了一下Navigation,通过一些简单的代码记录一下比较关键的东西。Navigation基本介绍借用Jetpack官方介绍,Navigation是指支持用户导航、进入和退出应用中不同内容片段的交互。Android Jetpack 的Navigation组件可帮助您实现导航,无论是简单的按钮点击,还是应用栏和抽屉式导航栏等更为复杂的模式,该组件均可应对。Navigation组件还通过遵循一套既定原则来确保一致且可预测的

2021-03-02 19:48:17 283

原创 java同步机制

最近看了一下java的同步机制,记录一下,防止遗忘。为什么要有同步机制?大家都知道多线程操作,试想这样一个场景:售票上海-北京只剩下一张票,有三个人在同时抢票,抢到之后系统进行一系列操作(比如算钱,占位等),然后对票数总量减一,告诉其他人没票了。看上去没毛病,但一旦用上多线程,毛病就来了三个线程在访问票数总量时,由于系统没计算完或者在占位,导致没能及时将总量减一,所以三个人都抢到票了。最终的结果就是,有两个用户提示抢到票了,但是占位失败了,这是多么糟糕的用户体验。怎么解决?粗暴一点就是同一时间

2021-02-08 09:31:28 84

原创 Android事件传递机制

最近想学习一下自定义View,发现其中有个麻烦的滑动冲突处理问题,为了应对滑动冲突,决定先研究一下Android的事件传递机制。首先开局一张图,借鉴一篇神文中的图Android事件分发机制详解:史上最全面、最易懂如果能将上面这张图脱稿画出,基本上事件传递机制也掌握地差不多了。上图中,将事件传递分为三个模块,一般情况下也就主要是这几个模块的组合,无非是Activity-ViewGroup-ViewActivity-ViewGroup-ViewGroup-ViewActivity-ViewGrou

2021-02-04 13:45:37 259 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 3849 4

原创 Android Handler源码分析

做了一年的Android业务,感觉自己的Android能力并没有得到多大提升,下定决心开始阅读Android源码,就从使用最频繁的Handler开始吧。Handler定义言归正传,首先Handler是什么,可能大部分人都不太清楚。但大家一定知道,UI线程不能做耗时操作,所有的耗时操作都要扔到子线程中去执行,那问题来了,子线程又不能更新UI,那这时候在耗时操作中要更新UI怎么实现呢?这时候Android就给我们提供了Handler,通过Handler可以将子线程中的消息抛到主线程中去执行,或者说可以将任

2021-01-12 14:44:40 84

原创 Android自定义流布局实现

Android自定义流布局实现 刚入职不久,从事汽车界的Android开发工作,虽然大部分开发工作都是供应商完成,但想来还是有必要提升一下自己的Android开发技术,不然被供应商忽悠了都不知道,先从Android自定义View开始提升吧。本文所涉及的自定义View的开发是根据技术博客和视频教程所学,并自己动手实现的可运行实例,由于技术有限,文中可能还是会出现很多的错误观点,日后加深理解后会及时...

2020-04-03 12:50:53 114

原创 SpringMVC学习一

本文是在网易云课堂上学习SpringMVC的课程总结,用以后面搭建SpringMVC框架时参考使用,网易云课堂地址:https://study.163.com/course/courseMain.htm?courseId=1005999006&amp;amp;amp;amp;_trace_c_p_k2_=dc8fa3bae0ba4d678ada8f097c3eb4b1

2018-12-04 22:49:33 101

空空如也

空空如也

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

TA关注的人

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