自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Code4Android

新手驾到,多多提携

  • 博客(52)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 ConstraintLayout基础介绍

自去年Google I/O 大会发布ConstraintLayout至今,已有一年多的时间,但是并没有普及开来,了解过ConstraintLayout布局的人知道,它的性能的确提升了不少。在前不久,Google 开发者博客发布了一篇文章[Understanding the performance benefits of ConstraintLayout](https://android-develo

2017-09-19 23:50:06 949 1

原创 Android自定义数字键盘

好久没有写Android的文章了,有两三个月多了吧,刚开始搞微信小程序,后来又开搞ReactNative,现在又兴奋的开搞AI机器学习的东西,感觉挺有意思的,不过AI与其它的东西相比要难很多,需要补很多数学知识,不过我现在学的都还是皮毛,没啥深度,但是我会慢慢深入的,对AI的兴趣比较大,年轻人就要不断的折腾嘛,当然自己的老本行也要搞起啦,饭还是要吃的。好像说的有点多了,今天的这篇文章是介绍Andro

2017-09-09 21:35:58 3957

原创 ReactNative ViewPageAndroid组件详解

源码传送门在我们开发Android的时候,ViewPage这个控件的使用频率还是很高的,最简单的就是制作引导页,应用程序的主界面等,在ReactNative开发中实现该功能的组件是ViewPageAndroid,当你看到该组件是以Android结尾,你就明白该组件只对Android平台有效,如果使用就要考虑适配iOS(目前学习到的ScrollView组件可以实现此效果,具体实现不在本篇文章介绍),今

2017-08-20 21:36:47 1435

原创 ReactNative WebView组件详解

源码传送门 在开发Android的时候,一般我们会有一些加载网页的需求,或者执行一些JavaScript,我们都知道在Android中实现这个功能的控件是WebView,在ReactNative中也有实现此类需求额的组件,它的名字也是WebView。那么今天的这篇文章就来详细说说在ReactNative WebView的使用。本文示例效果图属性automaticallyAdjustContent

2017-08-14 00:04:08 10020

原创 ReactNative Image组件详解

源码传送门最近学习ReactNative感觉到挺有意思的,在学习的过程中,发现网上一些人写的文章内容过时了,这主要是ReactNative的版本升级太快,如果你现在看一篇16甚至15年写的文章,把知识点和官方文档对比下,会让你大跌眼镜。所以奉劝各位想学习ReactNative的同学,选择学习资料一定要以官方文档,和官方demo为准,其他资料为辅。Image组件在ReactNative中Image是用

2017-08-06 23:37:37 15986 1

原创 ReactNative组件详解

ReactNative学习记录传送门ReactNative核心思想就是组件化,它基于前端框架React,在我们使用其开发Android和iOS的时候,共用一套组件即一套代码,增加了代码复用性。今天的这篇文章不不分析过多的知识点,主要介绍如下内容:如何进行自定义组件如何使用自定义组件组件的生命周期自定义组件ReactNative中我们实现的UI都是有组件组成的,但是有时候为了实现我们想要的效果

2017-08-02 00:15:53 842

原创 ReactNative初体验

上个月全身心的投入研究了微信小程序,也完整的做了自认为还可以的项目,感觉很有乐趣,也学习到很多前端的一些知识。这个月开始研究ReactNative,说起ReactNative,大家应该都不会陌生,它的口号是’Learn once, write anywhere’,特点就是使用JavaScript 和React构建我们的应用,是一个真实的App(和web App和HTML有本质区别),不需要重新编译

2017-07-30 00:36:41 1413

原创 微信小程序三级联动地址选择器

在一些电商类的小程序中,地址选择这个功能一般是必备的,一般的收货信息都需要有一个能选择省市县的控件,当然也有些人为了省事就直接写了一个供输入的input,那么这样做的缺点不言而喻,而且用户体验也不是那么的好,今天的这篇文章就分享一下微信小程序地址选择的实现。省市县的数据以及区域码可以从国家统计局查询到,具体可以自己搜一下。照例先上源码和效果图源码传送门picker和picker-v

2017-07-11 21:22:31 4159 2

原创 微信小程序分页加载

分页加载功能大家遇到的应该会经常遇到,应用场景也很多,例如微博,QQ,微信朋友圈以及新闻类应用,都会有分页加载的功能,这不仅节省了我们用户的流量,还提升了用户体验。那么今天的这篇文章就是介绍微信小程序中如何实现分页加载的功能。照例先上源码及效果图。源码传送门要实现这样的功能,一般需要在请求数据时加入当前请求页数,以及页的大小(每页显示的数量)也有一部分接口是通过请求的开始偏移量和结束偏移量请求数据,

2017-07-11 00:04:10 29121 5

原创 微信小程序菜单实现

最近一个月都在做微信小程序,作为一个Android开发者,在这一个月很少写Android的代码,真是悲催,好在现在已经完整的把小程序做完了,下周就继续开始我的Android生涯了,现在回过头来写写自己认为比较常见的一些功能的实现,来帮助小程序学习爱好者学习参考。今天的这篇文章是关于微信小程序菜单的实现,话不多说,上图。源码传送门通过效果图,我们看到,窗口最上面是两个菜单按钮,它是固定悬浮在最上面,当

2017-07-09 20:56:52 2830

原创 微信小程序数据处理

微信小程序数据处理 的核心就是js文件 Page 的 data。他是WXML 和js交互的重要桥梁,WXML 页面需要展示的数据都需要被定义在data中,否则就无法在页面进行展示。data中的数据是通过网络请求或者一些逻辑处理进行设置以及初始化的。 data数据的设置有两种方式,例如我们data中的有一个name并且初始化为空data:{ name:'我是初始化的name'}当有多个数据时用

2017-07-02 22:11:35 1485

原创 微信小程序之网络请求简单封装

在微信小程序中实现网络请求相对于Android来说感觉简单很多,我们只需要使用其提供的API就可以解决网络请求问题。 - 普通HTTPS请求(wx.request) - 上传文件(wx.uploadFile) - 下载文件(wx.downloadFile) - WebSocket通信(wx.connectSocket)为了数据安全,微信小程序网络请求只支持https,当然各个参数的含义就不

2017-06-27 08:29:15 6253 1

原创 深入分析setContentView

前言对于Android的开发者来说,setContentView大家再熟悉不过了,在我们的Activity中首先就是要用它加载我们的布局,但是应该有一部分人是不知道加载布局的原理,也包括我,今天就从源码的角度分析setContentView加载布局原理。准备工作由于我们使用的Android API部分源码是隐藏的,当我们在AndroidStudio中是不能找到源码的,我们可以去官网

2017-06-05 08:44:38 2005

原创 当Kotlin遇见RxJava多数据源

温馨提醒阅读本文最好有Kotlin基础,若没有基础,可参考之前文章Kotlin初探,使用Kotlin优雅的开发Android应用,以及RxJava基础(本文基于RxJava2),当然我也会尽可能详细解释让你顺利阅读本文。源码传送门写在前面最近几天回过头,看了之前的总结RxJava操作符系列,感觉对Rxjava多数据源的处理不是很理解,所以在总结学习一波。大家都知道,最近Kotlin语言一直占据热搜榜

2017-05-25 00:43:25 3277

原创 Android动画实现详解

前言我们都知道,漂亮的用户界面是衡量一款应用”好坏”很重要的依据,因为人都是视觉动物,就好比说花容月貌总有男人为之倾倒,英俊潇洒总能博得芳心。这是一个不容置疑的实时,那么我们的应用也是如此,一个漂亮的用户交互界面能提升用户对应用的好感,提升用户体验。那么动画也是提升用户体验的一个重要因素,好的动画交互让人用着更舒心,那么今天的这篇文章就是介绍Android中动画实现,让我们的应用动起来。

2017-05-21 22:10:59 1783 1

原创 使用Kotlin优雅的开发Android应用

代码传送门写在前面在之前的一篇文章,我们简单的知道了Kotlin这门新语言的优势,也接触了一些常见的语法及其简单的使用,相信你会对它有浓厚的兴趣,暂且理解为对它感兴趣吧,哈哈哈。那么,我们该如何在Android中应用这门新的语言呢?今天的这篇文章带你学习使用Kotlin开发Android应用,并对比我们传统语言Java,让你真真切切的感受到他的美和优雅。配置项目gradle文件apply plugi

2017-05-16 23:20:54 14614 24

原创 Kotlin初探

示例源码传送门前言Kotlin是一种在 Java虚拟机上执行的静态型别编程语言,它主要是由俄罗斯圣彼得堡的JetBrains开发团队所发展出来的编程语言。该语言有几个优势 1. 简洁 它大大减少你需要写的样板代码的数量。 2. 安全 避免空指针异常等整个类的错误。 3. 通用 构建服务器端程序、Android 应用程序或者在浏览器中运行的前端程序。 4. 互操作性 通过 1

2017-04-26 17:56:42 6745

原创 Android可绘制对象资源之shape和layer-list使用

11

2017-04-20 22:47:32 4472

原创 Android6.0权限适配

源码传送门前言现在谈论Android权限适配可能有点没必要,因为网上关于权限适配的文章很多,搜一下Android6.0权限适配关键词能搜到一堆文章,而且很多写的还很不错。不过自己想了想还是总结一下,因为那些文章都是别人的,不是自己的,之前一直想总结一下,但是一直没做,今天就简单记录一下,方便以后查阅,也对Android6.0的权限机制再次进行一次全面的认识。 从Android M开始,用户开始在应

2017-04-18 17:58:20 1071

原创 设计模式之代理模式

前言在我们平时的生活中代理的概念很多,大家都知道,谷歌在国内是被禁止访问的,但是如果我们使用VPN就可以访问了。当你想买个新车需要把旧的车卖掉时,一般你不会自己去卖,因为这很耗费自己的时间,所以你会找二手车交易市场,只需要给人家说出你的要求,具体售卖就不需要你来处理。当你想租房,买房或者卖房一般是会去房产中介。又或者你在外卖平台订餐等等。而我们提到的VPN,二手车交易市场,房产中介,外卖平台就充当了

2017-03-09 22:53:10 922

原创 设计模式之观察者模式

前言Observer本来的意思是“观察者”,但是实际上Observer角色并非主动的去观察,而是被动的接收来自观察对象角色的通知,因此,Observer也被成为Publish-Subscribe(发布-订阅)模式。它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。对于观察者模式应用的也很多,例如大

2017-03-08 17:34:30 1352

原创 设计模式之工厂方法模式|抽象工厂模式

工厂方法模式(Factory Method)工厂方法模式(Factory Method)是一种创建型的设计模式,在该模式中父类决定实例的生成方式。但是不决定它要生成的具体的类,具体的处理是交给子类完成的,这样将生成实例的框架和负责生成实例的类解耦。接下来通过一个制作身份证明的IDCard来学习工厂方法模式,照例先来一张类图,对该例程序有大概的认识。类图:产品类Product

2017-03-07 22:18:03 1259 4

原创 设计模式之迭代器模式

迭代器模式(Iterator)用于在数据集合中按照顺序遍历集合,在遍历的同时不需要暴露对象的内部表示,根据不同的需求我们可以采用不同的方式遍历集合,它主要解决三个问题 1、能够遍历一个集合对象。2、我们不需要了解集合对象的内部结构。3、能够提供多种不同的遍历方式。迭代器模式的适用场景迭代器模式是与集合共生共死的,一般来说,我们只要实现一个集合,就需要同时提供这个集合的迭代器,就像java中的Coll

2017-03-04 17:30:05 942

原创 设计模式之单例模式

前言作为一个好学习的程序开发者,应该会去学习优秀的开源框架,当然学习的过程中不免会去阅读源码这也是一个优秀程序员的必备素养,当然学习的过程中很多人会遇到的障碍,那就是设计模式。很多优秀的框架会运用设计模式来达到事半功倍的效果。鉴于自己之前对设计模式的生疏,在阅读源码时遇到设计模式的巧妙运用理解比较吃力。最近搞了一本新书 《图解设计模式》(目测讲的很基础)开始学习设计模式,对今后学习源码打下坚

2017-02-28 23:59:06 1233 3

原创 RecyclerView实现滑动删除和拖拽功能

前言从Android 5.0开始,谷歌推出了新的控件RecyclerView,相对于早它之前的ListView,优点多多,功能强大,也给我们的开发着提供了极大的便利,今天自己学习一下RecyclerView轻松实现滑动删除拖拽的效果,如下图。相信研究过RecyclerView的同学,应该很清楚该怎么实现这样的效果,若是用ListView,这样的效果实现起来可能就有点麻烦,但是在强大的R

2017-02-23 22:58:09 2657 4

原创 AndroidStudio Duplicate files copied in APK错误解决方案

在AndroidStudio使用中,很多人会遇到Duplicate files copied in APK 这种错误,导致程序不能编译或者不能打包。出现这种原因就是在编译或者打包阶段出现文件重复的问题,其实解决这些问题很简单,我们只需要根据错误提示增加在gradle文件配置packagingOptions配置。 在之前eclipse项目时使用apache-mime4j-0.6.jar和httpmi

2017-02-06 23:02:45 5242

原创 从登陆界面学习TextInputLayout

前言源码传送门在 Material Design出现之前,如果我们想写一个登陆界面是不是一般都写两组TextView,EditText及一个Button,如果你想在账号和密码后面加一个计数的功能,又需要加控件并且要自己实现计数,或者在密码框后面加个类似眼睛的密码显示开关,或者你想加一个账号或者密码输入无效或者错误的提醒,一般是显示一个Toast或者使用EditText的setError设置,不过体验

2017-01-15 17:37:26 3053 1

原创 致敬我奋起直追的2016

前言其实当用奋起直追这个词语形容我的2016时,自己一度怀疑是不是配得上这个词语。虽然2016成长了不少,但是依然没有达到我想要的效果。在学习过程中不断出现越学越倒退的感觉。还偶尔会出现一些恐惧感。不过庆幸的是,自己没有被那些恐惧打倒以至于停滞不前。关于工作对于工作我想用平淡而不平凡,处变不惊来形容。今年我一直在一年公司工作,这也是我的第一份工作。从15年毕业后入职的小白慢慢的成长,进

2017-01-07 23:35:22 4883 13

原创 RxJava操作符系列六

RxJava操作符系列传送门RxJava操作符源码 RxJava操作符系列一 RxJava操作符系列二 RxJava操作符系列三 RxJava操作符系列四 RxJava操作符系列五 前言在上几篇文章我们介绍了一些RxJava创建,转换,过滤,组合,辅助的一些操作符,今天我们继续去学习RxJava的一些条件和布尔操作符,在此感谢那些阅读文章并提出建议的同

2016-12-19 20:34:11 2028

原创 RxJava操作符系列五

RxJava操作符系列传送门RxJava操作符源码 RxJava操作符系列一 RxJava操作符系列二 RxJava操作符系列三 RxJava操作符系列四

2016-12-18 00:20:12 2438

原创 RxJava操作符系列四

RxJava操作符系列传送门RxJava操作符源码 RxJava操作符系列一 RxJava操作符系列二 RxJava操作符系列三 前言在上一篇文章我们主要介绍的是RxJava的一些过滤操作符,若将过滤操作和转换操作一起使用,能处理复杂的的业务逻辑,在文章中所举的例子都是都是很简单的逻辑,简单的让人感觉这样写没必要,当然这这是为了便于理解操作符的含义,只有理解了这些基础上我们才能做

2016-12-15 17:30:03 1397

原创 RxJava操作符系列三

RxJava操作符系列传送门RxJava操作符源码 RxJava操作符系列一 RxJava操作符系列二 前言在之前的文章,我们介绍了一些Observable的创建以及数据转换的操作符,其中的一些数据转换的操作符理解还是有一定的难度的,但是相信如果敲一遍代码并且修改各种参数的值,去观察执行的日志,相信还是很容易的理解的。在官网,每个操作符都给出了图例,如果你对文字的理解不够清楚明白,也可以

2016-12-14 21:54:40 2704

原创 RxJava操作符系列二

RxJava操作符源码传送门在上篇文章RxJava操作符系列一我们介绍的操作符几乎都是创建被观察者的操作符,那么今天的这篇文章就介绍一下经常用到的转换操作符。话不多说,开始上车。Map该操作符是对原始Observable发射的每一项数据运用一个函数,然后返回一个发射这些结果的Observable。例如我们有一个整形数组的数据,当大于5时输出为true,则代码实现Intege

2016-12-13 17:11:27 1676 1

原创 RxJava操作符系列一

今天的这篇文章不会介绍过深的东西。

2016-12-12 21:08:30 2901 1

原创 从零开始学习Linux部署Java web项目

前言最近越来越发现需要学习的东西太多了,前几天公司服务器出现问题,需要对服务器硬件进行维护,当然服务器上的服务需要部署到另一个服务器上。这对于我来说是很陌生的,虽然这件工作没有让我去做,但是还是很好奇web项目是如何部署到服务器的。其实很早之前就想学这学习这些,但是一直没有行动。所以趁着这股兴奋劲,就决定去学习一下,并做此次总结。准备工作虚拟机 : VMware10 ja

2016-12-07 16:34:41 17948 9

原创 Java利器之UML类图详解

前言 UML(Unified Modeling Language)中文统一建模语言,是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。 【维基百科】最近看一些开源项目的时候,

2016-12-05 21:10:52 32062 11

原创 实现APP定位功能

前言最近更新项目中用的百度定位SDK时遇见了一个奇葩的问题。当升级SDK后百度定位一直返回505,通过百度定位官网查看该码表示AK非法或者不存在。很纠结,于是自己又写了一个demo来研究一下百度定位以及大家使用百度定位经常出现的问题,特此记录。这篇文章我先将百度定位的实现也介绍一下,最后再分析遇到的问题及解决方案。定位分析目前百度定位提供了WIFI,基站,GPS等多种定位方式,适用于室

2016-11-27 22:29:04 32764 2

原创 Android大文件上传秒传之实战篇

源码传送门在上一篇文章我们介绍了获取大文件的一个唯一的特征值MD5,通过MD5我们可以唯一的标识一个文件,并可以实现秒传效果,今天的这篇文章主要介绍大文件的上传操作,当然谈到上传文件,网络是必不可少的,现在也有很多较为流行的网络框架,如volley,OkHttp,Retrofit。而今天的这篇文章是采用最原始的上传文件的方法,通过HttpClient上传文件的方式。HttpClient API在AP

2016-11-18 22:37:35 14512 4

原创 Android大文件上传秒传之MD5篇

前言现在越来越多的应用开始有上传大文件的需求,以及秒传,续传功能。由于最近学习大文件分隔上传,以及秒传的实现,给予分享的这种精神,我想将自己的学习过程,以及遇到的问题做一个总结,希望对有这方面需求的小伙伴有一定的帮助。源码传送门分析说到大文件上传,我们可能首先会想的一些网盘App,这些优秀的网盘除了上传大文件外,还可以实现秒传以及断点续传功能。说起断点续传也就明白了文章题目所说的大文件分片,由于网络

2016-11-09 21:47:17 5851 3

原创 高仿QQ微信小程序,我趟过的坑

重点内容

2016-10-04 22:47:39 16801 7

GIF录制工具

Gif录制工具LICEcap

2017-07-21

MPAndroid图表源码及AS项目及eclipse jar包.rar

MPAndroidChart是一款基于Android的开源图表库,MPAndroidChart不仅可以在Android设备上绘制各种统计图表,而且可以对图表进行拖动和缩放操作,应用起来非常灵活。MPAndroidChart显得更为轻巧和简单

2016-06-23

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

TA关注的人

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