自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于容器实现移动端动态化架构升级

基于容器实现移动端动态化架构升级前言正文总结前言前段时间关于跨平台的探索写过一篇博客一个Android原生开发对于跨平台和大前端的一些探索在选定技术方案后,我们正式开始了项目重构,那么我们究竟是因为什么才决定项目重构?技术选型的考量又是什么?在重构过程中又遇到哪些问题呢?很荣幸有机会作为阿里云的分享嘉宾进行关于mpaas平台结合小程序进行移动端动态化架构升级的技术分享。正文之前一直在准备直播内容,没有及时在博客放出直播链接,现在感兴趣的同学可以看下我的直播回放(1.5倍速体验更佳哦):【CodeHu

2021-05-17 17:45:43 392 2

原创 RecycleView基于ItemDecoration实现自定义滚动条

效果如图简单查了一下,没有发现特别简洁的方式,自定义view配和绑定RecycleView再加上各种计算比较麻烦。这里实现方式是使用低侵入性的RecyclerView.ItemDecoration//总高度//指示器高度//总宽度//距离右侧距离//滚动条拇指的垂直范围//可滚动的区域大小//当前偏移量(当前滚动的距离)//最大偏移量(最大可滚动的距离)//可以滑动时,在绘制。如果数据不满一屏不能滑动则不会绘制显示startX,startX,paint。

2023-03-03 15:15:51 910 1

原创 Android 使用 jacoco 统计代码行覆盖率 无需安装运行

