- 博客(101)
- 资源 (5)
- 收藏
- 关注
原创 Android组件化基础
原文首发于微信公众号:躬行之(jzman-blog),欢迎关注交流!当 App 项目复杂一定的程度,将项目组件化是必不可少的,组件化可以更好的进行功能的划分,提到组件化有人可能会想到模块化,其实组件化和模块化的本质是一样的,都是为了代码重用的业务解耦,模块化主要按照业务划分,而组件化主要按照功能划分,从组件化最基础的几个方面打开组件化的大门。组件之间的跳转动态创建资源冲突静态常量...
2019-12-22 23:34:34
369
原创 如何正确编译ijkplayer
原文首发于微信公众号:躬行之(jzman-blog),欢迎关注交流!最近项目中可能需要视频播放,而且后期还可能要支持播放 rtsp 协议的视频,权衡了一下还是通过编译 B 站开源的 ijkplayer 吧,ijkplayer 是一个基于 ffmpeg 的轻量级的可在 Android 和 Ios 上使用的跨平台播放器,可以通过编译来实现更多格式的支持,可以说只要是 ffmpeg 支持的格式...
2019-12-17 21:59:45
415
原创 如何上传Android库项目的到JCenter
原文首发于微信公众号:躬行之(jzman-blog),欢迎关注交流!上篇文章实现了一个日期时间选择器,github 地址如下:https://github.com/jzmanu/MDatePickerSample直接使用 gradle 依赖即可:compile 'com.manu:MDatePicker:1.0.0'也可以查看上篇文章的详细介绍或在文末点击阅读原文查看,这里顺便将...
2019-12-11 23:41:49
269
原创 onTouch和onClick 的那些事儿
原文首发于微信公众号:躬行之(jzman-blog),欢迎关注交流!事件的分发流程可以说基本上已经阐述清楚,在阅读本篇文章之前,请先阅读下面几篇文章:Android 事件分发之基础Android事件分发之源码分析Android事件分发之流程分析还有一个问题是 Android 事件传递过程中 onTouch 和 onClick 事件在整个事件过程中是如何进行事件传递的,下面主要是关...
2019-12-04 21:48:14
417
原创 Android事件分发之流程分析
原文首发于微信公众号:躬行之(jzman-blog),欢迎关注交流!上篇文章中主要针对 Activity、ViewGroup 以及 View 中的相关事件方法进行了基本概述,下面主要以案例的方式对 Android 中的事件传递进行归纳。默认的事件分发流程事件分发事件处理事件拦截总结阅读本篇文章之前请先阅读:Android 事件分发之基础Android事件分发之源码分析...
2019-12-01 22:41:43
226
原创 Android事件分发之源码分析
原文首发于微信公众号:躬行之(jzman-blog),欢迎关注交流!上篇文章中叙述了 Android 事件分发的大致流程,下面从 Activity、ViewGroup、View 三个方面介绍事件的相关方法,小节如下:ActivityViewGroupView阅读本篇文章之前请先阅读:Android 事件分发之基础ActivityActivity中主要两个与事件传递相关...
2019-11-24 18:04:00
355
原创 Android事件分发基础
原文首发于微信公众号:躬行之(jzman-blog),欢迎关注交流!Android 事件分发机制是比较重要的一块内容,总结一下 Android 事件分发的一些知识,计划分为四篇文章来写,内容如下:本篇是第一篇,希望从整体流程上叙述一下大致的分发过程,使读者能够对事件分发有个初步的了解,内容如下:View 与 ViewGroupMotionEvent 对象View 的事件分发V...
2019-11-10 22:26:22
176
原创 RxJava2系列之转换型操作符
原文首发于微信公众号:躬行之(jzman-blog),欢迎关注交流!buffer 操作符window操作符map操作符groupBy操作符cast操作符scan操作符To操作符buffer 操作符buffer 操作符重载方法比较多,这里选取典型的几个来说明 buffer 操作符的使用,buffer 操作符的使用可以分为如下三类,具体如下://第一类public fin...
2019-10-30 23:45:17
345
原创 RxJava2系列之创建型操作符
原文首发于微信公众号:jzman-blog,欢迎关注交流!RxJava 是 ReactiveX 在 Java 上的开源的实现,一个用于通过使用可观察序列来进行异步编程和基于事件的程序的库,这是官网的介绍,主要关注点是异步编程和链式调用以及事件序列。引入RxJava概念基本实现Just操作符from操作符defer操作符empty操作符never操作符timer操作符in...
2019-10-22 23:35:32
326
原创 微信小程序之Flex容器详解
原文首发于微信公众号:jzman-blog,欢迎关注交流!Flex 是 W3C 提出的一种新的布局方案,可以非常方便的完成响应式页面布局,到目前为止几乎所有浏览器都支持,Flex 是 Flexible Box 的缩写,翻译过来是"弹性布局"的意思,下面一起来学习 Flex 布局的使用。基础概念flex容器属性flex项目属性总结基础概念采用 Flex 布局的元素称为 Flex...
2019-10-13 23:34:30
514
原创 微信小程序之初始篇
原文首发于微信公众号:jzman-blog,欢迎关注交流!微信官方团队对小程序的定义是一种全新的连接用户和服务的方式,当然微信小程序的出现更多的是巩固微信社交老大的地位,微信小程序之后诞生的支付宝小程序、快应用以及最近出现的百度智能小程序、头条小程序等,可见小程序设计出一套模板不是很难,巨头们都在抢占小程序风口,争取能在小程序的裂变效应下为自身赋能,不扯了,如果有时间还是学习一下小程序开发吧...
2019-10-10 23:17:27
775
原创 设计模式之策略设计模式
原文首发于微信公众号:jzman-blog,欢迎关注交流!策略模式对应于解决某个问题的算法集合,允许用户从这些算法集合中选择合适的算法,可以根据具体的业务需求,在不修改原有代码的基础上增加新的算法策略,这样不仅实现了算法或业务独立,而且可以做到统一切换、统一调用。相关概念抽象策略角色:一般使用接口来统一定义策略方法;具体策略角色:封装具体的策略算法;环境角色:完成策略算法的统一对外...
2019-10-07 22:47:16
141
原创 设计模式之代理设计模式
原文首发于微信公众号:jzman-blog,欢迎关注交流!今天来看一下什么是代理设计模式,顾名思义,代理就是通过中介代替某人做某一件事,对应到我们的程序中就是通过代理对象来控制某个具体对象某个方法的访问,在该方法之前和之后可以做一些额外处理。概念理解静态代理动态代理概念理解抽象角色:用于定义真实角色和代理角色共有的方法。真实角色:真实角色要实现的具体业务逻辑以供代理角色调用...
2019-09-27 00:05:27
144
原创 Android 8.0自适应图标
原文首发于微信公众号:jzman-blog,欢迎关注交流!Android 8.0 引入了自适应应用启动图标,可在不同的设备中显示不同的图标,如自适应图标可以在一台设备上显示为圆形,在另一台设备上显示为方形,每个 OEM 厂商都会提供一个 mask,系统会自动将自适应图标渲染成相同的形状,自适应图标也可以使用到设置、分享等想保持统一图标风格的位置。自适应图标支持的 mask 因不同设备而不同...
2019-09-25 22:47:51
1717
原创 Android 7.0应用之间共享文件
原文首发于微信公众号:jzman-blog,欢迎关注交流!开发中经常需要将某个文件向另一个应用程序传递,如图片上传到另一个应用程序、文件在不同存储路径之间的复制粘贴等都需要共享文件,可以这样理解接收文件的应用是在向提供文件的应用发送请求。从 Android 7.0 开始,Android 执行 StrictMode 策略,禁止在应用外部公开 file://URL,如果在 Android 7....
2019-09-23 22:24:27
571
原创 Android动画系列之属性动画
原文首发于微信公众号:jzman-blog,欢迎关注交流!属性动画相较帧动画和补间动画更强大,帧动画和补间动画只能应用于 View 及其子类,而属性动画可以修改任何对象的属性值,属性值可在指定的一段时间内自动改变,根据对象属性值的变化进而实现更复杂的动画。属性动画的常用设置ValueAnimatorObjectAnimator关键帧插值器和估值器属性动画的常用设置下面是属性...
2019-09-21 22:56:41
168
原创 Android动画系列之帧动画和补间动画
原文首发于微信公众号:jzman-blog,欢迎关注交流!Android 提供三种动画:帧动画、补间动画和属性动画,本篇文章介绍帧动画以及补间动画的使用,属性动画的使用将在后面的文章中分享,那就来复习一下这两种动画的使用吧。FrameAnimationFrameAnimation 即逐帧动画,通俗来说就是按照图片动作顺序依次播放来形成动画,创建 FrameAnimation 可用 xml...
2019-09-19 00:21:22
275
原创 Android如何使用注解进行代码检查
原文首发于微信公众号:jzman-blog,欢迎关注交流!Android Studio 内置了代码检查工具 Lint,可在菜单栏选择 Analyze > Inspect Code 执行相应的代码检查,代码检查能够根据推断一些不合法的潜在问题,有助于在开发阶段发现开发者因为主管原因导致的一下代码问题,Android 官方提供了注解库 support-annotations 来帮助开发者...
2019-06-20 23:47:08
1531
原创 Gradle系列之从零搭建Maven私服库
前面几篇文章学习了 Gradle 相关知识,今天的内容是使用 Nexus Repository Manager 搭建 Maven 私服库,这样可以将一些通用的库项目提取出来供其他项目使用,如工具库、基本组件库等,下面将从零开始搭建 Maven 私服库,安装Nexus服务运行Nexus服务发布库项目使用库项目总结安装Nexus服务在如下地址下载 Nexus 安装包:http://...
2019-06-12 00:09:08
1180
原创 Gradle系列之Android Gradle高级配置
本篇文章主要在之前学习的基础上,从实际开发的角度学习如何对 Android Gradle 来进行自定义以满足不同的开发需求,下面是 Gradle 系列的几篇文章:下面是主要内容:修改生成的Apk文件名版本信息统一管理隐藏签名文件信息动态配置AndroidManifest文件自定义BuildConfig动态添加自定义资源Java编译选项adb操作选项配置DEX选项配置自动起立...
2019-05-30 01:06:19
805
原创 Gradle系列之Android Gradle基础配置
通过前面几篇文章学习了 Gradle 基础知识以及 Gradle 插件相关的知识,关于 Gradle 及其插件相关知识请先阅读下面几篇文章:Gradle系列之初识GradleGradle之Groovy基础篇Gradle系列之构建脚本基础Gradle系列之Gradle插件Gradle系列之Java Gradle插件Gradle系列之Android Gradle插件上篇文章了解了 A...
2019-05-23 01:06:29
305
原创 Gradle系列之Android Gradle插件
通过前面几篇文章学习了 Gradle 基础知识以及 Gradle 插件相关的知识,关于 Gradle 及其插件相关知识请先阅读下面几篇文章:Gradle系列之初识GradleGradle之Groovy基础篇Gradle系列之构建脚本基础Gradle系列之Gradle插件Gradle系列之Java Gradle插件学习 Gradle 的目的主要是为了更好的在 Android 开发中使...
2019-05-17 00:41:49
750
原创 Gradle系列之Java Gradle插件
阅读本文之前可以先阅读前面几篇文章以方便理解:Gradle系列之初识GradleGradle之Groovy基础篇Gradle系列之构建脚本基础Gradle系列之Gradle插件上篇文章中了解了 Gradle 插件相关知识以及如何自定义一个 Gradle 插件,本篇文章主要来学习 Java Gradle 插件相关的知识,因为 Java Gradle 插件相关的内容也是 Android ...
2019-05-13 22:50:09
2045
1
原创 Gradle系列之Gradle插件
阅读本文之前可以先阅读同系列文章:Gradle系列之初识GradleGradle之Groovy基础篇Gradle系列之构建脚本基础Gradle系列之认识Gradle任务Gradle 内置了很多常用的插件,Gradle 中的插件可在一定的场景中可以帮助我们提高开发效率,可以通过扩展现有的插件来实现更多功能,比如 Android Gradle 插件就是基于内置的 Java 插件来实现的。...
2019-05-13 00:02:49
734
原创 Gradle系列之认识Gradle任务
阅读本文之前可以先阅读同系列文章:Gradle系列之初识GradleGradle之Groovy基础篇Gradle系列之构建脚本基础Gradle 的构建工作是有一系列的 Task 来完成的,接着上篇学习了 Gradle 构建任务的基础知识,了解了 Project 和 Task 这两个概念,本文将针对 Task 进行详细介绍,本文主要内容如下:多种方式创建任务多种方式访问任务任务分...
2019-05-10 23:00:16
395
原创 Gradle系列之构建脚本基础
阅读本文之前可以先阅读同系列文章:Gradle系列之初识GradleGradle之Groovy基础篇本文将对 Gradle 整体进行了介绍和学习,了解了 Task、Project 等相关概念以及对使用 Gradle 来构建项目的一些常用操作,主要内容如下:Setting 文件Build 文件Project 和 Tasks任务的创建任务依赖任务间的交互自定义属性总结S...
2019-05-10 00:55:24
395
原创 Gradle系列之Groovy基础篇
原文发于微信公众号 jzman-blog,欢迎关注交流。上一篇学习了 Gradle 的入门知识,Gradle 基于 Groovy,今天学习一下 Groovy 的基础知识,Groovy 是基于 JVM 虚拟机的一种动态语言,语法与 Java 语法类似,Groovy 完全兼容 Java,每个 Gradle 文件都是一个 Groovy 脚本文件,Gradle 文件基于 Groovy 语法,而 Gr...
2019-05-05 00:28:31
972
原创 Gradle系列之初识Gradle
原文发于微信公众号jzman-blog,欢迎关注交流。学习 Android 有一段时间了,开发中经常使用到 Gradle ,但是不知道 Gradle 构建项目的原理,计划花一点时间学习一下 Gradle 相关的知识。Gradle 是一个非常优秀的项目构建工具,其 DSL(领域特定语言)基于 Groovy 实现,大部分功能通过插件的方式来实现,也可以自定义 Gradle 插件,下面开始入门 G...
2019-04-21 23:22:09
1699
原创 Bitmap之内存缓存和磁盘缓存详解
原文首发于微信公众号:jzman-blog,欢迎关注交流!Android 中缓存的使用比较普遍,使用相应的缓存策略可以减少流量的消耗,也可以在一定程度上提高应用的性能,如加载网络图片的情况,不应该每次都从网络上加载图片,应该将其缓存到内存和磁盘中,下次直接从内存或磁盘中获取,缓存策略一般使用 LRU(Least Recently Used) 算法,即最近最少使用算法,下面将从内存缓存和磁盘缓...
2019-03-20 23:46:07
851
原创 Bitmap之位图采样和内存计算详解
Android 开发中经常考虑的一个问题就是 OOM(Out Of Memory),也就是内存溢出,一方面大量加载图片时有可能出现 OOM, 通过采样压缩图片可避免 OOM,另一方面,如一张 1024 x 768 像素的图像被缩略显示在 128 x 96 的 ImageView 中,这种做法显然是不值得的,可通过采样加载一个合适的缩小版本到内存中,以减小内存的消耗,Bitmap 的优化主要有两个方...
2019-03-01 00:09:01
931
原创 WebView中Java与JavaScript的交互
Android 开发过程中 WebView 的使用比较广泛,常用来加载网页,比如使用 WebView 加载新闻页面、使用 WebView 打开本应用的链接以及用 WebView 显示支付信息页面等,那么如何 Android 开发中如何与 WebView 中的内容进行交互呢,这种交互主要就是 Java 与 JavaScript 之间的互相调用。下面实现一下如何响应 WebView 中图片的点击事件。...
2019-01-10 23:26:20
1002
1
原创 WebView的基本使用及相关特性
WebView 是一个显示网页内容的组件,可以显示网络上的一些在线内容并且可以作为 Web 浏览器滚动显示的内容,它使用 WebKit作为渲染引擎来显示网页,里面包括放大、缩小、执行文本搜索等进行前后导航的方法。注意 :如果要在 WebView 中显示在线网页等内容时,需要在 AndroidManifest.xml 文件中添加网络权限,参考如下:<uses-permission andr...
2018-12-18 23:52:33
504
原创 Java系列之内部类
今天温习一下 Java 中的内部类,内部类一般有如下几种:静态内部类、成员内部类、匿名内部类和方法内部类,下文中将主要介绍静态内部类和成员内部类,主要内容如下:概述静态内部类成员内部类匿名内部类和方法内部类总结概述顾名思义内部类就是在一个类内部定义的类,它是内部类是一个独立的类,编译之后会生成独立的 .class 文件,其名称前面会有外部类的类名称以及 $ 符号,内部类同样可以使...
2018-12-09 22:43:18
204
原创 Java系列之泛型
自从 JDK 1.5 提供了泛型概念,泛型使得开发者可以定义较为安全的类型,不至于强制类型转化时出现类型转化异常,在没有反省之前,可以通过 Object 来完成不同类型数据之间的操作,但是强制类型转换(向下转型)在不确定具体类型的情况下会出错,泛型机制的引入就是解决数据类型不明确 的问题。定义泛型类定义一个泛型类,语法如下://定义泛型类class 类名&lt;T&gt;{ }...
2018-11-19 13:59:48
222
原创 封装一个通用的PopupWindow
上篇文章是关于建造者设计模式的,今天顺便封装一个通用的 PopupWindow 来实践一下, 同时也方便以后使用 PopupWindow,本文将从下面几个方面来介绍 PopupWindow 及其封装,具体如下:概述常用方法基本使用封装 PopupWindow使用封装后的PopupWindow显示效果概述PopupWindow 表示一个弹窗,类似于 AlertDialog,相较 ...
2018-10-17 19:27:38
385
原创 设计模式之建造者设计模式
这是设计模式系列的第二篇——建造者设计模式,我希望推送的文章是一个系列的,尽量保持一样的写作风格,尽量把我理解的阐述清楚,关于建造者设计模式主要从以下几个方面来学习,具体如下:概述本质关键概念具体实现总结概述建造者设计模式(Builder Pattern)属于创建型设计模式,主要用于创建复杂的对象,可将复杂对象的构建过程抽象出来,通过不同实现的构建者和装配者最终组装出不同的对象,...
2018-09-19 23:05:20
241
原创 Mob之社会化分享集成ShareSDK
接着上篇顺便分享一篇自己使用 ShareSDK 的笔记,上篇我们集成了 SMSSDK 完成了短信接收验证码的功能,请参考Mob 之 短信验证集成 SMSSDK,如何在项目已经集成 SMSSDK 的情况下集成 ShareSDk 到项目中,上一篇中我们集成 SMSSDK 使用的是导入 jar 包的形式,这里我们使用创建 module 的方式引入 ShareSDk,主要内容如下:下载ShareSD...
2018-09-10 22:25:07
562
原创 Mob之短信验证集成SMSSDK
开相关发中总会遇到短信验证这些操作,这周没有来得及写新的东西,借此分享一篇以前学习短信验证的笔记,本文使用的是 Mob 提供的 SMSSDK .下载 SMSSDK官网下载地址:SMSSDK集成 SMSSDK将 MobCommons.jar、MobTools.jar、SMSSDK-2.0.1.aar、SMSSDKGUI-2.0.1.aar 放到了app 的 libs 目...
2018-08-28 00:07:51
815
1
原创 天地图之添加覆盖物
最近多少还是会有一点焦虑,其实很大一部分原因是考虑的比较多罢了,适当的放弃一些东西,一切就会变的明朗起来。接着上一篇继续来学习天地图 Android SDK ,地图开发中除了常见的定位需求,还有就是覆盖物的添加,比如最近的项目是有关风险管控的,在地图上就要显示对应的风险点,下面的今天的内容:单个覆盖物多个覆盖物集合覆盖物文字覆盖物总结测试效果单个覆盖物这里...
2018-08-22 00:13:05
5199
原创 天地图之定位信息详解
最近的项目涉及到百度地图的使用,项目组通知使用天地图替代百度地图,一个原因是天地图是国家测绘地理信息局建设的,企业可以使用其公众版本进行开发以提供相关的地图信息服务,较其他地图具有权威性,当然天地图提供的服务是否较其他地图更具有权威性和实时性,这个作为普通开发者是不能确定的,另一个原因是减少运用成本,我觉得是否真能达到这样的目标真不一定,毕竟商业地图输出能力还是较免费版本更强。还是先来开始天地图 ...
2018-08-15 00:23:32
10914
6
支付宝官方Demo(亲测)
2017-09-11
录音文件amr转MP3
2018-02-09
Android使用Mina与服务器通信Demo(包括服务端)
2017-09-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