4 Code-Porter

尚未进行身份认证

我们不生产代码,我们只是代码的搬运工

等级
TA的排名 6k+

Viewpager迁移至ViewPager2实现Tab标签页面

ViewPager2是什么呢?ViewPager2 是 ViewPager 的下一代版本,带来了更强的功能并修复了之前的 bug;也就是解决了ViewPager的bug和不支持RTL布局等等其他问题,Google同时也放弃对ViewPager的维护了。ViewPager2相比ViewPager带来的新功能支持竖直滑动支持RTL布局可以使用DiffUtil…相关文档链接ViewP...

2019-12-16 16:26:19

使用Android APT(Annotation Processing Tool)让代码学会自己写代码

APT即注解处理器(Annotation Processing Tool)的简称

2019-12-02 15:10:51

Android 动态换肤技术原理 | 实践 及总结

动态换肤一般实现的原理对页面需要换肤的View进行标记在Activity#setContentView()加载view时获取到标记的view(后面会说是要怎么获取到)创建一个Library项目制作我们的皮肤包(res下的资源名称需要与app使用的一致,换肤就是通过使用的资源名称去皮肤包里加载相同名字的资源)创建皮肤包对应的Resources对象(用于加载皮肤包内的资源)点击换肤将我们标...

2019-11-20 15:24:03

Netty在Android开发中的应用实战系列(五)——— 创建Web服务 | 作为HTTP服务器

Netty连续Socket文章系列Netty在Android开发中的应用实战系列(一)——— 搭建服务端与客户端Netty在Android开发中的应用实战系列(二)——— Encoder | Decoder | Handler 的使用Netty在Android开发中的应用实战系列(三)——— 心跳处理 | 断线重连Netty在Android开发中的应用实战系列(四)——— 粘包 | 拆包...

2019-09-23 21:28:01

Netty在Android开发中的应用实战系列(四)——— 粘包 | 拆包 处理

阅读本文建议从第一篇开始往后看本系列文章Netty在Android开发中的应用实战系列(一)——— 搭建服务端与客户端Netty在Android开发中的应用实战系列(二)——— Encoder | Decoder | Handler 的使用Netty在Android开发中的应用实战系列(三)——— 心跳处理 | 断线重连Netty在Android开发中的应用实战系列(四)——— 粘包 ...

2019-09-19 22:53:04

Netty在Android开发中的应用实战系列(三)——— 心跳处理 | 断线重连

阅读本文建议从第一篇开始往后看本系列文章Netty在Android开发中的应用实战系列(一)——— 搭建服务端与客户端Netty在Android开发中的应用实战系列(二)——— Encoder | Decoder | Handler 的使用一、客户端添加心跳处理这里就需要提到一个netty重要的IdleStateHandler,用于处理心跳机制;为当前连接通道设置 读、写、读写 空...

2019-09-17 21:53:06

Netty在Android开发中的应用实战系列(二)——— Encoder | Decoder | Handler 的使用

阅读本文建议从第一篇开始往后看本系列文章Netty在Android开发中的应用实战系列(一)——— 搭建服务端与客户端一、Encoder的作用将发送的数据进行编码成需要的数据格式,然后发送出去二、Decoder的作用将收到的数据根据数据协议进行解码,然后处理三、Handler的作用将解码好的数据进行处理四、下面们通过一个简单的一个示例进行收发数据定义一个传输的...

2019-09-14 17:46:22

Netty在Android开发中的应用实战系列(一)——— 搭建服务端与客户端

一、简单的介绍一下Netty官网地址:https://netty.io官网Jar包下载:https://netty.io/downloads.htmlJar包也可以去mvnrepository下载:https://mvnrepository.com/artifact/io.netty/netty-all直接上官网的介绍再好不过了谷歌翻译过来就是Netty是一个异步事件驱动的网络应用...

2019-09-05 23:41:36

Android自定义输入车牌号键盘、车牌简称 | 数字 | 字母键盘

为了便于用户快捷的输入车牌号码便需要自定义个车牌键盘,而不是使用系统的键盘输入,上效果图:横屏效果竖屏效果一、首先我们要来分析一下需要做哪些东西默认展示车牌的省份简称特殊车牌(使、领、警、港、澳)删除键切换为数字和字母按键车牌号中是没有I、O字母的(容易与1、0)分混淆,故不需要这两个按键I、O这两个按键的位置正好使用学、挂来填充二、根据效果图可以看出键盘就...

2019-08-31 15:45:59

记一次BLE(低功耗蓝牙)扫描周围设备慢的一个坑