Android 使用 jacoco 统计代码行覆盖率 无需安装运行前言正文1、项目 build.gradle2、jacoco-report.gradle3、 app/*module的build.gradle4、 测试用例5、 运行 task jacocoTestReport5、 查看报告6、 小花招:快速提升代码覆盖率前言jacoco是Java Code Coverage的缩写,是Java代码覆盖率统计的主流工具之一。关于jacoco的原理介绍,在网上有很多文章,感兴趣的同学可以去找别的博客看看,这里不

2021-12-07 10:04:35 2819

原创 RecyclerView 单条目刷新notifyItem 去除闪烁动画

1.不使用动画((SimpleItemAnimator)recyclerView.getItemAnimator()).setSupportsChangeAnimations(false);2.动画播放时间置为0recyclerView.getItemAnimator().setChangeDuration(0);3.将DefaultItemAnimator类里的代码全部copy到自己写的动画类中,然后做一些修改(方案太重不推荐)...

2021-11-04 22:22:56 1530

原创 mPaaS IDE调试方法

自记录打开IDE,在编辑器界⾯按 cmd/ctrl + shift + p选中 “Developer: open background window” 回⻋弹出⼀个chrome console窗⼝,在chome中输⼊“debugAdaptorWebView.mPaaS.openDevTools()” 回⻋console filter: uploadPackageByApi qs...

2021-06-28 18:08:01 309

原创 一个Android原生开发对于跨平台和大前端的一些探索

前言从 2017 年开始,GMTC“移动技术大会”就更名为“大前端技术大会”。从现在看来,前端开发和 Native 开发并没有谁取代谁,而是正在融合,融合之后的产物就是所谓的“大前端”。为了顺应这种趋势,很多大公司的组织架构也做了相应的调整,把前端团队和 iOS、Android 一起合并为大前端团队。1.web基于 WebView 的 H5 跨平台方案,优点确实非常明显,甚至之前还有H5Ap...

2021-01-21 18:19:55 493

原创 安卓开发 高德地图定位的封装 十分钟上手

前言地图作为开发中三方sdk中较常遇到的一项,集成起来并不麻烦但是不小心踩坑可能会浪费较多时间,如果项目中多处使用还容易造成代码大量冗余,今天我们来将高德地图定位功能集成一个功能化模块,只需两分钟应用到项目中。GitHub:LocationDemo友情链接:996icu正文以下操作均在子module—amapservice中设置,在主模块只需简单调用即可1、准备工作Android S...

2019-04-15 18:33:01 257

原创 设计模式——工厂方法模式

1.工厂方法模式介绍工厂方法模式(Factory Pattern)属于创建型设计模式。结构简单,平时开发中应用广泛,但是容易被忽视。2.工厂方法模式定义定义一个用于创建对象的接口,让子类决定实例化哪个类。3.工厂方法模式使用场景在任何需要生成复杂对象的地方,都可以使用!复杂的对象适合使用工厂模式,只用new就可以完成创建的对象不需要使用。4.工厂方法模式UML类图图片来自网络...

2019-04-08 19:00:56 56

原创 设计模式——Builder模式

1.Builder模式介绍Builder模式是一步一步创建一个复杂对象的创建型模式,可以让使用者在不知道内部构造细节的情况下精确控制对象的构造流程。该模式是为了将构建复杂对象的过程和它的部件解耦,使构建过程和部件的表示隔离开。2.Builder模式定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的展示。3.Builder模式使用场景a.相同方法,不同执行顺序,产生...

2019-03-27 19:43:08 119

原创 设计模式——单例模式

1.单例模式介绍单例模式是应用最广的模式,也是我最先知道的一种设计模式,在深入了解单例模式之前,每当遇到如getInstance()这样的创建实例的代码时,我都会把它当做一种单例模式的实现。在应用这个模式时,单例对象的类必须保证只有一个实例存在。很多时候系统只需要一个全局对象来协调系统整体的行为,比如在应用中只有一个ImageLoader实例,因为它含有线程池、缓存系统、网络请求等。像这种不能...

2019-03-26 19:49:41 52

原创 安卓开发 点击空白处收起键盘

前言在产品迭代的过程中,为了优化用户体验,展示我们产品的人文情怀,在有EditText控件或者自定义的输入框控件的页面,我们时常会被要求加入点击非输入框区域收起键盘的操作。下面我们来了解一下这个功能的实现。正文其实看到这个需求第一个想到的方法就是为其他控件setTouchListener,但是很显然这是个相当笨拙且会造成大量冗余代码的操作而且时间成本也相对较大,所以舍弃。这里我们最靠谱的做法...

2018-05-30 14:57:03 185

原创 安卓开发 自定义软键盘 从原理到应用 可更改个别键颜色等

前言不啰嗦正文对于自定义键盘,官方提供了两个玩意(再简单的键盘也都要用到):Keyboard和KeyboardView,当然,为了方便我们会定义一个util:KeyboardUtilKeyboardLoads an XML description of a keyboard and stores the attributes of the keys. A keyboard consis...

2018-04-27 16:32:54 488

原创 安卓开发 动态测量解决软键盘遮挡

前言软键盘遮挡问题的解决可以说是程序猿都会遇到的问题,说难不难说简单也要费点时间,下面我们重点分析一个实测可用的解决办法。正文正式开始之前我必须很严肃的说一下百度上最常见的一种答案:在AndroidManifest文件中对activity设置:android:windowSoftInputMode的值adjustPan或者adjustResize即可,像这样:<activity...

2018-04-27 16:02:20 110

原创 Java基本类型作为局部变量和成员变量时的存储方式有何不同?

java虚拟机栈是线程私有的,生命周期跟线程相同,每个方法调用的时候都会创建一个栈帧用于存储局部变量表,操作数栈,动态链接,方法出口等信息。每个方法调用的过程,就代表了一个栈帧在虚拟机栈中入栈到出栈的过程,当进入一个方法时,这个方法在栈中需要分配多大的内存都是完全确定的,方法运行时不会改变局部变量表的大小——《深入理解java虚拟机第二版》很多java程序员一开始就被网上的一些教程所误导:基...

2018-04-27 13:51:44 71

原创 SourceTree往GitHub推送时一直登陆失败

升级了SourceTree之后,往远程仓库推送,跳出GitHub登陆框各种用户名密码不对(SourceTree推不上去提醒的)为此楼主专门去重置了GitHub的密码,然并卵。此处省略一万字艰难解决过程。。。解决方法:打开该仓库,选择右上角的设置按钮:选中远程仓库路径,点击编辑按钮首先选择托管类型,确保选中的是 GitHub:如果你本来选择的就是 GitHub,或者选择完以后还是不行...

2018-03-07 15:36:10 434

原创 安卓开发 解决Scorllview里面控件无法充满的问题

当ScrollView里的元素想填满ScrollView时,使用"fill_parent"或者"match_parent"是不管用的,必需为ScrollView设置:android:fillViewport="true"。 当ScrollView没有fillVeewport=“true”时, 里面的元素(比如LinearLayout)会按照wrap_content来计...

2018-02-27 19:47:45 70

原创 友盟单图片分享遇到的问题小记

UMImage image = new UMImage(ShareActivity.this, "imageurl");//网络图片UMImage image = new UMImage(ShareActivity.this, file);//本地文件UMImage image = new UMImage(ShareActivity.this, R.drawable.xxx);//资源文件...

2018-02-23 18:51:41 339

原创 Socket读写简单使用

前言上文已经学习了socket的一些基础知识https://www.jianshu.com/p/15edcafb3013,我们接着学习一下Socket在实际应用中的读写操作。转载请注明:https://www.jianshu.com/p/4ddb7b56f8cf正文我们使用BufferedReader从Socket上读取数据,用串流来通过Socket连接来沟通。Java一个优点就是大部分输入输出工...

2017-12-24 17:00:43 108

原创 Android/Java Socket应用基础详解

前言就目前而言,大多数中或小型公司开发人员已经鲜有机会使用socket写东西了(原因在下面),tell truth,知识永无止境,我们应该抓住每一瞬间想要学习的想法并付诸行动,下面我们一起学习学习Socket简单应用,还是那样,小白能看懂,大神请指正。转载请注明:https://www.jianshu.com/p/15edcafb3013正文Socket说白了,就是代表两台机器之间网络连接的对象(...

2017-12-24 16:52:33 96

原创 安卓开发(Java)中关于final关键字与线程安全性

前言学习新知识固然重要,但是时常往回看看,温故知新是很必要的。回顾一下线程安全性和final关键字。正文从Java 5开始,final keyword一个特殊用法是在并发库中一个非常重要且经常被忽视的武器。实质上,可以使用final来确保在构造对象时,访问该对象的另一个线程不会看到处于部分构造状态的对象,否则可能会发生这种情况。这是因为当作为对象变量的一个属性时,final作为其定义的一部分具有以...

2017-12-20 15:40:54 58

原创 Android中线程使用基础详解(一看就明白)

前言线程这个东东真的是一个很平常的工具了,在我们大Android包括Java中都是必不可少司空见惯的东西,最近正好有段难得的离职空闲,今天就来和大家探讨探讨。ps:友情提示,以下链接请童靴们使用vpn查看。正文无论何时第一次启动Android应用程序,都会自动创建一个名为“main”的线程。主线程(也称为UI线程)非常重要,因为它负责将事件分派给相应的widget,并且包含绘制事件。这也是童靴们与...

2017-12-19 15:41:34 105

原创 Android RecyclerView与SwipeRefreshLayout嵌套使用添加上拉加载功能的爬坑之旅

前言RecyclerView是support.v7包中的控件,可以说是ListView和GridView的增强升级版。官方对RecyclerView的描述是(不翻译是因为我并不想打开有道词典,就这样):A flexible view for providing a limited window into a large data set.RecyclerView从2014年发布到现在已经很长时间了...

2017-11-15 15:48:11 122

原创 大学选什么专业前景好?

现在对中国的年轻人来说,是一个绝佳的时代。当你们步入社会时,恰逢中国崛起,成为全球发展和创新的中心。全世界的目光都在关注中国,关注你们这些即将走出校门的天之骄子。我相信这四大领域能够给你年轻人提供大好机会,充分运用你们的知识,发挥你们的热情和抱负,推动中国和世界取得更加令人瞩目的进步。这四大领域分别是健康、农业、能源和技术。—— 比尔盖茨...

2017-11-14 11:20:54 49

原创 GreenDao3.X排序方法踩坑

前言greenDao是一个将对象映射到SQLite数据库中的轻量且快速的ORM解决方案。关于greenDAO的概念可以看官网greenDAO(看不懂的请右键翻译成中文【严肃脸】)。关于greenDAO的优点,个人认为就是链式使用方便快捷不需要繁多的SQL语句,还有就是节省内存,嗯就这样。(简单使用请参考http://www.jianshu.com/p/4986100eff90 )下...

2017-11-14 11:18:02 228

空空如也

空空如也

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

TA关注的人

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