BluetoothManager bluetoothManager = (BluetoothManager) context.getSystemService(Context.BLUETOOTH_SERVICE);bluetoothAdapter = bluetoothManager.getAdapter(); bluetoothAdapter.startLeScan(leScanCa...

2019-08-22 23:32:34

Android通过蓝牙(BLE低功耗蓝牙)实现设备间通讯 | 客户端 | 服务端

这篇文章主要说的是通过BLE(Bluetooth Low Energy)蓝牙来实现一个聊天的效果;通常我们使用这个BLE都是手机去连接一些智能设备或者智能硬件然后进行通讯,也就是手机充当客户端,智能设备充当服务端;很少有用到通过BLE让两个手机进行通讯,手机既可以充当客户端也可以充当服务端一、话不多说,先看效果图 BLE最低支持Android4.3(API=18),如果还要充当服务端那么最...

2019-07-28 12:07:57

Android应用上架国内各大应用市场对应用Logo、应用截图要求整理

这里我整理的一些比较多人使用的一些应用市场,当然还有一些遗漏的欢迎大佬们补充对于国内的应用市场环境,突然好羡慕AppStore、Google Play 说多了都是泪…上架大家一定要在上线前一两个月去申请软著、软著、软著腾讯应用宝(需要软著)上架流程应用小图标:尺寸16*16px,大小20k以内,PNG格式的图片应用图标:尺寸512*512px,大小200k以内,PNG格式的图片,建议...

2019-07-03 14:58:10

使用python生成微信好友个性签名词云图

生成词云主要使用了itchat、jieba、wordcloud这三个依赖库itchatitchat是一个开源的微信个人号接口,使用python调用微信从未如此简单。jieba“结巴”中文分词:做最好的 Python 中文分词组件wordcloud词云图,也叫文字云,是对文本中出现频率较高的“关键词”予以视觉化的展现,词云图过滤掉大量的低频低质的文本信息,使得浏览者只要一眼扫过文本就可...

2019-06-21 14:30:00

Android与单片机 | 开发板 | 智能硬件 | 智能设备 | 数据协议 |开发总结

一、缘起工作中经常遇到需要Android程序与各式各样的板子、智能设备进行交互,通信的方式也基本上都是Ble或者Socket tcp/udp等等…其中最重要的一点就是通信的协议、协议、协议重要的是说三遍;通信协议就是用来定义与设备交互的方式和交互过程中数据包的格式 如:(包头—数据包长度—数据—校验位—包尾)二、这里先来理理各种数据类型、所占的字节数等1、我们写的代码最终都是转化成各种机器所...

2019-06-15 00:55:31

Android集成高德地图导航SDK、实现App内进行导航、打开高德App导航

这篇文章就主要来讲一下集成高德的导航SDK,实现app内导航;这样就不用调用高德的App了一、申请key之类的这里就不说了自己去申请就ok高德开放平台高德开放平台—导航sdk高德开放平台—导航sdk下载二、我这下载的SDK如下,只有3D地图和导航SDK这两个三、配置工程导入导航SDK和so库文件配置Manifest.xml添加权限<!--用于访问网络,网络定位需要...

2019-06-04 18:23:23

浅谈Java设计模式之——抽象工厂模式

上一篇文章我们介绍了一下简单工厂模式,这一节就接着来说抽象工厂模式浅谈Java设计模式之——简单工厂模式一、什么是简单抽象工厂模式抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。看了上面一大堆你可能还是没看懂具体是什么意思,下面通过一个具体的案例来说明一下:二、假...

2019-05-27 23:48:36

浅谈Java设计模式之——简单工厂模式

简单的介绍一下简单工厂模式的概念:简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式;通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类从介绍我们就可以提炼出一些特点:每一个实例具有共同的父类一个特定的类来负责创建其它类的实例现在我们通过工厂模式来实现一个例子:我们现在需要一个水果工厂来获得

2019-05-26 17:03:04

关于ObjectAnimator的rotationX、rotationY在部分华为设备上消失的问题

吐槽一下HUAWEI,你为什么要这么的秀高高兴兴的写了个绕Y轴旋转的动画,运行一下完美展示ObjectAnimator animator = ObjectAnimator.ofFloat(imageView, "rotationY", 0, 360f);animator.setDuration(3_000);animator.start();你以为这样就完了吗?当然没有,测试MM过来...

2019-04-25 15:39:33

使用AndroidX + ViewModel + LiveData + DataBinding组件,同时使用RxJava2 + Retrofit2 + Glide等主流框架搭建的MVVM

TODO-MVVM:使用JetPack中的AndroidX + ViewModel + LiveData + DataBinding组件,同时使用RxJava2 + Retrofit2 + Glide等主流框架进行搭建GitHub项目地址项目中basicLibModule为搭建的基础框架可以拿来就用,sampleModule为项目的使用案例效果图2018年谷歌I/O大会发...

2019-04-02 22:02:31

Android DataBinding 你好!

一:使用DataBinding的第一步,只需要在app/build.gradle开启它android { compileSdkVersion 28 defaultConfig { applicationId "azhon.com.viewbinding" //.... } //开启dataBinding dataBindin...

2019-02-26 20:52:09

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    博客专家完成年度认证,即可获得
  • 新人勋章
    新人勋章
    用户发布第一条Blink获赞超过3个即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。